Mac OS X Lion-ポート22のすべての接続を外部IPに転送します[終了]


8

任意のアドレスポート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

2
いいえ、私は放棄してLinuxをオンにしました。
freedev 2012

実際、私が実際に行ったこと。アップデートありがとう
foxx1337

回答:


0
rdr pass on $internal_ip inet proto tcp from any to any port 22

決して専門家ではなく、それでうまくいくと思います。関係者の長い私はiptablesの以外のものを使用してからの時間:)


一時的に助けてくれたJakeに感謝します。残念ながら、この構文はサポートされておらず、rdrルールを修正しようとしても期待した結果が得られませんでした。私はあなたの提案で私の質問を更新しました。
freedev 2012年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.