I have a static ip address for interface eno1 which should become a bridge for kvm/qemu. My netplan configuration (Ubuntu 18.04) for the static ip looks like this and is working:
network:
version: 2
#renderer: NetworkManager
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
addresses: [XXX.XXX.196.33/20]
gateway4: XXX.XXX.192.254
nameservers:
addresses: [XXX.XXX.192.80]
Unfortunately my bridge configuration is not working for that interface. After applying I cannot route.
network:
version: 2
#renderer: NetworkManager
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
bridges:
br0:
dhcp4: false
dhcp6: false
interfaces: [eno1]
addresses: [XXX.XXX.196.33/20]
gateway4: XXX.XXX.192.254
nameservers:
addresses: [XXX.XXX.192.80]
Routing looks like:
# route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
0.0.0.0 XXX.XXX.192.254 0.0.0.0 UG 0 0 0 br0
XXX.XXX.192.0 0.0.0.0 255.255.240.0 U 0 0 0 br0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Now I tried an additional NIC for the bridge with dhcp but failed too:
network:
version: 2
renderer: NetworkManager
#renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
optional: true
addresses: [XXX.XXX.196.33/20]
gateway4: XXX.XXX.192.254
nameservers:
addresses: [XXX.XXX.192.80]
enp4s0:
dhcp4: true
bridges:
br0:
dhcp4: true
dhcp6: false
optional: true
interfaces: [enp4s0]
ip addr shows me that the interface for the bridge is always down!
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: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 00:0a:cd:20:b6:05 brd ff:ff:ff:ff:ff:ff
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether f0:79:59:db:e1:76 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.196.33/20 brd XXX.XXX.207.255 scope global noprefixroute eno1
valid_lft forever preferred_lft forever
inet6 fe80::f279:59ff:fedb:e176/64 scope link
valid_lft forever preferred_lft forever
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 06:62:fa:ee:f8:c2 brd ff:ff:ff:ff:ff:ff
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:a4:3b:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
6: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:a4:3b:8b brd ff:ff:ff:ff:ff:ff
I do not get any error messages when starting
ip link set enp4s0 up
ip link set br0 up
but all NIC are still down.
What is wrong?
Ok, finally I got it working! The configuration above for setting up bridges is correct!
I missed that bridges get a new MAC address and our NAC prevented delivering an IP for that MAC because my previous bridge on the same system got a different MAC address.