Я установил 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 перемещает файл, но продолжает его использовать.