This guide uses ifupdown2 to configure the network interfaces. Compared to traditional ifupdown the configuration gets much easier. If you want to stick to ifupdown, use the old version of this guide. Please note: Due to a bug in ifupdown you may not be able to change the bond mode to anything else than mode 0 (Balanced-Round-Robin). So you better continue reading and see the ease of use of ifupdown2.
Before you start, you should configure your switch right!
The following technologies are combined in this Pseudo-How-To:
What you need:
Install Software:
Configure:
The example below assumes two physical interfaces, eth0 and eth1. If you want to bond more interfaces, just
add a stanza for each nic you want to have bonded. As a mode failover has been chosen (mode active-backup). With
this you can connect each physical interface of your machine to a different switch. Please feel free to change
this to a link aggregation protocol like LACP 802.3ad or similar. Each mode has different options.
The tap0 interface has been configured for the user "libvirt-qemu" to use with kvm virtual machines.
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # physical network ports for the bond iface eth0 iface eth1 # bonding interface iface bond0 bond-mode active-backup bond-slaves eth0 eth1 bond-miimon 150 bond-downdelay 300 bond-updelay 300 bond-use-carrier 1 bond-xmit-hash-policy layer3+4 pre-up echo eth0 > /sys/class/net/bond0/bonding/primary # interface in VLAN 10 - host's own net auto vlan10 iface vlan10 bridge-ports bond0.10 bridge-stp on address 10.0.0.10/24 gateway 10.0.0.1 # KVM Guest-Networks # bridge 1st VM's NIC in VLAN 500 auto br0 iface br0 bridge-ports bond0.500 tap0 bridge-stp off address 10.5.0.5/24 gateway 10.5.0.1 pre-up ip tuntap add dev tap0 mode tap user libvirt-qemu pre-up ip link set tap0 up post-down ip link set tap0 down post-down ip tuntap del dev tap0 mode tap # bridge 2nd VM's NIC in VLAN 511 auto br1 iface br1 bridge-ports bond0.511 tap1 bridge-stp off address 10.5.11.5/24 gateway 10.5.11.1 pre-up ip tuntap add dev tap1 mode tap user libvirt-qemu pre-up ip link set tap1 up post-down ip link set tap1 down post-down ip tuntap del dev tap1 mode tap
Tips: