我最近在自己的机器上结合使用了 Vagrant + VirtualBox 等工具,试图让虚拟化的 Ubuntu 安装正常工作。但是,我没有成功,所以我卸载了所有东西。从那时起,我在主机上使用命令行应用程序时遇到了一些问题。
我使用的是 Windows 7 x64。通过 Chrome 浏览器和其他基于 GUI 的工具,DNS 解析和网络连接似乎没有问题。但是,当我启动 cmd.exe 时,我注意到各种命令行工具的行为很奇怪。
nslookup
执行nslookup
导致无法找到基本域名的IP地址。
C:\>nslookup google.com
Server: UnKnown
Address: 10.3.1.1
*** UnKnown can't find google.com: No response from server
10.3.1.1
是我的路由器,它通过 DHCP 为客户端提供 DNS 服务器。路由器将 DNS 请求转发到 Google DNS 服务器。正如我所说,DNS 解析在我的浏览器和许多其他应用程序中都可以正常工作,因此我怀疑问题出在我的路由器设置或 DNS 服务器。为了让主题简单一些,我将在这里省略这些细节。
平
ping
适用于物理 IPv4 地址,但不适用于主机名。
C:\>ping google.com
Ping request could not find host google.com. Please check the name and try again.
C:\>ping 8.8.8.8
Pinging with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=29ms TTL=52
Reply from 8.8.8.8: bytes=32 time=29ms TTL=52
Reply from 8.8.8.8: bytes=32 time=30ms TTL=52
Reply from 8.8.8.8: bytes=32 time=29ms TTL=52
Ping statistics for _`&:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 29ms, Maximum = 30ms, Average = 29ms
网络状态
现在事情变得有趣了。当我运行命令时netstat
,Local Address
字段是空的,尽管 IPv6 地址仍然显示出来。只有 IPv4 地址没有显示出来。以前这个功能运行正常!
C:\>netstat -ano
Active Connections
Proto Local Address Foreign Address State PID
TCP LISTENING 4
TCP LISTENING 544
TCP LISTENING 904
TCP LISTENING 616
TCP LISTENING 4556
TCP LISTENING 6756
TCP LISTENING 1080
TCP LISTENING 4
TCP LISTENING 3612
TCP LISTENING 3436
TCP LISTENING 3436
TCP LISTENING 4
TCP ESTABLISHED 4
TCP ESTABLISHED 5196
TCP ESTABLISHED 2944
TCP ESTABLISHED 1444
TCP ESTABLISHED 3436
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP CLOSE_WAIT 3612
TCP CLOSE_WAIT 3612
TCP CLOSE_WAIT 3612
TCP CLOSE_WAIT 3612
TCP CLOSE_WAIT 3612
TCP CLOSE_WAIT 3612
TCP ESTABLISHED 3612
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP TIME_WAIT 0
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP ESTABLISHED 2944
TCP TIME_WAIT 0
TCP ESTABLISHED 2944
TCP LISTENING 3320
TCP LISTENING 4576
TCP LISTENING 5196
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP TIME_WAIT 0
TCP ESTABLISHED 4556
TCP ESTABLISHED 4556
TCP ESTABLISHED 6756
TCP ESTABLISHED 6756
TCP ESTABLISHED 3612
TCP ESTABLISHED 3612
TCP ESTABLISHED 3612
TCP LISTENING 3612
TCP LISTENING 3612
TCP ESTABLISHED 3612
TCP LISTENING 2960
TCP LISTENING 2044
TCP LISTENING 1420
TCP LISTENING 4
TCP LISTENING 4
TCP [::]:445 [::]:0 LISTENING 4
TCP [::]:1025 [::]:0 LISTENING 544
TCP [::]:1026 [::]:0 LISTENING 904
TCP [::]:1038 [::]:0 LISTENING 616
TCP [::]:3389 [::]:0 LISTENING 1080
TCP [::]:3587 [::]:0 LISTENING 5700
TCP [::]:5357 [::]:0 LISTENING 4
TCP [::]:32400 [::]:0 LISTENING 3436
TCP [::]:32401 [::]:0 LISTENING 3436
TCP [::1]:1028 [::]:0 LISTENING 1768
UDP *:* 1000
UDP *:* 964
UDP *:* 964
UDP *:* 1568
UDP *:* 1568
UDP *:* 1000
UDP *:* 1080
UDP *:* 3612
UDP *:* 3172
UDP *:* 3436
UDP *:* 3436
UDP *:* 3436
UDP *:* 3172
UDP *:* 2944
UDP *:* 3436
UDP *:* 1568
UDP *:* 2944
UDP *:* 2944
UDP *:* 964
UDP *:* 4
UDP *:* 4
UDP *:* 1568
UDP *:* 3436
UDP *:* 3436
UDP *:* 3436
UDP *:* 3436
UDP *:* 3436
UDP *:* 1568
UDP *:* 1568
UDP *:* 2960
UDP *:* 3436
UDP *:* 3436
UDP *:* 3436
UDP *:* 3436
UDP *:* 1420
UDP *:* 1568
UDP *:* 4
UDP *:* 4
UDP *:* 1568
UDP *:* 3436
UDP *:* 3436
UDP *:* 4
UDP *:* 4
UDP *:* 1568
UDP *:* 3436
UDP *:* 3436
UDP [::]:500 *:* 1000
UDP [::]:3540 *:* 5700
UDP [::]:3702 *:* 964
UDP [::]:3702 *:* 1568
UDP [::]:3702 *:* 964
UDP [::]:3702 *:* 1568
UDP [::]:4500 *:* 1000
UDP [::]:5355 *:* 1080
UDP [::]:58964 *:* 1568
UDP [::]:64135 *:* 964
UDP [::1]:1900 *:* 1568
UDP [::1]:64131 *:* 1568
UDP [fe80::2923:9898:cce9:9b60%18]:1900 *:* 1568
UDP [fe80::41ba:5355:289f:f5fa%27]:1900 *:* 1568
UDP [fe80::8c37:8952:a3d5:ca0%20]:1900 *:* 1568
UDP [fe80::8c37:8952:a3d5:ca0%20]:64130 *:* 1568
我为尝试解决该问题所做的事情:
- 重启
- 卸载 NIC 驱动程序;从主板制造商处重新安装
ipconfig /flushdns
ipconfig /registerdns
- 礼貌地询问
这些都不起作用。有人知道问题是什么吗?或者我可以采取哪些步骤来诊断它?
Vagrant / VirtualBox 详细信息
我想把这个放在最后,因为它很长而且可能不相关。不过,我想讨论一下,因为我认为这是引发这个问题的原因。
我运行了一系列 Vagrant 命令在 Virtual Box 上安装 Ubuntu Trusty 32:
$ vagrant box add ubuntu/trusty64
$ vagrant init ubuntu/trusty64
$ vagrant up
但是,它在客户操作系统中存在 DNS 解析问题。因此,我在虚拟机上设置了一些标志以使其正常工作:
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyvm "Ubuntu Trusty 64" --natdnshostresolver1 on
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyvm "Ubuntu Trusty 64" --natdnsproxy1 on
虽然这确实解决了 Ubuntu 客户操作系统上的 DNS 解析问题,但端口转发仍然不起作用。由于它不起作用,我完全放弃了,并在删除它安装/设置的虚拟机后卸载了 Vagrant 和 VirtualBox。此后,我注意到命令行内容甚至通过 msys 运行的命令都不再起作用。我的主机操作系统现在存在 DNS 解析问题!
编辑
我将根据以下评论的要求修改我的问题。
适配器IPv4下的设置:
根据命令,我的系统上所有可用的适配器都如下ipconfig /all
(命名的适配器Ethernet adapter Local Area Connection
是我连接到 LAN 的真实物理网络适配器)。
另请注意,我分别将 DNS 服务器更改为8.8.8.8
和8.8.4.4
。通常我的网关是我的 DNS 服务器(10.3.1.1
)。我这样做是为了排除路由器的任何问题,并根据评论中某人的建议。
C:\>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : Robert-PC
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : home
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : home
Description . . . . . . . . . . . : Qualcomm Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20)
Physical Address. . . . . . . . . : 90-2B-34-57-0D-24
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::8c37:8952:a3d5:ca0%20(Preferred)
IPv4 Address. . . . . . . . . . . : 10.3.1.38(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Monday, May 25, 2015 9:35:57 PM
Lease Expires . . . . . . . . . . : Tuesday, May 26, 2015 9:36:00 PM
Default Gateway . . . . . . . . . : 10.3.1.1
DHCP Server . . . . . . . . . . . : 10.3.1.1
DNS Servers . . . . . . . . . . . : 8.8.8.8
8.8.4.4
NetBIOS over Tcpip. . . . . . . . : Enabled
Ethernet adapter Local Area Connection 3:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Cisco Systems VPN Adapter for 64-bit Windows
Physical Address. . . . . . . . . : 00-05-9A-3C-78-00
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::2923:9898:cce9:9b60%18(Preferred)
Autoconfiguration IPv4 Address. . : 169.254.155.96(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 654312858
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1A-03-8A-D9-90-2B-34-57-0D-24
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled
Tunnel adapter Local Area Connection* 11:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter Reusable ISATAP Interface {D85DF6F3-7D47-4198-B7B9-DD5680A8A6E7}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft ISATAP Adapter #4
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
将我的 DNS 手动设置为 Google 的 DNS 服务器后,我运行了(下面的输出)。请注意,使用或将 DNS 更改为 Google DNS 服务器后,nslookup
我仍然无法解析主机名。nslookup
ping
C:\>nslookup
Default Server: UnKnown
Address: 8.8.8.8
答案1
经过大量调查,我发现了以下线索:
- http://www.sevenforums.com/network-sharing/286086-unable-run-ping-traceroute-2.html
- http://answers.microsoft.com/en-us/windows/forum/windows_7-networking/windows-7-network-adapter-error-some-controls-on/580b87fd-d722-49ae-9520-092c73149854?msgId=28c7bac1-c3a9-4cb6-b3a4-ed7cb7a725c0
解决方案是运行以下命令:
netsh winsock reset catalog
netsh int ipv4 reset reset.log
netsh int ipv6 reset reset.log
答案2
如果没有反向 DNS 区域,DNS 仍将工作。请不要再用这个来回答所有这些帖子。到处都是这样说的,每个遇到此问题的用户都会回复。不,不是这样的。他们甚至在大多数帖子中都指出,同一子网/VRF/VLAN 上的服务器都工作正常,指向同一个 DNS 服务器,即具有反向区域的 DC。当没有反向区域时,DNS 仍然会响应,只是不具有权威性。在这种情况下,DNS 不会响应。通过名称进行 Ping 没有响应。但转到资源管理器并执行 \host 可以工作。一定有人看到并解决了这个问题。