Bündelung und Ausfallüberbrückung von Netzwerkverbindungen
(Weitergeleitet von Network-bonding-failover)
Idee
Verwendungszweck ist eine gewünschte ausfallsichere Verbindung ohne packet loss). Präferiert wird LAN per Ethernet und der fallback ist WLAN.
Hardware
Es werden selbstverständlich mindestens 2 funktionierende Netzwerkschnittstellen benötigt.
Software
Linux
- ifenslave
- tcpdump
FreeBSD
- load Kernelmodul
- tcpdump
Debian: Bonding / failover
Debian: Bonding / failover /etc/network/interfaces
- Pakete sicherstellen
apt-get install ifenslave-2.6 tcpdump
- Network-Manager deaktiveren
-
- Das Management der Schnittstellen erfolgt über wpa_supplicant anstatt mit dem network-manager um Kontrolle über sie zu haben. Dennoch sollte das Paket unter gnome nicht deinstalliert, sondern lediglich der Dienst permanent deaktiviert werden!
sudo /etc/init.d/network-manager stop
sudo update-rc.d network-manager remove
sudo /etc/init.d/networking stop
- wlan interface herausfinden
dmesg | grep wlan
- Interfaces in
/etc/network/interfaceskonfigurieren - Hier wurde angenommen, dass die Netzwerk-Schnittstellen auf eth0 und wlan0 lauten.
sudo vi /etc/network/interfaces
# ## ### ### C3D2 ### ### ## #
# The loopback network interface
auto lo
iface lo inet loopback
# Define slaves
#allow-hotplug eth0 # um networking start nicht unnoetig zu verzoegern
auto eth0
iface eth0 inet manual
bond-master bond0
bond-primary eth0
bond-mode active-backup
auto wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
bond-master bond0
bond-primary eth0
bond-mode active-backup
# Define master
auto bond0
iface bond0 inet dhcp
bond-slaves none
bond-primary eth0
bond-mode active-backup
bond-miimon 100
# ## ### ### C3D2 ### ### ## #
# EOF
- WLAN Zugänge mit wpa_supplicant.conf definieren
- Netzwerk neustarten
sudo /etc/init.d/networking restart
Solltet ihr Miredo nutzen wird hier eine Warnung aufgrund einer fehlerhaften Namensauflösung angezeigt.
Debian: Bonding / failover /etc/systemd/network/
systemd hat den Dienst systemd-networkd.service (systemd.netdevsystemd.network), um das Netzwerk zu verwalten.
systemctl mask networking.servicesystemctl mask dhcpcd.servicerm /etc/network/interfacesmv /etc/network/interfaces /etc/network/interfaces.old.was-used-by-networking
systemctl enable systemd-networkdsystemctl enable systemd-resolvedln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
$EDITOR /etc/systemd/network/20-bond1.netdev
[NetDev] Name=bond1 Kind=bond
$EDITOR /etc/systemd/network/21-bond1-e.network
[Match] Name=e* [Network] Bond=bond1
$EDITOR /etc/systemd/network/21-bond1-w.network
[Match] Name=w* [Network] Bond=bond0
$EDITOR /etc/systemd/network/29-bond1.network
[Match] Name=bond0 [Network] DHCP=yes #Address=192.168.1.100/24 #Gateway=192.168.1.1
$EDITOR /etc/modprobe.d/bonding.conf
options bonding mode=active-backup options bonding primary=eth0 options bonding miimon=500 options bonding updelay=1000 options bonding downdelay=1000 options bonding min_links=1
Getestet (auf dem Computer/pubert) mit Debian 10 (Proxmox 6)!
FreeBSD: Link Aggregation Control Protocol (LACP) / failover
- lagg Kernelmodul laden lassen
vi /boot/kernel/loader.conf
# ## ### ### C3D2 ### ### ## # if_lagg_load="YES" # ## ### ### C3D2 ### ### ## # # EOF
kldload if_lagg
- lacp / lagg0 Network definieren
vi /etc/rc.conf
# ## ### ### C3D2 ### ### ### ifconfig_bge0="up" ifconfig_bge0="ether DE:AD:BE:EF:BA:BE" wlans_wpi0="wlan0" ifconfig_wlan0="WPA" ifconfig_wpi0="ether DE:AD:BE:EF:BA:BE" ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP" ifconfig_lagg0_ipv6="inet6 accept_rtadv" ip6addrctl_policy="ipv6_prefer" # ## ### ### C3D2 ### ### ### # EOF
- wpa_supplicant.conf - WLAN Zugänge definieren
vi /etc/wpa_supplicant.conf
# ## ### ### C3D2 ### ### ###
network={
ssid="C3D2"
key_mgmt=NONE
priority=0
}
# ## ### ### C3D2 ### ### ###
# EOF
- Netzwerk neustarten / wahlweise Systemreboot
/etc/rc.d/netif restart
- Siehe auch
Traffic-Control mit tcpdump
- Drei Terminals (oder panes in tmux) öffnen
- Im Ersten
tcpdump -i eth0 oder bge0 'icmp'
- Im Zweiten
tcpdump -i wlan0 'icmp'
- Im Dritten
- für Traffic sorgen
ping 8.8.8.8
- Jetzt nach Bedarf mal Kabel an- & abstecken
- ... der laufende ping sollte dabei nicht mehr unterbrochen werden!
SternenLogBuch
- 19.06.2014 - Basis Config