Bündelung und Ausfallüberbrückung von Netzwerkverbindungen

Aus C3D2
Zur Navigation springen Zur Suche springen

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).

Debian: Bonding / failover

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.

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

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