iptables -t filter -A OUTPUT -d 1.2.3.4 -j DROP
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner abc -j DNAT --to 127.0.0.1:121
第一条规则不起作用,因为 nat 在过滤之前进行处理。有什么办法可以绕过它吗?
答案1
DNAT 之前不需要过滤任何内容。你问错了问题。
你应该看看手册 iptables-extensionsconntrack
特别是带有选项的模块--ctstate DNAT
、、--ctorigdst
和--ctorigdstport
。
答案2
iptables -t nat -A OUTPUT -d 1.2.3.4 -j ACCEPT
iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner abc -j DNAT --to 127.0.0.1:121