Networking Question

Discussion in 'General Questions' started by ThomasB63, Jul 31, 2021.

  1. ThomasB63

    ThomasB63 Bit poster

    Messages:
    2
    I am familiar and used to vmWare Fusion and WS Pro. Since I upgraded to Mac OSX Big Sur, vmWare networking does not work anymore.
    So I have installed Parallels to see if this is working for me. If it does I will buy PRO versions. I could successfully convert a CentOS VM from vmWare to Parallels, but networking is also NOT working as expected. :mad:

    So here a short description of my use case:
    I develop software for the cloud and mobile devices in several programming languages. I need LOTS of VMs which simulate a basic infrastructure I usually run in a data Center. I almost only run LINUX boxes, most important are CentOS server VMs (no UI, just console). I run VMs with docker, database servers such as MongoDB and Redis and other stuff like Graylog central logging server. I develop the server software on a Fedora 34 Workstation (also a VM) which runs KDE. This machine I ususally access from the MBP using a VNC client. The mobile clients I develop all on my MBP and they also need to connect to my docker containers running as VMs.

    I have a MacBook Pro 16" fully equipped (64 GB RAM, 8TB disk, i9 8Core) with BigSur installed.
    What I need is:
    • a dedicated network for all my VMs
    • Each VM needs to have Internet access
    • Each VM needs to be able to talk to all others (e.g. my software running as docker container needs to talk to the mongoDB cluster running in VMs)
    • I need fixed IP addresses for all server VMs, clients like Fedora can run with DHCP
    • One VM is a CentOS server with named (DNS) installed. It does the name resolution in the virtual network
    From what I read in the docs of Parallels Desktop the shared network model creates a dedicated virtual network and allows each VM to access the internet through the host (my MBP). However I could not figure out how to assign fixed IP addresses. vmWare Fusion Pro on Catalina supported the same networking model but one could define a range of IP addresses for the DHCP server and assign fixed IP addresses outside of that range. E.g. I could define a network as follows:
    • 10.55.55.0 - 255 entire virtual network
    • 10.55.55.1 gateway to the host (my MBP)
    • 10.55.55.2 gateway for all VMs in the virtual network
    • 10.55.55.128 - 254 DHCP range available to guests configured with DHCP
    • 10.55.55.3 - 127 Address range which could be used to assign fixed IP addresses to guests
    Can I configure such a thing with Parallels Desktop??
    Many thanks for your help.
     
  2. Elric

    Elric Parallels Team

    Messages:
    1,712
    Hi,
    in Pro-version of Parallels Desktop the configuration can be done in GUI, menu Parallels Desktop -> Preferences -> Network.
    For standard version the configuration can be done either directly in the config file.

    First of all I'd want to notice that this is a bit conflicting requirement:
    • 10.55.55.1 gateway to the host (my MBP)
    • 10.55.55.2 gateway for all VMs in the virtual network
    because normally there could be only one gateway in the network. The hosts from the same subnet are directly accessible without gateway. But I assume that you want
    • Be able to access host (default address 10.211.55.2) and internet from VMs
    • be able to access other VMs from each one
    • Parallels Shared Networking (gateway 10.211.55.1) will provide a gateway to internet
    • DNS will be provided by another VM.
    1. make sure that Parallels Desktop is not running, or Parallels Desktop will rewrite the configuration
    2. I assume that you are familiar with vim terminal editor. Please contact me via forum's private message if you don't, I'll reply with another way to edit the configuration.
    Start the /Application/Utilities/Terminal.app and execute in it (without quotes)
    sudo vim /Library/Preferences/Parallels/network.desktop.xml
    the parameters that could be useful to you are HostIPAddress (address that assigned to shared networking interface on host), DhcpIPAddress (address of the Parallels Shared Networking router), IPNetMask, IPScopeStart/IPScopeEnd.
    Note: all this addresses has to be in the same subnet. I recommend default 10.211.55.x;

    Hope this helps. If you have any misconfiguration issue, quit the Paralels Desktop and delete the /Library/Preferences/Parallels/network.desktop.xml - it will be recreated with default parameters on the next start.
     
  3. ThomasB63

    ThomasB63 Bit poster

    Messages:
    2
    Hi,
    Thanks for your help and sorry for the delay, the forum notification message ended up in my spam folder....
    Regarding Gateways: yes you are right, .1 has a different IP and is on my MAC (it is the gateway on my internal network)
    The `/Library/Preferences/Parallels/network.desktop.xml` is exactly what I need. However, my file hast 6(!) VLANs (Id 0 - 5) So I need to look into it in more details.

    So I guess this one is for me (the first VN entry)

    <VirtualNetwork id="0" dyn_lists="">
    <Uuid>{3a695390-cdd0-4c8c-bd00-fd525816d9cd}</Uuid>
    <NetworkID>Shared</NetworkID>
    <Description>Shared Networking</Description>
    <Enabled>1</Enabled>
    <NetworkType>1</NetworkType>
    <BoundCardMac></BoundCardMac>
    <VLANTag>65535</VLANTag>
    <HostOnlyNetwork dyn_lists="">
    <HostIPAddress>10.55.55.2</HostIPAddress>
    <DhcpIPAddress>10.55.55.1</DhcpIPAddress>
    <IPNetMask>255.255.255.0</IPNetMask>
    <HostAssignIPv6>0</HostAssignIPv6>
    <HostIP6Address>fdb2:2c26:f4e4::</HostIP6Address>
    <DhcpIP6Address>fdb2:2c26:f4e4::1</DhcpIP6Address>
    <IP6NetMask>ffff:ffff:ffff:ffff::</IP6NetMask>
    <DNSUseEtcHosts>1</DNSUseEtcHosts>
    <RegVmNameInEtcHosts>1</RegVmNameInEtcHosts>
    <EnableDNS>1</EnableDNS>
    <ParallelsAdapter dyn_lists="">
    <Enabled>1</Enabled>
    <Name>Parallels Shared #0</Name>
    <PrlAdapterIndex>0</PrlAdapterIndex>
    <HiddenAdapter>1</HiddenAdapter>
    </ParallelsAdapter>
    <DHCPServer dyn_lists="">
    <Enabled>1</Enabled>
    <IPScopeStart>10.55.55.1</IPScopeStart>
    <IPScopeEnd>10.55.55.254</IPScopeEnd>
    <IPReservations dyn_lists="IPReservation 0"/>
    </DHCPServer>
    <DHCPv6Server dyn_lists="">
    <Enabled>1</Enabled>
    <IPScopeStart>fdb2:2c26:f4e4::</IPScopeStart>
    <IPScopeEnd>fdb2:2c26:f4e4:0:ffff:ffff:ffff:ffff</IPScopeEnd>
    <IPReservations dyn_lists="IPReservation 0"/>
    </DHCPv6Server>
    <NATServer dyn_lists="">
    <Enabled>1</Enabled>
    <PortForwarding dyn_lists="">
    <TCP dyn_lists="ForwardEntry 0"/>
    <UDP dyn_lists="ForwardEntry 0"/>
    </PortForwarding>
    <IdleConnectionTimeoutSecs>7440</IdleConnectionTimeoutSecs>
    <UseIPFilter>0</UseIPFilter>
    <ProvideIPv6Route>-1</ProvideIPv6Route>
    <NatDNSFilterIPv6Replies>-1</NatDNSFilterIPv6Replies>
    <UseInterface></UseInterface>
    </NATServer>
    </HostOnlyNetwork>
    </VirtualNetwork>

    So I have these questions:

    - Can I disable IPv6 to get rid of all these entries?
    - DHCP Range seems to be defined here:
    <DHCPServer dyn_lists="">
    <Enabled>1</Enabled>
    <IPScopeStart>10.55.55.1</IPScopeStart>
    <IPScopeEnd>10.55.55.254</IPScopeEnd>
    <IPReservations dyn_lists="IPReservation 0"/>
    </DHCPServer>

    So if I change `<IPScopeStart>10.55.55.1</IPScopeStart>` to `<IPScopeStart>10.55.55.128</IPScopeStart>` will it use .128 to .254 for DHCP assigned addresses and I can assign lets say .10 to .126 to guests with a FIXED IP?

    And finally if I stop Parallels Desktop BEFORE I edit the above file, does this configuration NOT get overwritten, e.g. with the next software update?

    Thanks again for your help.
     
  4. Elric

    Elric Parallels Team

    Messages:
    1,712
    Well.. entries will still be present. But will be ignored.

    Yes, it is really so.

    No, if file is edited when PD is stopped, configuration will not be overwritten (providing that there were no errors in it, like missed closing xml tags etc)
     

Share This Page