do 20.04 bridges work? what's amis with mine? do i need a special kernel?
i'm trying to setup a bridge for libvirt using 20.04 netplan. Network is fine before trying to define a bridge, but doesn't come up with my bridge definition. What am i missing?
Do i need a special kernel? See why i pose this question right near the bottom.
Before trying to define a bridge the network works fine with /etc/netplan/
# This is the network config written by 'subiquity'
network:
ethernets:
eno1:
addresses:
- 10.3.8.12/21
gateway4: 10.3.8.3
nameservers:
addresses:
- 10.3.8.3
version: 2
in trying to setup a bridge i change the contents to:
network:
ethernets:
eno1:
dhcp4: false
dhcp6: false
bridges:
br96:
interfaces: [ eno1 ]
addresses: [10.3.8.12/21]
gateway4: 10.3.8.3
nameservers:
addresses: [10.3.8.3]
version: 2
Below i show 'ip a' before and after applying the netplan, networkctl status, et al. Can anyone clue me what's amis?
$ ip a
1: lo: <LOOPBACK,
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: eno1: <BROADCAST,
link/ether 40:a8:f0:67:12:46 brd ff:ff:ff:ff:ff:ff
inet 10.3.8.12/21 brd 10.3.15.255 scope global eno1
valid_lft forever preferred_lft forever
inet6 fe80::42a8:
valid_lft forever preferred_lft forever
# netplan --debug generate
DEBUG:command generate: running ['/lib/
** (generate:1386): DEBUG: 09:50:10.524: Processing input file /etc/netplan/
** (generate:1386): DEBUG: 09:50:10.524: starting new processing pass
** (generate:1386): DEBUG: 09:50:10.524: We have some netdefs, pass them through a final round of validation
** (generate:1386): DEBUG: 09:50:10.524: eno1: setting default backend to 1
** (generate:1386): DEBUG: 09:50:10.524: Configuration is valid
** (generate:1386): DEBUG: 09:50:10.524: br96: setting default backend to 1
** (generate:1386): DEBUG: 09:50:10.524: Configuration is valid
** (generate:1386): DEBUG: 09:50:10.524: Generating output files..
** (generate:1386): DEBUG: 09:50:10.524: openvswitch: definition eno1 is not for us (backend 1)
** (generate:1386): DEBUG: 09:50:10.524: NetworkManager: definition eno1 is not for us (backend 1)
** (generate:1386): DEBUG: 09:50:10.524: openvswitch: definition br96 is not for us (backend 1)
** (generate:1386): DEBUG: 09:50:10.524: NetworkManager: definition br96 is not for us (backend 1)
(generate:1386): GLib-DEBUG: 09:50:10.524: posix_spawn avoided (fd close requested)
(generate:1386): GLib-DEBUG: 09:50:10.525: posix_spawn avoided (fd close requested)
0# netplan apply
(ssh connection drops)
# reboot
(comes up with no network)
$ ip a
1: lo: <LOOPBACK,
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: eno1: <BROADCAST,
link/ether 40:a8:f0:67:12:46 brd ff:ff:ff:ff:ff:ff
# head -99 /r*/s*/n*k/*
==> /run/systemd/
[NetDev]
Name=br96
Kind=bridge
==> /run/systemd/
[Match]
Name=br96
[Network]
LinkLocalAddres
Address=
Gateway=10.3.8.3
DNS=10.3.8.3
ConfigureWithou
==> /run/systemd/
[Match]
Name=eno1
[Network]
LinkLocalAddres
Bridge=br96
# networkctl
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 eno1 ether no-carrier pending
2 links listed.
0# networkctl status -a
Failed to query link bit rates: Unit dbus-org.
Failed to query link bit rates: Unit dbus-org.
● 1: lo
Link File: /usr/lib/
Network File: n/a
Queue Length (Tx/Rx): 1/1
● 2: eno1
Link File: /usr/lib/
Network File: n/a
HW Address: 40:a8:f0:67:12:46 (Hewlett Packard)
Queue Length (Tx/Rx): 1/1
Auto negotiation: yes
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
0# journalctl -xe|grep networkd
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- An ExecStart= process belonging to unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- The unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- Automatic restarting of the unit systemd-
-- Subject: A stop job for unit systemd-
-- A stop job for unit systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- An ExecStart= process belonging to unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- The unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- Automatic restarting of the unit systemd-
-- Subject: A stop job for unit systemd-
-- A stop job for unit systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- An ExecStart= process belonging to unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- The unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- Automatic restarting of the unit systemd-
-- Subject: A stop job for unit systemd-
-- A stop job for unit systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- An ExecStart= process belonging to unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- The unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- Automatic restarting of the unit systemd-
-- Subject: A stop job for unit systemd-
-- A stop job for unit systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- An ExecStart= process belonging to unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- The unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- Automatic restarting of the unit systemd-
-- Subject: A stop job for unit systemd-
-- A stop job for unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- The unit systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
-- Subject: A start job for unit systemd-
-- A start job for unit systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
Jan 15 11:07:30 filbert systemd[1]: systemd-
-- The unit systemd-
Jan 15 11:07:31 filbert systemd[1]: Starting Dispatcher daemon for systemd-networkd...
-- Subject: A start job for unit networkd-
-- A start job for unit networkd-
Jan 15 11:07:31 filbert networkd-
Jan 15 11:07:31 filbert systemd[1]: Started Dispatcher daemon for systemd-networkd.
-- Subject: A start job for unit networkd-
-- A start job for unit networkd-
Jan 15 11:09:30 filbert systemd-
Jan 15 11:09:30 filbert systemd[1]: systemd-
-- An ExecStart= process belonging to unit systemd-
Jan 15 11:09:30 filbert systemd[1]: systemd-
-- The unit systemd-
0# dpkg -l *netplan*
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Architecture Description
+++-===
ii libnetplan0:amd64 0.100-0ubuntu4~
un netplan <none> <none> (no description available)
ii netplan.io 0.100-0ubuntu4~
lines 1-8/8 (END)
0# apt-get install netplan
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package netplan is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'netplan' has no installation candidate
100# cat /etc/apt/
deb http://
deb http://
deb http://
deb http://
deb http://
deb http://
deb http://
deb http://
deb http://
deb http://
0# ls -ld /etc/apt/
ls: cannot access '/etc/apt/
2#
So i tried 'apt-get install ifupdown' and tried this in /etc/network/
auto lo
iface lo inet loopback
auto eno1
iface eno1 inet static
address 10.3.8.12
netmask 255.255.248.0
gateway 10.3.8.3
That works, so next i tried with a bridge:
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
bridge_ports eno1
address 10.3.8.12
netmask 255.255.248.0
gateway 10.3.8.3
And that doesn't work. So i tried:
# ifup br0
add bridge failed: Package not installed
run-parts: /etc/network/
ifup: failed to bring up br0
#
That means "You don't have kernel support for bridging...Compile it in. It should be in 'Networking' → 'Networking options'." according to http://
So do i need a special kernel?
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Ubuntu Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- gregrwm
- Solved:
- Last query:
- Last reply: