Sorry in advance for the long post, this has been rattling me days.

I've got a server with 4 NIC (eno1, eno2, eno3, eno4). I'm trying to establish the following setup:

Host - Ubuntu Server 18.04 running KVM {
     VM1 - Webserver Ubuntu 16.04
     VM2 - Fileserver Ubuntu 16.04
}

eno1: Reserved for VM host access (Ubuntu Server 18.04).

eno2 -> br0: eno2 bridged to br0, reserved for web server.

(eno3-eno4) -> br1:

eno3 and eno4 bonded, in active-rr mode, later bridged to br1 for the file server.

Because the host is running on Ubuntu Server 18.04 I'm using Netplan to configure the above, here is my yaml file:

[Edited after heynnema's comments, 3rd revision]

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
      addresses: [10.0.0.10/24]
      gateway4: 10.0.0.1
      nameservers:
        addresses: [10.0.0.1]
    eno2:
      addresses: []
      dhcp4: false
    eno3:
      addresses: []
      dhcp4: false
    eno4:
      addresses: []
      dhcp4: false

  bridges:
    br0:
      addresses: [10.0.0.11/24]
      gateway4: 10.0.0.1
      nameservers:
        addresses: [10.0.0.1]
      interfaces: [eno2]
    br1:
      addresses: [10.0.0.12/24]
      gateway4: 10.0.0.1
      nameservers:
        addresses: [10.0.0.1]
      interfaces: [bond0]

  bonds:
    bond0:
      addresses: []
      dhcp4: true
      interfaces: [eno3,eno4]
      parameters:
        mode: active-rr

Apply the settings:

sudo netplan --debug generate
sudo netplan apply

ifconfig reveals: [Refreshed after heynnema's comments, 3rd revision]

bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST>  mtu 1500
    ether 2a:0c:4e:3a:0d:ed  txqueuelen 1000  (Ethernet)
    RX packets 988  bytes 483252 (483.2 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 549  bytes 59611 (59.6 KB)
    TX errors 0  dropped 8 overruns 0  carrier 0  collisions 0

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.0.0.11  netmask 255.255.255.0  broadcast 10.0.0.255
    inet6 fe80::dcc9:e1ff:fe34:1282  prefixlen 64  scopeid 0x20<link>
    ether de:c9:e1:34:12:82  txqueuelen 1000  (Ethernet)
    RX packets 149  bytes 30135 (30.1 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 12  bytes 936 (936.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

br1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.0.0.12  netmask 255.255.255.0  broadcast 10.0.0.255
    inet6 fe80::30d6:53ff:fe76:2cdf  prefixlen 64  scopeid 0x20<link>
    ether 32:d6:53:76:2c:df  txqueuelen 1000  (Ethernet)
    RX packets 958  bytes 467860 (467.8 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 544  bytes 56791 (56.7 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255
    inet6 fe80::1260:4bff:fea9:428  prefixlen 64  scopeid 0x20<link>
    ether 10:60:4b:a9:04:28  txqueuelen 1000  (Ethernet)
    RX packets 65  bytes 7278 (7.2 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 16  bytes 1200 (1.2 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xf7f00000-f7ffffff  

eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    ether 10:60:4b:a9:04:29  txqueuelen 1000  (Ethernet)
    RX packets 552  bytes 413409 (413.4 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 297  bytes 19294 (19.2 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xf7d00000-f7dfffff  

eno3: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
    ether 2a:0c:4e:3a:0d:ed  txqueuelen 1000  (Ethernet)
    RX packets 476  bytes 240597 (240.5 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 274  bytes 26232 (26.2 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xf7b00000-f7bfffff  

eno4: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST>  mtu 1500
    ether 2a:0c:4e:3a:0d:ed  txqueuelen 1000  (Ethernet)
    RX packets 512  bytes 242655 (242.6 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 275  bytes 33379 (33.3 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device memory 0xf7900000-f79fffff  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    inet6 ::1  prefixlen 128  scopeid 0x10<host>
    loop  txqueuelen 1000  (Local Loopback)
    RX packets 120  bytes 9408 (9.4 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 120  bytes 9408 (9.4 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
    inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
    ether 52:54:00:a4:a5:c2  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet6 fe80::fc54:ff:fee0:bf1b  prefixlen 64  scopeid 0x20<link>
    ether fe:54:00:e0:bf:1b  txqueuelen 1000  (Ethernet)
    RX packets 285  bytes 18358 (18.3 KB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 506  bytes 409706 (409.7 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vnet1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet6 fe80::fc54:ff:fe79:4f63  prefixlen 64  scopeid 0x20<link>
    ether fe:54:00:79:4f:63  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 145  bytes 36033 (36.0 KB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Installing the first vm (webserver) works fine using br0, I can ssh in and my router acknowledges the domain.

The installation process on the file server using br1 gets interrupted saying the dhcp network isn't configured correctly. When I ssh into br1, it connects me to the VM host. I'm not sure how to tell the host to use eno1 and for the file installation to acknowledge br1.

  • Your .yaml file needs to start with network:, version: 2, renderer: networkd. Your commands should be sudo netplan --debug generate and sudo netplan apply. You've not defined any nameservers or routes. – heynnema Nov 10 at 18:56
  • In the final example of this link: aptgetlife.co.uk/… there's no declaration of a version or renderer. Does it make a difference in my case if renderer is networkd, or NetworkManager? I'll amend my file tomorrow with your suggestions and report back, thanks. – cworner1 Nov 10 at 22:37
  • You have version: 2 in your .yaml file, but it's in the wrong place. In your case, renderer should be networkd. Look at netplan.io/examples for more .yaml examples. Report back. – heynnema Nov 10 at 22:54
  • @heynnema I've made some adjustments to what I believe to be correct. I've updated the original with the results. Same outcome: "Your network is probably not using DHCP Protocol..." I've got a feeling my Netplan file is still missing something due to my lack of knowledge of networking. – cworner1 Nov 11 at 16:27
  • I looks better/cleaner. I suspect that the problem is in your bond0 definition. To prove this, lets change the br1 definition from interfaces: [bond0] to interfaces: [en03], and comment out the entire bonds section. Do the generate/apply/reboot (pay attention to any error/debug messages) and see if br1 acts anywhere close to what you want. If so, we'll probably move some stuff from br1 to bond0. Also note that I'm told that netplan is very fussy about indentation... don't know it that's true... but change your 4 space indents to 2 space indents. Report back. – heynnema Nov 11 at 17:13

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.