Nastavení bondingu (redundantní připojení serveru)
Debian¶
Nainstalovat balíček ifenslave:
apt-get install ifenslave
Editovat soubor /etc/network/interfaces a prepsat eth0 na nasledujici:
auto bond0
iface bond0 inet static
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
dns-nameservers 78.24.12.150 217.16.191.70
dns-search vshosting.cz
bond-mode 802.3ad
bond-xmit-hash-policy layer3+4
bond-lacp-rate 1
bond-miimon 100
bond-downdelay 200
bond-updelay 200
slaves eth0 eth1
Ubuntu 16.04¶
Zde je nastavení obdobné jako u Debianu
Ubuntu 18.04 a novější¶
Vytvořte soubor /etc/netplan/config.yaml
s následujícím obsahem:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
eno2:
dhcp4: no
bonds:
bond0:
addresses:
- XXX.XXX.XXX.XXX/YY
gateway4: XXX.XXX.XXX.XXX
nameservers:
addresses:
- 78.24.12.150
- 217.16.191.70
interfaces:
- eno1
- eno2
parameters:
mode: 802.3ad
mii-monitor-interval: 100
A potom spusťte netplan apply
.
Centos 7 a 8¶
Nejprve je nastavit načítání modulu pro podporu bondingu.
modprobe --first-time bonding
Vytvoříme soubor ifcfg-bond0:
vi /etc/sysconfig/network-scripts/ifcfg-bond0
a vložíme
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=x.x.x.x
PREFIX=xx
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=4 lacp_rate=1 xmit_hash=1 downdelay=200 updelay=200"
Nastavíme oba interface, které chceme s bondovat (upravíme z výrazněné)
vi /etc/sysconfig/networks-scripts/ifcfg-encp0sX
HWADDR="08:00:27:04:03:86"
TYPE="Ethernet"
**BOOTPROTO="none"**
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s8"
UUID="a97b23f2-fa87-49de-ac9b-39661ba9c20f"
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
Stejně pro další interface.
Poté nahodíme interfacy.
ifup ifcfg-enp0sX
Pokud používáme Network Manager, provedeme ještě:
nmcli con reload
A nakonec restartuje síť.
systemctl restart network
Ověříme si stav bonding
cat /proc/net/bonding/bond0
Centos 6.5¶
Vytvoříme soubor ifcfg-bond0.
vi /etc/sysconfig/network-script/ifcfg-bond0
a vložíme
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=x.x.x.x
NETWORK=x.x.x.x
NETMASK=x.x.x.x
USERCTL=no
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1 xmit_hash=1 downdelay=200 updelay=200"
Vytvoříme soubor bonding.conf
vi /etc/modprobe.d/bonding.conf
a vložíme
alias bond0 bonding
Upavíme konfiguraci eth0 a eth1.
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth1
MASTER=bond0
SLAVE=yes
USERCTL=no
ONBOOT=yes
BOOTPROTO=none
Stejně pro eth1.
Spustíme:
modprobe bonding
service network restart
A zkontrolujeme stav bondu
cat /proc/net/bonding/bond0
Ruční konfigurace¶
Pro ruční nastavení bondingu např. v situaci, kdy chybí balík ifenslave je možné v terminálu použít následující příkazy (eno1, eno2 jsou síťová rozhraní)
ip link add bond0 type bond
ip link set bond0 type bond mode 802.3ad
ip link set eno1 down
ip link set eno1 master bond0
ip link set eno2 down
ip link set eno2 master bond0
ip link set bond0 up
ip address add XXX.XXX.XXX.XXX/YY dev bond0
ip route add default via XXX.XXX.XXX.XXX
Nastavení není trvalé, konfigurace bude po restartu ztracena.