Before anything else, a request - please don't top-post responses on technical lists. It is much easier to follow the details of the conversation if you respond inline with the part of the message you are replying to.

On 09/01/2015 11:37 AM, Daniel Sanabria wrote:
Hi Phil,

But you said you disabled firewalld which makes me wonder if you have the necessary forwarding rules active.

There is some misinformation/confusion going on here.

firewalld manages iptables and ebtables rules. iptables/ebtables rules on the host do not apply to macvtap interfaces (i.e. the data path doesn't even go through iptables or ebtables on the host), so it shouldn't matter what the state of the host's firewall is. Also, there are no "forwarding rules" of any type needed anywhere for a macvtap connection.



Dan

On 1 September 2015 at 13:48, Phill Edwards <philledwa...@gmail.com <mailto:philledwa...@gmail.com>> wrote:

    Hi Ajey, I thought I already was doing bridge mode. Below are the
    network interface definitions from the XML config file for the
    Sophos VM. (Note that it's actually the middle definition which is
    connected to the cable modem which is different to how I showed it
    in the earlier diagram). What I don't understand is that the
    interface type says "direct" in the XML even though in
    virt-manager it shows up as "Bridge":


"direct" means macvtap, and macvtap operates in 4 different modes:

  * vepa (only applicable when connecting to certain IBM switches)
* bridge (multiple guests using the same physdev can communicate directly) * private (multiple guests, but all traffic must go out the physdev and back for inter-guest communication) * passthrough (only one guest is allowed, and it effectively takes over the physdev)

So you are using the most permissive mode of macvtap - other guests could connect to that physdev and they sould be able to talk to the router guest (as long as the firewall *inside the guest*

It really looks to me, at first glance, that there aren't any problems with the guest's network config.

So some random questions/ideas that may or may not lead to better understanding and possibly a solution:

1) Does the cable modem setup NAT in front of a private network, and allow multiple dhcp clients to get an IP address for that network? Or is is a "passthrough" type of device that only responds to the first device that has sent a DHCP request since it was booted? If the latter:

a) what is the config of enp5s0f0 on the host? Is it getting an IP address from the cable modem (thus preventing the Sophos guest from getting one)? b) Or possibly have you not rebooted the cable modem after shutting down the ESXi-based guest, and that guest's traffic isn't actually arriving at the cable modem with the 00:0c:.... MAC address, but with the MAC address of the physical interface on the ESXi host?

2) Have you rebooted the cable modem after shutting down the Sophos guest on the ESXi host? Have you shutdown the ESXi host completely?

3) try using tcpdump on the host to monitor traffic on the macvtapX (probably macvtap0) device that is created for the guest to see if the dhcp request is actually making it out of the guest. After that, check if it is seen on enp5s0f0 and, if you can, see if the cable modem is receiving it. If all of those are positive, try looking for the DHCP response packets at the same locations (in reverse order) - basically the idea is to see where the break in communications is, then you can drill in to see why that would happen.




        <interface type='bridge'>
          <mac address='52:54:00:63:2e:15'/>
          <source bridge='br0'/>
          <model type='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
    function='0x0'/>
        </interface>
      <interface type='direct'>
        <mac address='00:0c:29:79:d4:e8'/>
        <source dev='enp5s0f0' mode='bridge'/>
        <model type='virtio'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
    function='0x0'/>
      </interface>
        <interface type='direct'>
          <mac address='52:54:00:42:33:92'/>
          <source dev='enp5s0f1' mode='bridge'/>
          <model type='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
    function='0x0'/>
        </interface>


    Regards,
    Phill

    On Tue, Sep 1, 2015 at 10:25 PM, Ajey Gore <ajeyg...@gmail.com
    <mailto:ajeyg...@gmail.com>> wrote:

        does you cable modem give you automatically the IP address? if
        thats the case then you need to do bridge configuration
        between nic3 and macvtap dhcp ip



I'm not sure exactly what you mean by this, but if you're using macvtap, it doesn't matter which mode you are using, all traffic from the physical network should be seen by the guest. The macvtap mode only makes a difference in communication with other guests, and in whether or not the host can simultaneously use the physical device (in passthrough mode, the physdev is completely unusable by the host).



        and then you will be able to get dhcp attached IP to sophos vm

        - ajey



        On Tue, Sep 1, 2015 at 4:33 PM, Phill Edwards
        <philledwa...@gmail.com <mailto:philledwa...@gmail.com>> wrote:

            Hi, I'm not sure what sort of diagram you mean, but I'll
            have a try. Does this help? It sounds like I need to do
            something to enable routing on what I've labelled "NIC3"
            on the diagram - can you please explain what I need to do?



For future reference, what is most helpful in the first pass of debugging libvirt-related networking problems is the <interface> sections from the domain xml of the guest, and sometimes the output of "ip -d link show" from the host. (The diagram was also helpful, but the first thing I always want to see is the <interface> XML)



            <image.png>


            Regards,
            Phill

            On Tue, Sep 1, 2015 at 4:53 PM, Ajey Gore
            <ajeyg...@gmail.com <mailto:ajeyg...@gmail.com>> wrote:

                Can you please drop a rough diagram here? I think you
                are routing through this VM and must have shared the
                host interface.

                - ajey



                On Tue, Sep 1, 2015 at 7:39 AM, Phill Edwards
                <philledwa...@gmail.com
                <mailto:philledwa...@gmail.com>> wrote:

                    I'm pretty new to KVM and have a KVM CentOS 7.1
                    hypervisor running a few VMs. I'm moving all my
                    VMs from an ESXi host as I want to use KVM in
                    future. Most of my VMs are working except for one
                    which is running a Sophos UTM router (Sophos UTM
                    is similar to products like pfSense
                    <https://www.pfsense.org/>, Smoothwall
                    <http://www.smoothwall.org/> etc).

                    The host has 3 physical NICs which are configured
                    on the Sophos VM as:
                    1) LAN (fixed IP)
                    2) DMZ (fixed IP)
                    3) WAN (which is directly plugged into a cable
                    modem for the internet connection and is
                    configured DHCP).

                    I have imported the settings from the "old" Sophos
                    machine so I know the configuration of the new one
                    is identical to the old one. I have even tried
                    configuring the NICs to have the same MAC
                    addresses as the old one.

                    The problem is that no matter what I try I cannot
                    get the WAN NIC to get an internet link up and
                    running with my cable modem. I have re-installed
                    the VM countless times, turned off the modem and
                    VM, done a factory reset of the modem, and, as I
                    mentioned, ensured the MAC addresses are the same.
                    Nothing I try has been successful.

                    The network interfaces on the new Sophos VM look
                    like this:
                    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu
                    1500 qdisc pfifo_fast state UP group default qlen 1000
                    link/ether 00:0c:29:79:d4:de brd ff:ff:ff:ff:ff:ff
                    inet 192.168.0.254/24 <http://192.168.0.254/24>
                    brd 192.168.0.255 scope global eth0
                    valid_lft forever preferred_lft forever
                    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu
                    1472 qdisc pfifo_fast state UP group default qlen 1000
                    link/ether 00:0c:29:79:d4:e8 brd ff:ff:ff:ff:ff:ff
                    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu
                    1500 qdisc pfifo_fast state UP group default qlen 1000
                    link/ether 00:0c:29:79:d4:f2 brd ff:ff:ff:ff:ff:ff
                    inet 192.168.1.254/24 <http://192.168.1.254/24>
                    brd 192.168.1.255 scope global eth2
                    valid_lft forever preferred_lft forever

                    I also found this in the /var/log/system.log of
                    the Sophos VM:
                    2015:08:29-12:04:05 sop dhclient: DHCPDISCOVER on
                    eth1 to 255.255.255.255 port 67 interval 6
                    2015:08:29-12:04:11 sop dhclient: DHCPDISCOVER on
                    eth1 to 255.255.255.255 port 67 interval 13
                    2015:08:29-12:04:24 sop dhclient: DHCPDISCOVER on
                    eth1 to 255.255.255.255 port 67 interval 2
                    2015:08:29-12:04:26 sop dhclient: No DHCPOFFERS
                    received.

                    I have shut down firewalld on the KVM host so I
                    don't think there are any firewall rules blocking
                    this.

                    As soon as I fire up the original Sophos VM on
                    ESXi the internet connection works perfectly again.

                    If I can't get this VM running on KVM it's a
                    show-stopper. Can anyone suggest what might be
                    going on that is preventing the WAN link from
                    connecting? Or suggest a way of troubleshooting this?

                    Thanks in advance.

_______________________________________________
libvirt-users mailing list
libvirt-users@redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-users

Reply via email to