私のホストのポート1000(IP: 200.234.XXX.XXX)へのすべての着信接続を、ホスト10.211.55.5のポート80に転送したいと思います
私のホストではどうすればいいのでしょうか?Mac OS X 10.5.8を実行しています
42 Daniel Cukier 2009-08-27
やり方は非常に簡単です。まず、お使いの 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
34 Marius 2011-02-02
汎用性の高いツール ncat を使用して非常に簡単です
sudo ncat --sh-exec "ncat 10.211.55.5 80" -l 1000 --keep-open
ncat/nmap for Mac OS Xのバイナリを公式サイトから入手。http://nmap.org/download.html#macosx
EDIT: 制限されたポート<1024で聞くためにsudoを追加しました
15 Tony Baguette 2014-11-18
あなたがUPnPルータを持っていると仮定すると、PortMapを使用してポートを設定するのは簡単です
非常にシンプルなUIになっています
6 Alexis Hirst 2009-09-13
まあ、Mac OS X 10.5.8のシステムでそういうことをしているのはわかる
私はNATについての回答を始めましたが、実際にはTCPフォワーダプログラムが必要だと思います(「プロキシ」とポートフォワーディングについて言及しています)
これを行うにはいくつかの方法がありますが、あなたのニーズに応じて ‘SSH’ を使ってアクションを起こすこともできます
HTTP の操作が必要な場合 (最後に ‘/’ のない URL へのリクエストが来たときに、アクセスできない本当のサーバにリダイレクトされないように、 HTTP のリダイレクトを微調整する必要があるかもしれません)、Apache はリバースプロキシの仕事をすることができます。mod_proxy と、特に ProxyPass と ProxyPassReverse を見てください。ProxyRequests は有効にしないでください。Mac OS 自体の Apache を実行していれば、これを行うことは可能なはずです。mod_proxy が付属していて、/etc/httpd/httpd.conf が更新する設定ファイルになっています
Apache を使っていても、実際のサーバのコンテンツのリンクが相対的なものであることを確認する必要があります。もしそれらが実際のサーバを参照しているのであれば、mod_proxy_html モジュールを試してみてください (これがどの程度うまく動作するかの経験はありません)
3 jrg 2009-08-30
お使いのマシンはインターネットに直接接続されていますか?通常はルーターでポートフォワーディングを行いますが、モデムを使って直接接続する場合はiptablesが一番良いでしょう
0 Dentrasi 2009-08-27
ここに良い記事があります。http://www.cyberhq.nl/article/384/port-forwarding-in-macos-x
しかし、あなたは80に転送しているので、私はあなたがそれをウェブサーバーに行きたいと仮定していますので、私は単にウェブサーバーの設定を変更してリバースプロキシか何かを設定すると思います
-1 None 2009-08-27