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