Bündelung und Ausfallüberbrückung von Netzwerkverbindungen
(Weitergeleitet von Bündelung und und Ausfallüberbrückung von Netzwerkverbindungen)
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