[SOLVED] Backup network connection

FredZ

Active Member
Feb 19, 2021
4
1
41
66
Hello all

I am wanting to setup a backup network connection for my server, but I'm having issues due to my lack of knowledge/understanding.

Primary link is a 10G fiber link
Secondary is a 1G ethernet link
Both links are on seperate switches.

I would like everything to be automatic in that if the primary (fiber) link goes down it automatically swaps to the secondary (copper) link. When the primary link comes back up it should swap back to the fiber link.

As can be seen I have made a feble attempt at bonding that doesn't work at all.

Environment: Virtual Environment 8.4.16
Hardware: ProLiant DL380 Gen9 (single server)

Current interfaces
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

iface ens6f0 inet manual

iface ens6f1 inet manual

auto bond0
iface bond0 inet manual
bond-slaves eno1
bond-miimon 100
bond-mode active-backup
bond-primary ens6f1

auto vmbr0
iface vmbr0 inet static
address 10.0.1.1/8
gateway 10.0.0.1
bridge-ports ens6f1
bridge-stp off
bridge-fd 0

source /etc/network/interfaces.d/*

ip a
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 noprefixroute
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
link/ether 1c:98:ec:17:62:fc brd ff:ff:ff:ff:ff:ff
altname enp2s0f0
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 1c:98:ec:17:62:fd brd ff:ff:ff:ff:ff:ff
altname enp2s0f1
4: eno3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 1c:98:ec:17:62:fe brd ff:ff:ff:ff:ff:ff
altname enp2s0f2
5: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 1c:98:ec:17:62:ff brd ff:ff:ff:ff:ff:ff
altname enp2s0f3
6: ens6f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether a4:dc:be:13:75:6a brd ff:ff:ff:ff:ff:ff
altname enp129s0f0
7: ens6f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP group default qlen 1000
link/ether a4:dc:be:13:75:6b brd ff:ff:ff:ff:ff:ff
altname enp129s0f1
8: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether a4:dc:be:13:75:6b brd ff:ff:ff:ff:ff:ff
inet 10.0.1.1/8 scope global vmbr0
valid_lft forever preferred_lft forever
inet6 fe80::a6dc:beff:fe13:756b/64 scope link
valid_lft forever preferred_lft forever
9: veth108i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr108i0 state UP group default qlen 1000
link/ether fe:a8:6b:af:18:cb brd ff:ff:ff:ff:ff:ff link-netnsid 0
10: fwbr108i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 0e:4b:38:23:cb:a8 brd ff:ff:ff:ff:ff:ff
11: fwpr108p0@fwln108i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether a6:d0:ab:c0:18:09 brd ff:ff:ff:ff:ff:ff
12: fwln108i0@fwpr108p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr108i0 state UP group default qlen 1000
link/ether 0e:4b:38:23:cb:a8 brd ff:ff:ff:ff:ff:ff
13: veth106i0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether fe:62:ec:f2:d8:8e brd ff:ff:ff:ff:ff:ff link-netnsid 1
14: tap102i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr102i0 state UNKNOWN group default qlen 1000
link/ether 82:62:20:f9:be:ac brd ff:ff:ff:ff:ff:ff
15: fwbr102i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 8e:a8:4c:f3:cf:ba brd ff:ff:ff:ff:ff:ff
16: fwpr102p0@fwln102i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether 4a:c1:2a:29:bb:c3 brd ff:ff:ff:ff:ff:ff
17: fwln102i0@fwpr102p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr102i0 state UP group default qlen 1000
link/ether 8e:a8:4c:f3:cf:ba brd ff:ff:ff:ff:ff:ff
18: tap107i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr107i0 state UNKNOWN group default qlen 1000
link/ether d6:ef:57:4a:8a:18 brd ff:ff:ff:ff:ff:ff
19: fwbr107i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether ae:9b:29:d5:42:2d brd ff:ff:ff:ff:ff:ff
20: fwpr107p0@fwln107i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether 7e:6b:c5:74:53:11 brd ff:ff:ff:ff:ff:ff
21: fwln107i0@fwpr107p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr107i0 state UP group default qlen 1000
link/ether ae:9b:29:d5:42:2d brd ff:ff:ff:ff:ff:ff
22: tap100i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr100i0 state UNKNOWN group default qlen 1000
link/ether 72:58:41:27:6e:51 brd ff:ff:ff:ff:ff:ff
23: fwbr100i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether ea:d3:5f:d7:c4:84 brd ff:ff:ff:ff:ff:ff
24: fwpr100p0@fwln100i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether 02:f6:0f:e0:1a:66 brd ff:ff:ff:ff:ff:ff
25: fwln100i0@fwpr100p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr100i0 state UP group default qlen 1000
link/ether ea:d3:5f:d7:c4:84 brd ff:ff:ff:ff:ff:ff
26: tap101i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr101i0 state UNKNOWN group default qlen 1000
link/ether 2e:8d:80:e7:9e:7a brd ff:ff:ff:ff:ff:ff
27: fwbr101i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 3a:1d:09:28:4e:c0 brd ff:ff:ff:ff:ff:ff
28: fwpr101p0@fwln101i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether 76:9f:1c:3e:a8:05 brd ff:ff:ff:ff:ff:ff
29: fwln101i0@fwpr101p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr101i0 state UP group default qlen 1000
link/ether 3a:1d:09:28:4e:c0 brd ff:ff:ff:ff:ff:ff
30: tap103i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr103i0 state UNKNOWN group default qlen 1000
link/ether ba:34:61:cf:1e:22 brd ff:ff:ff:ff:ff:ff
31: fwbr103i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 3a:1e:56:16:60:a8 brd ff:ff:ff:ff:ff:ff
32: fwpr103p0@fwln103i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether fe:5c:ea:b2:17:ca brd ff:ff:ff:ff:ff:ff
33: fwln103i0@fwpr103p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr103i0 state UP group default qlen 1000
link/ether 3a:1e:56:16:60:a8 brd ff:ff:ff:ff:ff:ff
34: tap105i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr105i0 state UNKNOWN group default qlen 1000
link/ether 32:28:32:e5:3e:55 brd ff:ff:ff:ff:ff:ff
35: fwbr105i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether b2:d9:8c:14:56:fa brd ff:ff:ff:ff:ff:ff
36: fwpr105p0@fwln105i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether a6:2a:81:47:0c:15 brd ff:ff:ff:ff:ff:ff
37: fwln105i0@fwpr105p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr105i0 state UP group default qlen 1000
link/ether b2:d9:8c:14:56:fa brd ff:ff:ff:ff:ff:ff
38: tap109i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr109i0 state UNKNOWN group default qlen 1000
link/ether ea:34:1b:00:6a:8e brd ff:ff:ff:ff:ff:ff
39: fwbr109i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 36:d8:7b:61:b4:f2 brd ff:ff:ff:ff:ff:ff
40: fwpr109p0@fwln109i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether 66:ce:02:1d:79:87 brd ff:ff:ff:ff:ff:ff
41: fwln109i0@fwpr109p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr109i0 state UP group default qlen 1000
link/ether 36:d8:7b:61:b4:f2 brd ff:ff:ff:ff:ff:ff
42: tap110i0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master fwbr110i0 state UNKNOWN group default qlen 1000
link/ether c2:dd:9b:11:a4:96 brd ff:ff:ff:ff:ff:ff
43: fwbr110i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 9e:c5:70:ce:a3:4c brd ff:ff:ff:ff:ff:ff
44: fwpr110p0@fwln110i0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master vmbr0 state UP group default qlen 1000
link/ether 42:bb:39:e1:0d:48 brd ff:ff:ff:ff:ff:ff
45: fwln110i0@fwpr110p0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master fwbr110i0 state UP group default qlen 1000
link/ether 9e:c5:70:ce:a3:4c brd ff:ff:ff:ff:ff:ff
46: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 1c:98:ec:17:62:fc brd ff:ff:ff:ff:ff:ff
inet6 fe80::1e98:ecff:fe17:62fc/64 scope link
valid_lft forever preferred_lft forever

Your thoughts/assistance would be most apreciated.

Regards

Fred
 
OK, after some googling and trying I've managed to get things working as expected.

/etc/network/interfaces
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

iface ens6f0 inet manual

iface ens6f1 inet manual

auto bond0
iface bond0 inet manual
bond-slaves ens6f1 eno1
bond-miimon 100
bond-mode active-backup
bond-primary ens6f1

auto vmbr0
iface vmbr0 inet static
address 10.0.1.1/8
gateway 10.0.0.1
bridge-ports bond0
bridge-stp off
bridge-fd 0

source /etc/network/interfaces.d/*
Notes: All nics in the bond have to be configured as slaves. The order of the bond-slaves is importent "master slave slave". bridge-ports = the bond not the nic.

I have also discovered that the ifreload -a command doesn't load the bond as expected. A system reboot was required. I was not able to discover an alternative to that solution.


Regards

Fred
 
  • Like
Reactions: Onslow