Ich habe eine Brücke eingerichtet, die br0
an zwei Schnittstellen "angeschlossen" ist:
eth0
, meine physische Schnittstelle mit dem realen LAN verbunden,vnet0
, eine virtuelle KVM-Schnittstelle (verbunden mit einer Windows-VM).
Und ich habe diese einzige Firewall-Regel in der Vorwärtskette:
iptables -A FORWARD -j REJECT
Jetzt funktioniert nur noch der Ping von der VM zum Host.
Die br0
Schnittstelle besitzt die IP-Adresse meines Host-Computers. eth0
und vnet0
aus Sicht des Hosts keine IP "besitzen". Die Windows-VM verfügt über eine statische IP-Konfiguration.
Wenn Sie meine iptables
Regel in ändern ACCEPT
(oder sogar eine restriktivere verwenden iptables -A FORWARD -o br0 -j ACCEPT
), funktioniert alles einwandfrei! (dh ich kann jeden LAN-Computer von der VM aus anpingen und umgekehrt auch).
Alle IP-Weiterleitungskerneloptionen sind deaktiviert (wie net.ipv4.ip_forward = 0
).
Wie kann die Netfilter-Firewall etwas blockieren, das nicht einmal aktiviert ist?
Darüber hinaus sollte der VM-LAN-Verkehr nur implizieren eth0
und vnet0
. Es sieht jedoch so aus, als würde FORWARD-Verkehr mit -o br0
"Works" zugelassen (ich habe dies jedoch nicht sehr sorgfältig überprüft).
sysctl -a | grep bridge-nf
net.bridge.bridge-nf-call-arptables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-filter-vlan-tagged = 0
net.bridge.bridge-nf-filter-pppoe-tagged = 0
Antworten:
Der Kommentar von Stéphane Chazelas gibt den Hinweis auf die Antwort.
Laut Bridge-nf Häufig gestellte Fragen ermöglicht bridge-nf iptables, ip6tables oder arptables, überbrückten Datenverkehr zu sehen.
Ab Kernel-Version 2.6.1 gibt es fünf sysctl-Einträge für die Verhaltenskontrolle von bridge-nf:
bridge-nf-call-arptables
- Überbrückten ARP-Verkehr an die FORWARD-Kette von arptables weiterleiten.bridge-nf-call-iptables
- Überbrückten IPv4-Verkehr an die Ketten von iptables weiterleiten.bridge-nf-call-ip6tables
- Überbrückten IPv6-Verkehr an die Ketten von ip6tables weiterleiten.bridge-nf-filter-vlan-tagged
- Überbrückten ARP / IP-Verkehr mit VLAN-Tags an Arptables / Iptables weiterleiten.net.bridge.bridge-nf-filter-pppoe-tagged
- Überbrückten IP / IPv6-Verkehr mit pppoe-Tags an {ip, ip6} -Tabellen weiterleitenSie können die Blockierung der Netfilter-Firewall deaktivieren mit:
quelle
br_netfilter
Modul nicht geladen wird. Wenn das Modul nicht geladen ist, bedeutet dies auch, dass kein/proc/sys/net/bridge/
Eintrag vorhanden ist.