ポート事前ルーティングは私のIPにのみ機能し、他のIPには機能しません。

ポート事前ルーティングは私のIPにのみ機能し、他のIPには機能しません。

私はGitサーバーへのSSHアクセスを確立していますが、Gitサーバーはroot以外のユーザーによって実行されているため、SSHサーバーは標準ポートでリッスンしないため、いくつかの事前ルーティングを実行しました。現在、UFW before.rulesのルールは次のとおりです。

-A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

うまく動作しますが、同じサーバーでVPNを実行していて、別のIP上の他のSSHに接続しようとすると、このポートも2222にリダイレクトされるため、小さな問題があります。私のIPに対する要求はポート22から2222に事前にルーティングされ、他のIPに対する要求はそうでないことを願っています。同じマシン(localhost、私のIP)でSSHサーバーに接続しても私のIPを使用するには、このルールをどのように変更する必要がありますか?

答え1

-iこれを使用して、次のようにパケットが受信されるインターフェイスを一致させるか、宛先を-d一致させることができます。

-A PREROUTING -p tcp --dport 22 -d <SERVER-IP> -j REDIRECT --to-port 2222

関連情報