iptables перенаправляет жестко заданные DNS-запросы

iptables перенаправляет жестко заданные DNS-запросы

Я медленно пытаюсь изучить iptables и хотел бы перенаправить все запросы DNS (порт 53), которые не приходят с/на список IP-адресов (с 192.168.2.1, 192.168.2.29 или на 1.1.1.1). Я подумал, что могу использовать цепочки. Но это не работает. Не могли бы вы дать мне подсказку:

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

Связанный контент