Windows – nslookup and tracert inconsistencies

networkingvirtual-machinesvirtualboxwindowswindows 7

In a Windows 7 VirtualBox guest with NAT and an OpenVPN connection issued by the host, nslookup and tracert behave differently w.r.t. name resolution:

  • nslookup hostname works, using 10.0.2.3 as DNS server
  • tracert hostname cannot resolve hostname
  • tracert fqdn cannot resolve fqdn
  • tracert ip-address works and shows host name, routing via 10.0.2.2 -> 10.0.3.1 -> target
  • traceroute hostname works in the host, routing directly via 10.0.3.1 -> target

The host I am trying to reach is within the network where I dial in using OpenVPN. Name resolution works well for globally reachable hosts.

What could be the reason? How can I find out? I already tried disabling IPv6 for the network connection, and disabling firewall on both host and guest, and changing network type to "Bridged" in VirtualBox.

I have the following setup:

  • Ubuntu 13.04 x64 host
  • VirtualBox 4.2.10-dfsg-0ubuntu2.1
    • Intel PRO/1000 virtual network adapter attached to NAT
    • Windows 7 x86 guest, fully patched
  • OpenVPN connection issued by the host
  • Same host name in Windows 7 guest and Ubuntu 13.04 host

Best Answer

Found a solution in this answer on SO:

[Put] a single entry reading "." in the "Append these DNS suffixes (in order)" in the "Advanced TCP/IP settings" dialog.

Looks like tracert and friends by default tries some non-DNS protocol first, which fails in my setup.