Brücken bauen mit Hindernissen
Einrichten einer Bridge unter Debian-Linux.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Setting all being part of the bridge to manual to avoid configuration conflicts
iface enp1s0 inet manual
iface enp2s0 inet manual
iface enp3s0 inet manual
iface enp4s0 inet manual
iface enp5s0 inet manual
iface enp6s0 inet manual
# Bridge config
auto br0
iface br0 inet static
bridge_ports enp1s0 enp2s0 enp3s0 enp4s0 enp5s0 enp6s0
address 192.168.178.183
broadcast 192.168.178.255
gateway 192.168.178.1
netmask 255.255.255.0
# The primary network interface
#allow-hotplug enp1s0
#iface enp1s0 inet dhcp
-
Zeile 3-8 verhindern das die Interfaces durch irgendeinen Dienst aktiviert werden
-
Zeile 11 definiert das br0 (das Bridge-Interface) automatisch aktiviert wird
-
Zeile 12-17 definiert die Netzwerkschnittstellen die Teil der Bridge werden und die IP-Adresse die die br0 bekommen soll
-
br0 ist im Prinzip das virtuelle Netzwerkinterface über welchen der Host (also das System selbst) Zugang zum Netzwerk bekommt
-
-
Zeile 19 ist die ursprüngliche (kommentierte) Netzwerkkonfiguration des Systems
Danach hat man wahrscheinlich das Problem das man zwar das System erreichen kann, aber die Bridge nicht funktioniert.
Das liegt daran das für Bridge-Interfaces per Default in neueren Kernel-Versionen Netfilter (die Firewall in Linux) aktiv ist und das weiterleiten verhindert.
net.bridge.bridge-nf-call-arptables = 0
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
Danach wird es wahrscheinlich immer noch nicht funktionieren und man wird folgendes im syslog finden:
Mar 12 20:05:34 vp-2 systemd-sysctl[273]: Couldn't write '0' to 'net/bridge/bridge-nf-call-arptables', ignoring: No such file or directory
Mar 12 20:05:34 vp-2 systemd-sysctl[273]: Couldn't write '0' to 'net/bridge/bridge-nf-call-ip6tables', ignoring: No such file or directory
Mar 12 20:05:34 vp-2 systemd-sysctl[273]: Couldn't write '0' to 'net/bridge/bridge-nf-call-iptables', ignoring: No such file or directory
Der Grund ist das zum Zeitpunkt wo sysctl aufgerufen wird um die Parameter zu setzen das Netzwerk noch nicht gestartet wurde.
Dadurch sind die Module bridge und br_netfilter noch nicht geladen und daher existieren die Dateien (in /proc/net/bridge-nf-call usw.) nicht.
bridge
br_netfilter
Obiges lädt die Module bridge und br_netfilter beim Systemstart und damit vor sysctl und damit sind die entsprechenden Dateien beim Aufruf von sysctl vorhanden.