使用 iptables 进行预路由,将目标端口设置为 DHCP ip

使用 iptables 进行预路由,将目标端口设置为 DHCP ip

我有一个 iptables 规则,通过更改源端口将来自不同内部主机的请求转换为同一 IP。

iptables -t NAT -A POSTROUTING -p TCP -d 173.32.1.2 --dport 873 \
-m state --state NEW,ESTABLISHED -j SNAT --to-source 173.32.1.1:44000-44300

我该如何处理来自该主机的响应?我如何将回复数据包的目标端口与等待它的内部主机的 IP 匹配?这就是我所拥有的:

iptables -t NAT -A PREROUTING -p TCP -s 173.32.1.1 --sport 873 \
-m state --state ESTABLISHED -j DNAT --to-destination # what do I put here?

我想要实现的一个例子:

两台主机192.168.1.3192.168.1.4都尝试与 建立连接173.32.1.2。NAT 将传出数据包的源地址和源端口分别更改为173.32.1.1 : 44000173.32.1.1 : 44001

目标173.32.1.2回复了这两个数据包,地址和端口分别为173.32.1.1 : 44000173.32.1.1 : 44001。现在我想将这些数据包转发给原始发送者,第一个是192.168.1.3,第二个是192.168.1.4

相关内容