如何在路由决策进入默认链之前使用 iptables 转移连接或数据包

如何在路由决策进入默认链之前使用 iptables 转移连接或数据包

在数据包端口(443)进入防火墙之前,我想将服务器(443)的传入数据包转移到输入链,然后进入 FORWARD 链,这样传入的数据包 100.43.xx.xx --sport 443 就会发送到 FORWARD 而不是输入链,这是我的 nf_conntrack

tcp 6 431977 ESTABLISHED src=192.168.xx.xx dst=100.43.xx.xx sport=33575 dport=443
src=100.43.xx.xx dst=192.168.xx.xx sport=443 dport=33575 [ASSURED] mark=0 use=1

如何在 OUTPUT、FORWARD、POST 和 PREROUTING CHAIN 中配置此项

我的 iptables 规则

root@kali:~#iptables-save
-A POSTROUTING -o dms0 -j MASQUERADE
-A INPUT -i dms0 -p tcp -s 100.43.xx.xx --sport 443 -j DROP
-A INPUT -i dms0 -p udp -m multiport --sport 22,443,1080 -j ACCEPT
-A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
root@kali:~#

答案1

ORIGINAL_DESTINATION='100.43.1.1'
NEW_DESTINATION='100.43.1.2'
iptables -t nat -A PREROUTING -d "$ORIGINAL_DESTINATION" -p tcp --dport 443 \
-j DNAT --to-destination "$NEW_DESTINATION"

相关内容