This article will describe creating bridge interface of ethernet. This makes that other machines in network can connect to virtual machines on KVM and containers on LXD via network.
Table of Contents
1 bridge-utils + DHCP
$ INTERFACE=ens3 $ sudo apt install -y bridge-utils $ cat <<EOF | sudo tee /etc/network/interfaces auto lo iface lo inet loopback auto br0 iface br0 inet dhcp bridge_ports ${INTERFACE} bridge_stp off bridge_maxwait 0 EOF $ sudo reboot
2 bridge-utils + Static IP Address
$ INTERFACE=ens3 $ sudo apt install -y bridge-utils $ cat <<EOF | sudo tee /etc/network/interfaces auto lo iface lo inet loopback auto br0 iface br0 inet static address 192.168.11.250 netmask 255.255.255.0 network 192.168.11.0 broadcast 192.168.11.255 gateway 192.168.11.1 dns-nameservers 192.168.11.2 dns-search hiroom2.com bridge_ports ${INTERFACE} bridge_stp off bridge_maxwait 0 EOF $ sudo sed -i /etc/systemd/resolved.conf \ -e 's/^#DNS=/DNS=192.168.11.2/g' \ -e 's/^#Domains=/Domains=hiroom2.com/g' $ sudo reboot
3 nmcli + DHCP
$ sudo nmcli con add type bridge ifname br0 $ sudo nmcli con mod bridge-br0 bridge.stp no $ sudo nmcli con add type bridge-slave ifname ${INTERFACE} master bridge-br0 $ sudo reboot
4 nmcli + Static IP Address
$ sudo nmcli con add type bridge ifname br0 $ sudo nmcli con mod bridge-br0 bridge.stp no $ sudo nmcli con add type bridge-slave ifname ${INTERFACE} master bridge-br0 $ sudo nmcli con modify bridge-br0 ipv4.method manual \ ipv4.address "192.168.11.250/24" \ ipv4.gateway "192.168.11.1" \ ipv4.dns "192.168.11.2" \ ipv4.dns-search "hiroom2.com" $ sudo reboot
5 systemd-networkd + DHCP
$ INTERFACE=ens3 $ MACADDR=$(ip a s ${INTERFACE} | grep 'link/ether' | awk '{ print $2 }') $ cat <<EOF | sudo tee /etc/systemd/network/br0.netdev [NetDev] Name=br0 Kind=bridge EOF $ cat <<EOF | sudo tee /etc/systemd/network/br0.network [Match] Name=br0 [Link] MACAddress=${MACADDR} [Network] DHCP=yes EOF $ cat <<EOF | sudo tee /etc/systemd/network/${INTERFACE}.network [Match] Name=${INTERFACE} [Network] Bridge=br0 [Network] DHCP=no EOF $ sudo systemctl enable systemd-networkd $ sudo reboot
6 systemd-networkd + Static IP Address
$ INTERFACE=ens3 $ MACADDR=$(ip a s ${INTERFACE} | grep 'link/ether' | awk '{ print $2 }') $ cat <<EOF | sudo tee /etc/systemd/network/br0.netdev [NetDev] Name=br0 Kind=bridge EOF $ cat <<EOF | sudo tee /etc/systemd/network/br0.network [Match] Name=br0 [Link] MACAddress=${MACADDR} [Network] Address=192.168.11.250/24 Gateway=192.168.11.1 DNS=192.168.11.2 Domain=hiroom2.com EOF $ cat <<EOF | sudo tee /etc/systemd/network/${INTERFACE}.network [Match] Name=${INTERFACE} [Network] Bridge=br0 [Network] DHCP=no EOF $ sudo systemctl enable systemd-networkd $ sudo reboot