もしかしたらプログラムの問題ではないかもしれませんが、
切り分けのために質問させてください。

クライアント/サーバアプリケーションを作っていて、
LAN内(同一サブネット)での通信までは出来ました。
これをインターネット経由で通信させることが出来ず四苦八苦してます。

そもそも出来るのかどうかも判っていないのですが、
もし可能だとしたら、どのようにすれば良いでしょうか?

TcpListenerクラスとTcpClientクラスを使用していて、TcpClient.Connect()メソッドのところで
『接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。
または接続済みのホストが応答しなかったため、確立された接続は失敗しました。』
のエラーが出ます。
サーバ側はTcpListener.AcceptTcpClient()で待ったままです。

サーバ側ネットワークのルータのログには
『TCP connection accepted from xxx.xxx.xxx.xxx:wwwww to yyy.yyy.yyy.yyy:zzzzzz (eth1)』
というログが出ているので、サーバ側ネットワークのルータまでは来ているように思えるのですが。

環境の問題でしょうか?