Назад | Перейти на главную страницу

Локальный DNS-сервер игнорируется в Windows

Я установил dnsmasq в окне Linux и настроил DNS-адрес на другом Linux, добавив его IP-адрес в /etc/resolv.conf файл.

$ cat /etc/resolv.conf
nameserver 192.168.9.105
nameserver 8.8.8.8

Теперь я могу пинговать любой внутренний IP-адрес следующим образом:

$ ping cca
PING cca (192.168.9.102) 56(84) bytes of data.
64 bytes from cca-erik (192.168.9.102): icmp_seq=1 ttl=64 time=0.017 ms
64 bytes from cca-erik (192.168.9.102): icmp_seq=2 ttl=64 time=0.024 ms
^C
--- cca ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.017/0.020/0.024/0.005 ms

Однако в Windows у меня возникают проблемы. Я установил сервер имен следующим образом:

netsh interface ip set dns name="aea-tap" static 192.168.9.105
ipconfig /flushdns 

nslookup, похоже, правильно разрешает доменное имя:

C:\Users\cca>nslookup cca
Server:   aktos-1-vpn
Address:  192.168.9.105

Name:     cca
Address:  192.168.9.102

Но пинг не работает:

C:\Users\cca>ping cca
Ping request could not find host cca. Please check the name and try again.

Как я могу исправить это в Windows, чтобы я мог ping cca?

Если вы используете dnsmasq в качестве DHCP-сервера вы можете передавать клиентам домен DNS, список поиска DNS и маршрутизатор. Это должно решить вашу проблему.

dhcp-option=3,192.0.2.1             # Router
dhcp-option=6,192.0.2.              # DNS servers
dhcp-option=15,example.com          # Domain
dhcp-option=119,example.com,com,org # Domain search list (clients may not support)

Если у вас нет ни домена, ни списка поиска, то искомый адрес будет cca. У него вряд ли когда-нибудь будет IP-адрес.

Однако, если у вас есть сервер имен netbios, обслуживающий имя, это будет действительный адрес. ping cca в этом случае, скорее всего, будет работать в Windows.

В режиме ожидания необходимо настроить имя и IP-адрес в /etc/hosts. Windows перемещает файл, но продолжает его использовать.