特定のポート宛てのすべてのトラフィックを任意のIPから任意のIPに取得し、ソースIPを保持したままローカルマシンにリダイレクトするにはどうすればよいですか?


2

私は、すべてのトラフィックを、任意のIPアドレスから任意のIPアドレスに転送し、interface enp4s5からport 80に向けて、ローカルマシン(iptablesが実行されているルーター)にリダイレクトします。

ローカルマシンのポート80(ポートから明らかでない場合はWebサーバー)で実行されているサービスは、接続の元のSOURCE IPを知ることができる必要があります。

ユースケースは、すべてのHTTP(HTTPSで機能しないことを知っています)ページをルーターで実行しているログインページへのリダイレクトに置き換えるキャプティブWiFiポータルの場合で、認証が必要です(そしてiptablesルールを追加します)または、このリダイレクトをバイパスするipsetにアドレスを追加します)。

DNATが希望のセットアップの半分を達成し、パケットをローカルマシンにリダイレクトすると確信していますが、応答パケットを最初に送信したマシンに返送するために対応するSNATが必要でした。 SNATルールの--to-sourceで提供するソースIPがわからないため、それはできません。

回答:


2

上記の要件をすべて満たすために私のために働いたのはREDIRECTルールでした:iptables -t nat -A PREROUTING -i enp4s5 -p tcp --dport 80 -j REDIRECT --to-port 80

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