Сегодня внезапно потребовалось в
resolv.conf указать нестандартный порт локального DNS сервера и оказывается это в Debian сделать невозможно, в Mac OS можно прописать
[8.8.8.8]:53
, а в Linux совсем никак, начал гуглить данный вопрос и все же нашел решение.
На помощь нам приходит
iptables и редирект порта.
В
resolv.conf прописываем
nameserver 127.0.0.53
В
iptables в таблицу nat добавляем правило
iptables -t nat -A OUTPUT -s 127.0.0.1 -d 127.0.0.53 -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:5353
DNS у нас должен работать на локальной машине на порту
5353
И все работает!
iptables -t nat -L -n -v
Chain OUTPUT (policy ACCEPT 1066 packets, 64741 bytes)
pkts bytes target prot opt in out source destination
16 1310 DNAT udp -- * * 127.0.0.1 127.0.0.53 udp dpt:53 to:127.0.0.1:5353
ping google.com
PING google.com(ams15s40-in-x0e.1e100.net (2a00:1450:400e:80d::200e)) 56 data bytes
64 bytes from ams15s40-in-x0e.1e100.net (2a00:1450:400e:80d::200e): icmp_seq=1 ttl=56 time=3.80 ms
64 bytes from ams15s40-in-x0e.1e100.net (2a00:1450:400e:80d::200e): icmp_seq=2 ttl=56 time=3.40 ms
64 bytes from ams15s40-in-x0e.1e100.net (2a00:1450:400e:80d::200e): icmp_seq=3 ttl=56 time=3.38 ms
Комментарии ()