我已经在 Linux 机器上设置了 dnsmasq,并通过将其 IP 添加到/etc/resolv.conf
文件来在另一个 Linux 上设置 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 似乎可以正确解析域名:
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.
我怎样才能在 Windows 上修复此问题ping cca
?
答案1
如果您将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。Windows/etc/hosts
重新定位该文件,但仍使用它。