Windows上忽略本地DNS服务器

我已经在Linux机器上设置了dnsmasq,并在其他Linux上通过将IP添加到/etc/resolv.conf文件来设置DNS地址。

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

现在我可以ping任何内部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似乎正确地parsing域名:

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

但是ping不起作用:

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

我怎样才能解决这个问题,所以我可以ping cca

如果使用dnsmasq作为DHCP服务器,则可以将DNS域,DNSsearch列表和路由器推送到客户端。 这应该可以解决你的问题。

 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) 

如果您既没有域名也没有search列表,则search的地址将是cca 。 这是不太可能有一个IP地址。

但是,如果您有一个提供名称的netbios名称服务器,这将是一个有效的地址。 在这种情况下, ping cca可能会在Windows上工作。

待机状态是在/etc/hostsconfiguration名称和IP。 Windows重定位文件,但仍然使用它。