Macに、あるポートでトラフィックを受信させて、別のローカルポートにトラフィックを送信させる必要があります。
つまりトラフィックはポート1234から入り、ポート5900(vnc)に転送されます。
これは、発信元ポートと宛先ポートが異なるポートフォワードをルーターが設定できず、複数のマシンに接続する必要があるためです。
たとえば、私のルーターでは、ポート1234-> 192.168.0.2:1234ポート1235-> 192.168.0.3:1235ポート1236-> 192.168.0.4:1236を設定しました。
次に、Macが着信ポートを取得してローカルポート5900に送信する必要があります
ローカルSSHトンネルが最も簡単な解決策ではないかと思いますが、1234
を5900
に転送するには:
ssh -g -L 1234:localhost:5900 localhost
-g
は、リモートホストがローカルポート1234
に接続できるようにするために必要です。
これをバックグラウンドで実行するには:
ssh -Nfg -L 1234:localhost:5900 localhost
LocalForward 1234 localhost:5900
のように、 SSH構成ファイル にオプションを含めることができます。
画面共有が実行されていないときにこれをテストするには、組み込みのPython Webサーバー:python -m SimpleHTTPServer 5900
を実行し、ブラウザーでhttp://localhost:1234
を指定します。
Mac OS Xでのポートフォワーディング に関するこの記事には答えがあるようです。
最後に提供する例を次に示します。
次の例では、インバウンド443トラフィックをローカルホスト(127.0.0.1)ポート4282で実行されているPROサーバーに転送します。
Sudo ipfw add 1443 forward 127.0.0.1,4282 ip from any to any 443 in