Virtual machines can't reach each other through bridge

1

I am using the QubesOS operating system, and I am failing to connect virtual machines through a bridge in another VM. The initial config looks like this:

  • Router VM:

    [user@lab-adsis2-router ~]$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: vif12.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 32
        link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
        inet 192.168.100.0/32 scope global vif12.0
           valid_lft forever preferred_lft forever
        inet6 fe80::fcff:ffff:feff:ffff/64 scope link 
           valid_lft forever preferred_lft forever
    3: vif11.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 32
        link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
        inet 192.168.100.0/32 scope global vif11.0
           valid_lft forever preferred_lft forever
        inet6 fe80::fcff:ffff:feff:ffff/64 scope link 
           valid_lft forever preferred_lft forever
    4: vif13.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 32
        link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
        inet 192.168.100.0/32 scope global vif13.0
           valid_lft forever preferred_lft forever
        inet6 fe80::fcff:ffff:feff:ffff/64 scope link 
           valid_lft forever preferred_lft forever
    5: vif14.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 32
        link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
        inet 192.168.100.0/32 scope global vif14.0
           valid_lft forever preferred_lft forever
        inet6 fe80::fcff:ffff:feff:ffff/64 scope link 
           valid_lft forever preferred_lft forever
    [user@lab-adsis2-router ~]$ ip r
    192.168.100.1 dev vif12.0 scope link metric 32740 
    192.168.100.2 dev vif11.0 scope link metric 32741 
    192.168.100.3 dev vif13.0 scope link metric 32739 
    192.168.100.4 dev vif14.0 scope link metric 32738
    

Also the IPv4 forwarding parameter of sysconf is properly set in the router VM.

  • Client VMs:

    [user@lab-adsis2-box1 ~]$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:16:3e:5e:6c:00 brd ff:ff:ff:ff:ff:ff
        inet 192.168.100.1/32 brd 192.168.100.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::216:3eff:fe5e:6c00/64 scope link 
           valid_lft forever preferred_lft forever
    [user@lab-adsis2-box1 ~]$ ip r
    default via 192.168.100.0 dev eth0 
    192.168.100.0 dev eth0 scope link
    

Like this the VMs are able to ping each other, so the router is working. However the problem comes when I try to set a bridge to unify all the interfaces of the router:

[user@lab-adsis2-router ~]$ sudo ip l a name br0 type bridge
[user@lab-adsis2-router ~]$ sudo ip link set br0 up
[user@lab-adsis2-router ~]$ sudo ip link set br0 up
[user@lab-adsis2-router ~]$ sudo ip l set vif11.0 master br0
[user@lab-adsis2-router ~]$ sudo ip l set vif12.0 master br0
[user@lab-adsis2-router ~]$ sudo ip l set vif13.0 master br0
[user@lab-adsis2-router ~]$ sudo ip l set vif14.0 master br0
[user@lab-adsis2-router ~]$ sudo ip a a dev br0 192.168.100.0/16
[user@lab-adsis2-router ~]$ bridge link
2: vif12.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100 
3: vif11.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100 
4: vif13.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100 
5: vif14.0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100 

After doing this I am unable to ping between clients, and I have no idea why.

All machines are Fedora 29 and ebtables is not installed.

miguescri

Posted 2019-06-17T17:40:50.100

Reputation: 11

No answers