我正在慢慢学习 iptables,想重定向所有不来自/不发往 IP 列表(从 192.168.2.1、192.168.2.29 或到 1.1.1.1)的 DNS(端口 53)请求。我想我可以使用链。但它不起作用。您能给我一个提示吗:
iptables -N dnsrewrite
iptables -A dnsrewrite -s 192.168.2.1 -j RETURN
iptables -A dnsrewrite -s 192.168.2.29 -j RETURN
iptables -A dnsrewrite -d 1.1.1.1 -j RETURN
iptables -t nat -A dnsrewrite -j DNAT --to-destination 192.168.2.29
iptables -t nat -A POSTROUTING -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp --dport 53 -j MASQUERADE
iptables -A PREROUTING -p tcp --dport 53 -j dnsrewrite
iptables -A PREROUTING -p udp --dport 53 -j dnsrewrite
答案1
iptables -t nat -N dnsrewrite
iptables -t nat -A dnsrewrite -j DNAT --to-destination 192.168.2.29
iptables -t nat -N whitelist
iptables -t nat -A whitelist -s 192.168.2.1 -j RETURN
iptables -t nat -A whitelist -s 192.168.2.29 -j RETURN
iptables -t nat -A whitelist -d 1.1.1.1 -j RETURN
iptables -t nat -A whitelist -j dnsrewrite
iptables -t nat -A PREROUTING -p tcp --dport 53 -j whitelist
iptables -t nat -A PREROUTING -p udp --dport 53 -j whitelist
这些是否适合您的需要取决于。
iptables -t nat -A POSTROUTING -p tcp --dport 53 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp --dport 53 -j MASQUERADE