我已经在我的网络上配置了 Dnsmasq,为网络上的各种 IPv4 IP 地址命名。
当我在客户端 Windows 7 Ultimate 64 位机器上启用 IPv4 时,使用其 DNS 名称对其他机器执行 ping 操作可以正常工作,但是当我在 Win7 机器的协议列表中启用 IPv6 支持时,我无法再使用它们的 DNS 名称对机器执行 ping 操作。
我甚至尝试在 ping 命令中添加 -4 参数,还尝试使用 -S 命令来指定发送 ping 时要使用的源 ip。
如果 Windows 7 计算机上未启用 IPv6,则:
C:\Console2>ping asus.leerdomain.local
Pinging asus.leerdomain.local [192.168.1.149] with 32 bytes of data:
Reply from 192.168.1.149: bytes=32 time<1ms TTL=128
Reply from 192.168.1.149: bytes=32 time<1ms TTL=128
在 Windows 7 计算机上启用 IPv6 后:
C:\utils\dig>ping asus.leerdomain.local Ping request could not
find host asus.leerdomain.local. Please check the name an d try again.
C:\utils\dig>ping -4 asus.leerdomain.local Ping request could not
find host asus.leerdomain.local. Please check the name an d try again.
C:\utils\dig>ping -4 -S192.168.1.149 asus.leerdomain.local
asus.leerdomain.local is not a valid address.
Windows 7 计算机上启用和未启用 IPv6 的情况:
C:\utils\dig>dig asus.leerdomain.local
; <<>> DiG 9.3.2 <<>> asus.leerdomain.local
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1401
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;asus.leerdomain.local. IN A
;; ANSWER SECTION:
asus.leerdomain.local. 0 IN A 192.168.1.149
;; Query time: 1 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Nov 10 14:50:01 2011
;; MSG SIZE rcvd: 55
答案1
您的计算机配置为响应 IPv4 ping,而不响应 IPv6 ping。启用 IPv6 后,其他计算机在尝试解析名称时会获取 IPv6 地址,因为 IPv6 是首选。因此,它们发出的 ping 不会得到回复。
ping -4
无法工作,因为您无法对 IPv6 地址执行 IPv4 ping 操作。
如果您希望机器响应 IPv6 ping,则必须找出阻止它的原因(最有可能是防火墙)并修复配置。