Webサイト(IPまたはホスト名のポート80)にアクセスしようとしているアクセスポイントに接続されているホストがネットワーク上の他のデバイスに(実際には独立して)リダイレクトされるように強制する一連のiptablesルールは何ですか?
たとえば、2番目のサーバー(ホスティングWebサーバー)は、イーサネット経由でIP 192.168.1.99/24(eth0)に接続されます。
プライマリサーバーはIP 192.168.12.1/24を使用してワイヤレスホットスポット(アダプタwlan0apで)をホストします。 192.168.12.1:80、192.168.12.4:80、またはgoogle.com:80(192.168.12.0/24ネットワーク)からホットスポットにアクセスしたいWi-Fiユーザーが強制的に192.168にリダイレクトされるようにしたいと思います。 1.99:80。
net.ipv4.ip_forward=1
現在、私はこれらのルールをsysctlの有効化設定と組み合わせようとしました。
sudo iptables -A POSTROUTING -t nat -o wlan0ap -j MASQUERADE
sudo iptables -t mangle -N internet
sudo iptables -t mangle -A PREROUTING -i wlan0ap -p tcp -m tcp --dport 80 -j internet
sudo iptables -t mangle -A PREROUTING -i wlan0ap -p tcp -m tcp --dport 443 -j internet
sudo iptables -t mangle -A internet -j MARK --set-mark 99
sudo iptables -t nat -A PREROUTING -i eth1 -p tcp -m mark --mark 99 -m tcp --dport 80 -j DNAT --to-destination 192.168.1.98
答え1
次の規則が機能する必要があります(テストされていません)。
iptables -t nat -A PREROUTING -i wlan0ap -p tcp --dport 80 -j DNAT --to-destination 192.168.1.99:80
iptables -t nat -A PREROUTING -i wlan0ap -p tcp --dport 443 -j DNAT --to-destination 192.168.1.99:80
iptables -t nat -A POSTROUTING -j MASQUERADE
答え2
マルチポートオプションを使用できます。ポートのすべてのトラフィックを制限するには、次のものを80
使用443
できます。
iptables -t nat -A PREROUTING -i wlan0ap -p tcp -m multiport 80,443 -j DNAT --to-destination 192.168.1.99:80
ユーザーが de Portal を使用してログインする場合、
iptables -t nat -A PREROUTING -i wlan0ap -s ip_user -p tcp -ACCEPT
代替品 -s Ip -mac --source mac MAC