Bündelung und Ausfallüberbrückung von Netzwerkverbindungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
W01f (Diskussion | Beiträge) |
Vater (Diskussion | Beiträge) K (Vater verschob die Seite Bündelung und und Ausfallüberbrückung von Netzwerkverbindungen nach Bündelung und Ausfallüberbrückung von Netzwerkverbindungen) |
||
(23 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[ | == Idee == | ||
Verwendungszweck ist eine gewünschte ausfallsichere Verbindung ohne [[w:de:packet loss|packet loss]]). Präferiert wird LAN per Ethernet und der [[w:de:Rückfallebene | fallback]] ist WLAN. | |||
== Hardware == | |||
Es werden selbstverständlich mindestens 2 funktionierende [[wikipedia:de:Netzwerkschnittstelle|Netzwerkschnittstelle]]n benötigt. | |||
== | == Software == | ||
Linux | Linux | ||
* ifenslave | * ifenslave | ||
Zeile 13: | Zeile 17: | ||
* tcpdump | * tcpdump | ||
== | === Debian: Bonding / failover === | ||
==== Debian: Bonding / failover ''/etc/network/interfaces'' ==== | |||
; Pakete sicherstellen: | |||
: <source lang=bash>apt-get install ifenslave-2.6 tcpdump</source> | |||
; Network-Manager deaktiveren: | |||
:: Das Management der [[network interface|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!'' | |||
:: <source lang=bash>sudo /etc/init.d/network-manager stop</source> | |||
:: <source lang=bash>sudo update-rc.d network-manager remove</source> | |||
:: <source lang=bash>sudo /etc/init.d/networking stop</source> | |||
; wlan interface herausfinden: | |||
: <source lang=bash>dmesg | grep wlan</source> | |||
; Interfaces in <code>/etc/network/interfaces</code> konfigurieren: | |||
: Hier wurde angenommen, dass die [[network interface|Netzwerk-Schnittstellen]] auf <tt>eth0</tt> und <tt>wlan0</tt> lauten. | |||
: <source lang=bash>sudo vi /etc/network/interfaces</source> | |||
<pre> | |||
# ## ### ### C3D2 ### ### ## # | |||
# The loopback network interface | |||
auto lo | |||
iface lo inet loopback | |||
# Define slaves | # Define slaves | ||
#allow-hotplug eth0 # um networking start nicht unnoetig zu verzoegern | |||
auto eth0 | auto eth0 | ||
iface eth0 inet manual | iface eth0 inet manual | ||
Zeile 67: | Zeile 61: | ||
bond-mode active-backup | bond-mode active-backup | ||
bond-miimon 100 | bond-miimon 100 | ||
### ### ### C3D2 ### ### ### | # ## ### ### C3D2 ### ### ## # | ||
# EOF | # EOF | ||
</source> | </pre> | ||
; WLAN Zugänge mit [[wpa_supplicant#Offenes_WLAN_konfigurieren|wpa_supplicant.conf]] definieren: | |||
; Netzwerk neustarten: | |||
: <source lang=bash>sudo /etc/init.d/networking restart</source> | |||
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. | |||
network | |||
: <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 10 ([[Proxmox]] 6)! | |||
=== FreeBSD: Link Aggregation Control Protocol (LACP) / failover === | |||
### ### ### C3D2 ### ### ### | ; lagg Kernelmodul laden lassen | ||
: <source lang=bash>vi /boot/kernel/loader.conf</source> | |||
<pre> | |||
# ## ### ### C3D2 ### ### ## # | |||
if_lagg_load="YES" | if_lagg_load="YES" | ||
### ### ### C3D2 ### ### ### | # ## ### ### C3D2 ### ### ## # | ||
# EOF | # EOF | ||
</pre> | |||
kldload if_lagg | : <source lang=bash>kldload if_lagg</source> | ||
</source> | ; lacp / lagg0 Network definieren | ||
: <source lang=bash>vi /etc/rc.conf</source> | |||
<pre> | |||
# ## ### ### C3D2 ### ### ### | |||
<source lang=bash> | |||
vi /etc/rc.conf | |||
### ### ### C3D2 ### ### ### | |||
ifconfig_bge0="up" | ifconfig_bge0="up" | ||
ifconfig_bge0="ether DE:AD:BE:EF:BA:BE" | ifconfig_bge0="ether DE:AD:BE:EF:BA:BE" | ||
Zeile 123: | Zeile 150: | ||
ifconfig_lagg0_ipv6="inet6 accept_rtadv" | ifconfig_lagg0_ipv6="inet6 accept_rtadv" | ||
ip6addrctl_policy="ipv6_prefer" | ip6addrctl_policy="ipv6_prefer" | ||
### ### ### C3D2 ### ### ### | # ## ### ### C3D2 ### ### ### | ||
# EOF | # EOF | ||
</ | </pre> | ||
; [[wpa_supplicant]].conf - WLAN Zugänge definieren | |||
: <source lang=bash>vi /etc/wpa_supplicant.conf</source> | |||
<pre> | |||
<source lang=bash> | # ## ### ### C3D2 ### ### ### | ||
vi /etc/wpa_supplicant.conf | |||
### ### ### C3D2 ### ### ### | |||
network={ | network={ | ||
ssid="C3D2" | ssid="C3D2" | ||
Zeile 138: | Zeile 162: | ||
priority=0 | priority=0 | ||
} | } | ||
### ### ### C3D2 ### ### ### | # ## ### ### C3D2 ### ### ### | ||
# EOF | # EOF | ||
</ | </pre> | ||
; Netzwerk neustarten / wahlweise Systemreboot | |||
: <source lang=bash>/etc/rc.d/netif restart</source> | |||
<source lang=bash> | |||
/etc/rc.d/netif restart | |||
</source> | |||
; Siehe auch: | |||
* [[stura.htw-dresden.de:user:PaulRiegel/PC-BSD#manuelles Konfigurieren von Netzwerkschnittstellen beim Laptop]] | |||
== Traffic-Control mit tcpdump == | == Traffic-Control mit tcpdump == | ||
; Drei Terminals (oder panes in [[tmux]]) öffnen: | |||
; Im Ersten: | |||
: <source lang=bash>tcpdump -i eth0 oder bge0 'icmp'</source> | |||
; Im Zweiten: | |||
: <source lang=bash>tcpdump -i wlan0 'icmp'</source> | |||
; Im Dritten: für Traffic sorgen | |||
: <source lang=bash>ping 8.8.8.8</source> | |||
; Jetzt nach Bedarf mal Kabel an- & abstecken | |||
: ... der laufende ping sollte dabei nicht mehr unterbrochen werden! | |||
== SternenLogBuch == | |||
* 19.06.2014 - Basis Config | |||
[[Kategorie:Infrastruktur]] | |||
Aktuelle Version vom 24. Januar 2020, 12:55 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