Я настроил службу dnsmasq в свою сеть серверов. Я могу правильно запросить его с локального сервера и серверов «братьев» в сети.
root@yyy ~# nslookup google.com 172.25.x.xxx
Server: 172.25.x.xxx
Address: 172.25.x.xxx#53
Non-authoritative answer:
Name: google.com
Address: 216.58.210.174
Однако, когда я пытаюсь запросить его с моей машины разработчика (диапазон 172.144.x.x), я не получаю ответа. Порты открыты правильно (проверено с помощью nmap и telnet).
$ nmap -p 53 172.25.x.xxx -Pn
Starting Nmap 7.01 ( https://nmap.org ) at 2017-04-12 17:54 CEST
Nmap scan report for 172.25.x.xxx
Host is up (0.0018s latency).
PORT STATE SERVICE
53/tcp open domain
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
$ nslookup google.com 172.25.x.xxx
connection timed out; no servers could be reached
Кажется, что флаг --local-service включен, но я установил переменные интерфейса и адреса прослушивания
interface=eth0
listen-address=127.0.0.1,172.25.x.xxx
Я видел, что --local-service включена по умолчанию, но не при использовании «interface» и «listen-address». Есть ли способ проверить, все еще активен?
редактировать Похоже, это может быть проблема, связанная с udp / tcp. Этот запрос работает из моей сети разработчиков
$ dig +tcp +short cnn.com @172.25.7.110
151.101.129.67
151.101.193.67
Это кажется странным, потому что серверы и разработчики могут «разговаривать» по udp. (проверено с помощью "netcat -u -l -p 53" на сервере и "netcat -u 172.25.x.xxx 53" на компьютере разработчика)
Кажется, виноваты правила брандмауэра. Проверить nmap
список: 53/tcp
. Убедитесь, что UDP также разрешен.