Я настроил службу 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.xx), я не получаю ответа. Порты правильно открыты (проверено с помощью 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- служба включена по умолчанию, но не при использовании "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 также разрешен.