Bündelung und Ausfallüberbrückung von Netzwerkverbindungen
Hardware Info
benötigt mindestens 2 funktionierende Interfaces
Software Info
Linux
- ifenslave
- tcpdump
FreeBSD
- load Kernelmodul
- tcpdump
Verwendungszweck
Gewünscht ist eine ausfallsichere Verbindung (präferiert über Ethernet, fallback über WLAN) ohne packet loss
Linux (Debian): Bonding / failover
1. Pakete sicherstellen
apt-get install ifenslave-2.6 tcpdump
2. 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
3. wlan interface herausfinden
dmesg | grep wlan
4. Interfaces in /etc/network/interfaces konfigurieren
Hier wurde angenommen, dass die Netzwerk-Schnittstellen auf eth0 und wlan0 lauten.
sudo vi /etc/network/interfaces
# ## ### ### C3D2 ### ### ## # # Define slaves 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
5. WLAN Zugänge mit wpa_supplicant.conf definieren
6. Netzwerk neustarten
sudo /etc/init.d/networking restart
Solltet ihr Miredo nutzen wird hier eine Warnung aufgrund einer fehlerhaften Namensauflösung angezeigt.
FreeBSD: Link Aggregation Control Protocol (LACP) / failover
1. lagg Kernelmodul laden lassen
vi /boot/kernel/loader.conf
# ## ### ### C3D2 ### ### ## # if_lagg_load="YES" # ## ### ### C3D2 ### ### ## # # EOF kldload if_lagg
2. 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
3. wpa_supplicant.conf - WLAN Zugänge definieren
vi /etc/wpa_supplicant.conf
# ## ### ### C3D2 ### ### ### network={ ssid="C3D2" key_mgmt=NONE priority=0 } # ## ### ### C3D2 ### ### ### # EOF
4. Netzwerk neustarten / wahlweise Systemreboot
/etc/rc.d/netif restart
Traffic-Control mit tcpdump
1. Drei Terminals (oder panes in tmux) öffnen
2. Im ersten:
tcpdump -i eth0 oder bge0 'icmp'
3. Im zweiten:
tcpdump -i wlan0 'icmp'
4. Im dritten: für Traffik sorgen
ping 8.8.8.8
5. Jetzt nach Bedarf mal Kabel an- & abstecken ... der laufende ping sollte dabei nicht mehr unterbrochen werden!
SternenLogBuch
- 19.06.2014 - Basis Config