Bündelung und Ausfallüberbrückung von Netzwerkverbindungen
Zur Navigation springen
Zur Suche springen
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/interfaces
konfigurieren - 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.service
systemctl mask dhcpcd.service
rm /etc/network/interfaces
mv /etc/network/interfaces /etc/network/interfaces.old.was-used-by-networking
systemctl enable systemd-networkd
systemctl enable systemd-resolved
ln -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