iptables 将所有流量转发到指定的端口,到另一个设备

Pum*_*eed 11 iptables port-forwarding

我如何修改这个 iptables 规则,以便所有进入这台计算机的流量都将转发到 192.168.42.10?

iptables -t nat -A PREROUTING -s 192.168.46.0/24 -p tcp --dport 80 -j DNAT --to-destination 192.168.42.10:80
Run Code Online (Sandbox Code Playgroud)

问题是我从ansible创建ip表规则并在不同的环境中创建它,其中ip地址范围不同,但我想总是将80端口转发到192.168.42.10。

sta*_*ata 11

此规则会将 80 端口转发到 192.168.42.10

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.42.10:80
Run Code Online (Sandbox Code Playgroud)

但这还不够如果你想恢复流量,那么你应该添加这个规则

iptables -t nat -A POSTROUTING -p tcp -d 192.168.42.10 --dport 80 -j SNAT --to-source 192.168.42.1
Run Code Online (Sandbox Code Playgroud)

其中 ip 地址 192.168.42.1 是您的 iptables 计算机

这两个规则必须解决任务。