任意のアドレスポート22へのすべての接続を別のゲートウェイに転送する必要があります(つまり、デフォルトなし)。まず、私はipfwでそれを行うと思います:
sudo ipfw add 5 fwd $EXTERNAL_IP,22 tcp from any to any 22 keep-state
しかし、Mac OS X Lionでは機能しないようです。とにかく、ipfwのドキュメントを見ると非推奨であり、pfctlを使用する必要があります。
だから私は/etc/pf.conf
ファイルを変更しました:
rdr proto tcp from $internal_ip to any port 22 -> $external_ip port 22
しかし運がありません。
ローカルアプリケーションによって生成されたすべての接続を、ポート22以外のアドレスに別のゲートウェイ/ IPアドレスに変換または転送する方法を知っている人はいますか?
更新
Jakeの提案に従って、宛先IPのみを指定しようとしたので、rdrルールをmac os x構文に変換しました。
rdr proto tcp from any to any port 22 -> $external_ip port 22
この場合でも、期待した結果が得られませんでした。つまり、sshを介してサーバーに接続できますが、デフォルトゲートウェイを介して接続できます。
あなたはそれを理解しましたか?私は自分でlocalhostと外部サービスの間にlocalhostの透過プロキシを挿入しようとしていますが、うまくいきません。私の推測では、OS Xはこの面でWindowsに加わったばかりです。システムファイアウォールレベルでのNATサポートはもうありませんが、それができることを願っています。
—
foxx1337 2012
いいえ、私は放棄してLinuxをオンにしました。
—
freedev 2012
実際、私が実際に行ったこと。アップデートありがとう
—
foxx1337