私のホスト(IP: 200.234.XXX.XXX)のポート1000へのすべての着信接続を、ホスト10.211.55.5のポート80に転送するようにしたい。
私のホストではどうすればよいですか? Mac OS X 10.5.8 を実行しています
答え1
やり方は非常に簡単です。まず、Macでリモートログインサービスを有効にする必要があります(システム環境設定->共有->リモートログイン)。これにより、ssh サーバーが起動します。
次に、OS X ターミナルで次のコマンドを実行します。
ssh -L 200.234.XXX.XXX:10000:10.211.55.5:80 -N 127.0.0.1
最初にサーバーのフィンガープリントを受け入れ、SSH ログイン用のローカル パスワードを入力する必要がある場合があります。(ローカルからローカルへの ssh 公開 / 秘密キーを設定して、パスワードを要求されないようにすることもできますが、これは読者の課題として残しておきます。)
形式は次のとおりです。
ssh -L local_addr:local_port:remote_addr:remote_port -N 127.0.0.1
答え2
多目的ツール ncat を使用すると非常に簡単です。
sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open
Mac OS X 用の ncat/nmap のバイナリを公式 Web サイトから入手します。 http://nmap.org/download.html#macosx
編集: 制限されたポート <1024 で listen するための sudo を追加しました
答え3
UPnPルーターをお持ちの場合は、次の方法でポートを簡単に設定できます。ポートマップ
非常にシンプルなUIを備えています。
答え4
もしまだ興味があれば、macOS でポート転送するためのアプリを開発しました。こちらから確認できます:
https://github.com/hronro/iPortForwarder
システムのファイアウォールを変更することなく、単一のポートまたはポート範囲を簡単に転送できます。