>>673-674
C$ ssh -L 10023:A:10022 A
これがまずいのだと思います。
マシンAから見ると「グローバルアドレスを持っているモデム」の10022/tcpに転送するということです。
そのモデムは内側からモデムの持っているグローバルアドレスでアクセスされた場合は、
静的IPマスカレードで内側に転送したりしないのでしょう。

C$ ssh -L 10023:localhost:10022 A
とすればうまくいくと思います。

また
B$ ssh -R 10022:localhost:22 A
のように、ループバックアドレスのみをlistenする場合は、GatewayPortsオプションで許可しなくてもいいみたいです。
http://www.unixuser.org/~euske/doc/openssh/jman/ssh.html