Bündelung und und Ausfallüberbrückung von Netzwerkverbindungen: Unterschied zwischen den Versionen

Aus C3D2
Wechseln zu: Navigation, Suche
(FreeBSD: Link Aggregation Control Protocol (LACP) / failover)
(Debian: Bonding / failover)
 
Zeile 18: Zeile 18:
  
 
=== Debian: Bonding / failover ===
 
=== Debian: Bonding / failover ===
 +
 +
==== Debian: Bonding / failover ''/etc/network/interfaces'' ====
  
 
; Pakete sicherstellen:
 
; Pakete sicherstellen:
Zeile 67: Zeile 69:
  
 
Solltet ihr Miredo nutzen wird hier eine Warnung aufgrund einer fehlerhaften Namensauflösung angezeigt.
 
Solltet ihr Miredo nutzen wird hier eine Warnung aufgrund einer fehlerhaften Namensauflösung angezeigt.
 +
 +
==== Debian: Bonding / failover ''/etc/systemd/network/'' ====
 +
 +
[https://www.freedesktop.org/software/systemd/ systemd] hat den Dienst [https://www.freedesktop.org/software/systemd/man/systemd-networkd.service.html systemd-networkd.service] ([https://www.freedesktop.org/software/systemd/man/systemd.netdev systemd.netdev][https://www.freedesktop.org/software/systemd/man/systemd.network systemd.network]), um das Netzwerk zu verwalten.
 +
 +
: <code>systemctl mask networking.service</code>
 +
: <code>systemctl mask dhcpcd.service</code>
 +
: <s><code>rm /etc/network/interfaces</code></s>
 +
:: <code>mv /etc/network/interfaces /etc/network/interfaces.old.was-used-by-networking</code>
 +
 +
: <code>systemctl enable systemd-networkd</code>
 +
: <code>systemctl enable systemd-resolved</code>
 +
: <s><code>ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf</code></s>
 +
 +
: <code>$EDITOR /etc/systemd/network/20-bond1.netdev</code>
 +
<pre>
 +
[NetDev]
 +
Name=bond1
 +
Kind=bond
 +
</pre>
 +
: <code>$EDITOR /etc/systemd/network/21-bond1-e.network</code>
 +
<pre>
 +
[Match]
 +
Name=e*
 +
[Network]
 +
Bond=bond1
 +
</pre>
 +
: <code>$EDITOR /etc/systemd/network/21-bond1-w.network</code>
 +
<pre>
 +
[Match]
 +
Name=w*
 +
[Network]
 +
Bond=bond0
 +
</pre>
 +
: <code>$EDITOR /etc/systemd/network/29-bond1.network</code>
 +
<pre>
 +
[Match]
 +
Name=bond0
 +
[Network]
 +
DHCP=yes
 +
#Address=192.168.1.100/24
 +
#Gateway=192.168.1.1
 +
</pre>
 +
 +
: <s><code>$EDITOR /etc/modprobe.d/bonding.conf</code></s>
 +
<s>
 +
<pre>
 +
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
 +
</pre>
 +
</s>
 +
 +
Getestet (auf dem [[Computer/pubert]]) mit Debian&nbsp;10 ([[Proxmox]]&nbsp;6)!
  
 
=== FreeBSD: Link Aggregation Control Protocol (LACP) / failover ===
 
=== FreeBSD: Link Aggregation Control Protocol (LACP) / failover ===

Aktuelle Version vom 23. Juli 2019, 13:00 Uhr

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