私は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