1

Here's what I type:

C:\Users>nslookup
Default Server:  UnKnown
Address:  172.16.128.2

> google.com
Server:  UnKnown
Address:  172.16.128.2

Name:    google.com.localdomain
Addresses:  74.125.226.14
          74.125.226.14

> google.com.
Server:  UnKnown
Address:  172.16.128.2

Non-authoritative answer:
Name:    google.com
Addresses:  2607:f8b0:4006:806::1005
          74.125.226.1
          74.125.226.6
          74.125.226.2
          74.125.226.4
          74.125.226.5
          74.125.226.9
          74.125.226.8
          74.125.226.7
          74.125.226.3
          74.125.226.0
          74.125.226.14

This used to not cause any problems and maybe it didn't used to append localdomain... but now it does cause problems for applications that don't append a '.' when doing domain name lookup.

I see the problem in command line ssh in cygwin.

And to be sure... on the host (Mac OS/X):

jzwolak@laptop:~$ nslookup
> google.com
Server:     192.168.2.1
Address:    192.168.2.1#53

Non-authoritative answer:
Name:   google.com
Address: 74.125.226.14
Name:   google.com
Address: 74.125.226.1
Name:   google.com
Address: 74.125.226.6
Name:   google.com
Address: 74.125.226.2
Name:   google.com
Address: 74.125.226.4
Name:   google.com
Address: 74.125.226.5
Name:   google.com
Address: 74.125.226.9
Name:   google.com
Address: 74.125.226.8
Name:   google.com
Address: 74.125.226.7
Name:   google.com
Address: 74.125.226.3
Name:   google.com
Address: 74.125.226.0
> 

I'm running VMWare Fusion 7.1.2, Mac OS/X 10.10.4, Windows 7 SP1 with all important updates, and the latest cygwin and ssh (from cygwin package with version: OpenSSH_6.9p1, OpenSSL 1.0.2d 9 July 2015).

ssh is not the only program that has problems, but it is the one I need to use.

Any ideas why this is happening?

Oh... and if I manually set the DNS server in Windows to the one used in Mac OS/X (192.168.2.1 in my example) then everything works fine.

2
  • Does this problem occur with VMWare Fusion 8, too? Does anyone know?
    – Jason
    Commented Mar 15, 2016 at 22:23
  • I see VMWare Fusion 8 Pro has explicit support for ipv6 NAT networks. But I don't know that the problem is fixed.
    – Jason
    Commented Mar 15, 2016 at 22:25

3 Answers 3

1

To add to Scott's answer, from what I understand the difference is in NAT/Shared mode VMWare isolates the guest making it more secure, the virtual machine does not have its own IP address on the external network. Instead, a separate private network named localadmin is set up on your Mac...

With bridged networking, the virtual machine appears as an additional computer on the same physical Ethernet network as your Mac making it less secure. See VMWare KB article regarding network types.

NAT Mode Test:

C:\Windows\System32>nslookup
Default Server:  UnKnown
Address:  172.16.65.2

> google.com
Server:  UnKnown
Address:  172.16.65.2

Name:    google.com.localdomain
Addresses:  216.58.192.46
          216.58.192.46

>

Bridged Mode test:

C:\Windows\System32>nslookup
Default Server:  google-public-dns-a.google
Address:  8.8.8.8

> google.com
Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Non-authoritative answer:
Name:    google.com
Addresses:  2607:f8b0:4010:800::1004
          216.58.192.46
1
  • Finally, I'm able to use git on Cygwin on Windows running on VMWare! Thank you!
    – leremjs
    Commented Dec 23, 2015 at 21:19
0

Yes, this causes problems with SSH (and by extension git). The problem is that the virtual machine's network adapter is configured in NAT mode (also shown as Share with my Mac) and in NAT mode VMWare is trying to force IPv6, but isn't properly supporting IPv6 somehow. You can switch to bridged mode or force SSH to use IPv4.

Switched to Bridge Mode

NOTE: This may reduce the security of your VM since it will be directly connected to the network now and have no protection via the host machine Change the networking to Bridged mode by selecting the menu Virtual Machine > Network Adapter > Bridged (Autodetect) and it will work.

Force SSH to use IPv4

Add the following line to to /etc/ssh/ssh_config (or c:\Program Files\Git\etc\ssh\ssh_config when using git for windows):

AddressFamily inet
0

I disabled ipv6 on the Windows and it seems to work.

I used the instructions at https://support.microsoft.com/en-us/kb/929852

To disable certain IPv6 components, follow these steps:
Click Start, type regedit in the Start Search box, and then click regedit.exe in the Programs list.
In the User Account Control dialog box, click Continue.
In Registry Editor, locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
Double-click DisabledComponents to change the DisabledComponents entry. 

Note If the DisabledComponents entry is unavailable, you must create it. To do this, follow these steps:
In the Edit menu, point to New, and then click DWORD (32-bit) Value.
Type DisabledComponents, and then press Enter.
Double-click DisabledComponents.
Type any of the following values in the Value data field to configure the IPv6 protocol to the intended state, and then click OK:
Type 0 to re-enable all IPv6 components (Windows default setting).
Type 0xff to disable all IPv6 components except the IPv6 loopback interface. This value also configures Windows to prefer using IPv4 over IPv6 by changing entries in the prefix policy table. For more information, see Source and destination address selection.
Type 0x20 to prefer IPv4 over IPv6 by changing entries in the prefix policy table.
Type 0x10 to disable IPv6 on all nontunnel interfaces (both LAN and Point-to-Point Protocol [PPP] interfaces).
Type 0x01 to disable IPv6 on all tunnel interfaces. These include Intra-Site Automatic Tunnel Addressing Protocol (ISATAP), 6to4, and Teredo.
Type 0x11 to disable all IPv6 interfaces except for the IPv6 loopback interface.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .