Parallels IPv6 networking mess

Discussion in 'Installation and Configuration of Parallels Desktop' started by Djinh, May 19, 2011.

  1. Djinh

    Djinh Bit poster


    Since installing Parallels 6 on my Mac, I've been having strange networking issues. Today I finally had the time to investigate. I wish I hadn't. It's all quite a mess:

    Parallels version: Build 6.0.11994
    OSX version: 10.6.7

    System status: Parallels NOT running

    1. Router advertisements

    Somehow Parallels thinks it's a good idea to send IPv6 Router Advertisements on vnic0. This means that there'll be an IPv6 default route pointing to vnic0 on the OSX host:

    This messes with IPv6 connectivity. Even if you then disable IPv6 on your primary ethernet interface, the host system will still assume there is IPv6 connectivity, causing lengthy timeouts for anything that has an AAAA record in the DNS.

    2. Depricated addresses

    Parallels configures the IPv6 addresses :: and :: on vnic0 and vnic1. These are IPv4-compatible-IPv6 addresses and have been depricated in RFC 4191 way back in 2006. Even *if* the developers have been living under a stone since then, RFC3513 demands: and can of course hardly be called "globally-unique IPv4 unicast addresses"

    3. While digging around I found the network.desktop.xml file. A nice mess there as well:
    - Six of the eight defined interfaces there have a VLAN tag of 65535. I don't know if that's meant seriously, as VLAN tags are only 12 bits, so 0-4095, not 65535.
    - While it's great that Parallels supports DHCPv6, I'm not sure what this is about:

    - isn't a very nice IPv6 address. I also supect that network is already in use on another interface.

    - A little further down we find:

    Why is the loopback address the DHCP scope?

    While it is commendable that Parallels tries to build IPv6 support into its software, this design and implementation could still use a bit of work. With this setup, my OSX Host's IPv6 connectivity is broken, even with Parallels NOT running. As APNIC has already run out of its available supply of unallocated IPv4 space and the other RIRs will follow shortly, this issue could use a bit of attention.

    Best regards,

  2. Elric

    Elric Parallels Team


    Thank you for reporting issue with routing, it is reall important and should be addressed.

    what about
    Where did you see this? I don't see where these addresses are on vnics.

    and the things you described about network.xml are internal and don't affect anything.
  3. Elric

    Elric Parallels Team

    Investigation shown, that this occurs only if Parallels Adapters are configured to be shown in System Preferences.

    Please send a problem report (menu of Parallels Desktop Help -> Report a Problem) if it is not your case and post here its number
  4. Fredv

    Fredv Member

    why would you want to have ipv6 being ON ??
    I very muchdoubt that your Mac has an ipv6 address.
    so, what's tha point ??
  5. erische

    erische Bit poster

    IPv6 is on per default on Mac OSX and on Parallels.

    I have the same issue like Djinah, sometimes my Mac doesn't install the new IPv6 default route for my en0/1 and keeps a default route to vnic0. I manually delete the default route to vnic0 to get IPv6 internet access.

    I understand that for a working IPv6 setup a router advertisement daemon and a DHCPv6 server are needed, but the downside is, that the Mac receives this packets also on its vnic0 interface and acts as a client then installing the default route for this interface. The only solution i now would be dropping all incoming ICMPv6 Router-advertisements packets (ICMPv6 Code 134), so the Mac never knows that there is a router on this interface. I don't know if this can be done by Parallels daemons or if it has to happen on the Mac side (ip6fw).

    Another mistake in Parallels IPv6:
    vnic0 and vnic1 use the fec0::/10 prefix for addressing. This prefix is deprecated with RFC 3879! Please use the Unique-local prefix fc00::/7 instead!

    My vnics are not shown in the System Preferences.

    Parallels Build 6.0.11994 (german version)
  6. Fredv

    Fredv Member

    all very well, but what's the point in keeping IPv6 ON on your Mac ??
    I assume yr local network/router is IPv4, so you don't need IPv6 being ON.
    in other words: turn it OFF and see what happens.
    you would not be the first having strange network issues, just because IPv6 is ON.
  7. erische

    erische Bit poster

    And you assume wrong. I won't turn IPv6 off, I have IPv6 access at my home networks and at my company's network (we are network consulter ;) ) so I know IPv6 as we are deploying and teaching it at our customers...
    Last edited: May 22, 2011
  8. Elric

    Elric Parallels Team

    It is strange, because I don't see how this can happen at least on 10.6.7..

    Could you please send a problem report?
  9. Djinh

    Djinh Bit poster


    Firstly, my mac has IPv4 and IPv6 connectivity, both in the office and at home. Frankly, with IPv4 depletion around the corner (and already a month in the past in the Asia-Pacific region), anyone who isn't working on deploying IPv6 is going to have some real problems soon.

    Anyway, to answer some questions:

    I saw and configured on the interfaces, in the ifconfig output.

    My problems went away after I deleted the interfaces using 'prlsrvctl net del Shared/HostOnly'

    When I have some time I'll see about putting them back and try to recreate the situation.

  10. Fredv

    Fredv Member

    well now, aren't we all connected to internet through a router ??
    this router has NAT and converts ouside ip-adddresses to local ip-adresses.
    so, if you connect to an outside IPv6 adddress, you can still uses this locally as an IPv4-adres.
    provided the router can handle IPv6 and translate them to IPv4.
  11. Djinh

    Djinh Bit poster


    At home my IPv4 is NATed. My IPv6 is native, no translation or tunneling going on, I have a /48 at home.

    At work there is no NAT, both IPv4 and IPv6 are fully native.

    Let's get back to the issue at hand, shall we?

  12. PeterS2

    PeterS2 Bit poster


    Did you have already an answer for the problem you reported about Ipv6 by Parallels?

    We have also a network problem with Parallels v6, latest build.

    We use Parallels on an iMac. The user of the iMac logs in as a OD network user on a Snow Leopard server, with his home folder on an AFP Share on the server. The login procedure is mostly blocked after installing Parallels! No problem when we log in using a local user account.

    We have created a work around:

    There is a LaunchDaemon (com.parallels.launchdaemon.plist) that starts the network virtual network interfaces during boot, executed as Root. We have disabled this LaunchDaemon by moving it out of the LaunchDaemon folder. Now, if we need to run Parallels we will start this LaunchDaemon manually using a applescript that starts the Daemon. (do shell script "launchctl load /new_path/to/launchdaemon.plist" user name "local_administrator" password "mypassword" with administrator privileges)

    At this moment we can only use Parallels during the time we need it to run a windows program. The network performance is very bad, also other users on the network have problems. Because off that we need to disable the network interfaces again after using parallels. We do this by stopping the LaunchDaemon using an other applescript. (do shell script "launchctl unload /new_path/to/launchdaemon.plist" user name "local_administrator" password "mypassword" with administrator privileges)

    On the iMac we run OS X version 10.6.7. On the server runs SLS X 10.6.8.

    The iMac has a permanent Ip4 address. On the SLS is running a DNS server. On a router is running a DHCP server.

    Is it possible that our problems are also addressed to the reported IPv6 issue?
    We know that Parallels has changed the way it handles virtual network interfaces in v6.

    On another place we use v5 of Parallels also on a SLS with one difference that this user is a mobile home user and there are no problems, but we want to upgrade (upgrade is already bought)
  13. Djinh

    Djinh Bit poster

    Hi Peter,

    Can you show the output of:

    ifconfig -a

    netstat -rn

    When the parallels interfaces are loaded?

  14. Elric

    Elric Parallels Team

    Hello Peter,
    yes, it is likely related with IPv6, because it is the main networking difference between v5 and v6.

    Unfortunately it is not possible to disable IPv6 support in the current version of Parallels Desktop. As a workaround I can suggest to try to use Bridged networking (to default adater) and disable shared and host-only networkings in Parallels.

    To disable Shared and Host-Only, execute the following two commands in /Application/Utilities/Terminal

    sudo prlsrvctl net del Shared
    sudo prlsrvctl net del Host-Only

    note: it is possible to restore them back in the Parallels Gui, menu Parallels Desktop -> Preferences -> Adanced -> Change Network Settings -> Restore Default

    PS: and the ouput of the commands by Alex in the message above - netstat -nr and ifconfig -a - is greatly appreciated
  15. PeterS2

    PeterS2 Bit poster

    solved in 7

    is this problem solved in version 7?
  16. Elric

    Elric Parallels Team

    Hi, the problem you described could be conencted with IPv6 and could be not. It is impossible to say anything about your case without information we request few posts above..
  17. PeterS2

    PeterS2 Bit poster



    Here is the requested information:

    Last login: Sat Sep 24 14:01:24 on ttys001
    iMac-01:~ jeu$ ifconfig -a
    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet netmask 0xff000000
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
    stf0: flags=0<> mtu 1280
    ether c8:2a:14:1f:56:38
    inet6 fe80::ca2a:14ff:fe1f:5638%en0 prefixlen 64 scopeid 0x4
    inet netmask 0xffffff00 broadcast
    media: autoselect (1000baseT <full-duplex,flow-control>)
    status: active
    lladdr c8:2a:14:ff:fe:85:8d:7a
    media: autoselect <full-duplex>
    status: inactive
    en1: flags=8823<UP,BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500
    ether 10:9a:dd:a5:7b:f8
    media: autoselect (<unknown type>)
    status: inactive
    vnic0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1c:42:00:00:08
    inet6 fe80::21c:42ff:fe00:8%vnic0 prefixlen 64 scopeid 0x7
    inet6 fec0:0:0:fea9::2 prefixlen 64
    inet netmask 0xffffff00 broadcast
    media: autoselect
    status: active
    vnic1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 00:1c:42:00:00:09
    inet6 fe80::21c:42ff:fe00:9%vnic1 prefixlen 64 scopeid 0x8
    inet6 fec0:0:0:feaa::2 prefixlen 64
    inet netmask 0xffffff00 broadcast
    media: autoselect
    status: active
    iMac-01:~ jeu$ netstat -rn
    Routing tables

    Destination Gateway Flags Refs Use Netif Expire
    default UGSc 34 0 en0
    default link#7 UCSI 0 0 vnic0
    default link#8 UCSI 0 0 vnic1
    10.37.129/24 link#8 UCS 0 0 vnic1 UHS 0 0 lo0
    10.211.55/24 link#7 UCS 0 0 vnic0 UHS 0 0 lo0
    127 UCS 0 0 lo0 UH 0 135 lo0
    169.254 link#4 UCS 0 0 en0
    192.168.175 link#4 UCS 5 0 en0 0:17:c5:79:71:c UHLWI 4 0 en0 1130 10:9a:dd:60:c8:2d UHLWI 17 8597 en0 1129 UHS 0 3 lo0 ff:ff:ff:ff:ff:ff UHLWbI 0 2 en0

    Destination Gateway Flags Netif Expire
    ::1 ::1 UH lo0
    fe80::%lo0/64 fe80::1%lo0 Uc lo0
    fe80::1%lo0 link#1 UHL lo0
    fe80::%en0/64 link#4 UC en0
    fe80::129a:ddff:fe60:c82d%en0 10:9a:dd:60:c8:2d UHLW en0
    fe80::ca2a:14ff:fe1f:5638%en0 c8:2a:14:1f:56:38 UHL lo0
    fe80::%vnic0/64 link#7 UC vnic0
    fe80::21c:42ff:fe00:8%vnic0 0:1c:42:0:0:8 UHL lo0
    fe80::%vnic1/64 link#8 UC vnic1
    fe80::21c:42ff:fe00:9%vnic1 0:1c:42:0:0:9 UHL lo0
    fec0:0:0:fea9::/64 link#7 UC vnic0
    fec0:0:0:fea9::2 0:1c:42:0:0:8 UHL lo0
    fec0:0:0:feaa::/64 link#8 UC vnic1
    fec0:0:0:feaa::2 0:1c:42:0:0:9 UHL lo0
    ff01::/32 ::1 Um lo0
    ff02::/32 ::1 UmC lo0
    ff02::/32 link#4 UmC en0
    ff02::/32 link#7 UmC vnic0
    ff02::/32 link#8 UmC vnic1
    iMac-01:~ jeu$

    Peter Spaan
  18. Elric

    Elric Parallels Team

    In the currently available build of paralells 7 it is possible to disable IPv6 and this should fix the problem.

    In the next upcoming updated (I can't say any date though), the problem should not appear without any additional actions from user.
  19. PeterS2

    PeterS2 Bit poster

    version 7

    thank you for your information

    I have also bought version 6 couple months ago but did not install because of the problem we examine.
    I have on my work exactly the same situation as were we discovered the IP6 problem by another client of me?

    How can i get instead of version 6 a good working version 7 without paying the amount for the upgrade?
    And also my other client can he get also rebate for version 7? He has make a workaround with many IT cost of another firm!!!!

    Peter Spaan
  20. Bit poster

    Finally a solution

    I find this lack of response completely unacceptable. I will not be upgrading from Parallels 6 until this IPv6 problem is resolved. Being able to disable IPv6 in Parallels 7 is not an answer.

    The problem is that Parallels is advertising a route to the Internet via IPv6, when it actually has no route to the Internet.

    Disabling Shared and Host-Only networking in Parallels preferences does not remove the vnic0 and vnic1 interfaces. Disabling IPv6 does not remove the IPv6 addresses from the interfaces. And the interfaces can't be removed using ifconfig. However, I found an answer by experimenting with commands I found in Parallels 4 documentation.

    (Keep in mind that you must use Bridged networking and disabled Shared and Host-Only networking in Parallels Desktop preferences for this to work.)

    prlsrvctl net list
    Will give you a list of all interfaces. My example:

    Network ID Type Bound To
    Shared shared vnic0
    HostOnly host-only vnic1
    Ethernet (en0) bridged en0
    Wi-Fi (en1) bridged en1
    vnic0 (vnic0) bridged vnic0
    vnic1 (vnic1) bridged vnic1
    Default bridged FF:FF:FF:FF:FF:FF

    To remove them, use the following commands:
    prlsrvctl net del "HostOnly"
    prlsrvctl net del "Shared"
    prlsrvctl net del "vnic0 (vnic0)"
    prlsrvctl net del "vnic1 (vnic1)"

    And connecting to IPv6+IPv4 hosts will finally work!
    Last edited: Apr 25, 2012

Share This Page