Güvenlik duvarım (iptables) neden köprüme (brctl) müdahale ediyor?


11

br0İki arabirime "bağlı" bir köprü kurdum :

  • eth0, fiziksel arayüzüm gerçek LAN'a bağlı,
  • vnet0, bir KVM sanal arabirimi (Windows VM'ye bağlı).

Ve ileri zincirde bu tek güvenlik duvarı kuralı var:

iptables -A FORWARD -j REJECT

Şimdi, çalışan tek ping VM'den ana bilgisayara.

br0Arayüz benim ana makinenin IP adresini sahibi. eth0ve vnet0ana bilgisayar bakış açısından hiçbir IP'ye "sahip değil". Windows VM'nin statik bir IP yapılandırması vardır.

Değişim benim Eğer iptableskuralı ACCEPT(hatta daha kısıtlayıcı kullanmak iptables -A FORWARD -o br0 -j ACCEPT, her şey çalışıyor cezası)! (yani VM'den herhangi bir LAN makinesine ping atabilirim, ve diğer yönde de).

Tüm IP yönlendirme çekirdek seçenekleri devre dışıdır (gibi net.ipv4.ip_forward = 0).

Peki, netfilter güvenlik duvarı etkin olmayan bir şeyi nasıl engelleyebilir?

Ayrıca, VM - LAN trafiği yalnızca eth0ve vnet0. Yine de -o br0"çalışır" ile İLERİ trafik izin gibi görünüyor (Ben çok dikkatle olsa kontrol etmedi).


Bu U&L için A'ya bir göz atın Q: Bir köprü kullanırken ayarlar
slm

1
Çıktısı nedirsysctl -a | grep bridge-nf
Stéphane Chazelas

@ StéphaneChazelas 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
Totor

Yanıtlar:


10

Yorum Stéphane Chazelas gelen cevaba ipucu sağlar.

Göre Köprüsü-nf Sıkça Sorulan Sorular köprü nf köprülü trafiği görmek için iptables, ip6tables'ı veya arp tablosu sağlar.

Çekirdek sürüm 2.6.1'den itibaren, köprü-nf davranışsal kontrolü için beş sistem girdisi vardır :

  • bridge-nf-call-arptables - Köprülü ARP trafiğini arptables'ın İLERİ zincirine geçirin.
  • bridge-nf-call-iptables - köprülü IPv4 trafiğini iptables zincirlerine aktarın.
  • bridge-nf-call-ip6tables - köprülü IPv6 trafiğini ip6tables zincirlerine aktarın.
  • bridge-nf-filter-vlan-tagged - köprülü vlan etiketli ARP / IP trafiğini arptables / iptables'a aktarın.
  • net.bridge.bridge-nf-filter-pppoe-tagged - köprülü pppoe etiketli IP / IPv6 trafiğini {ip, ip6} tablolarına aktarın

Netfilter güvenlik duvarı engellemesini aşağıdakilerle devre dışı bırakabilirsiniz:

# sysctl -w net.bridge.bridge-nf-call-iptables=0
# sysctl -w net.bridge.bridge-nf-call-ip6tables=0

4
Linux 3.18'den beri, iptables'ın köprüden paketleri işlemesi işlevi, br_netfiltermodül yüklenmeyerek devre dışı bırakılabilir . Modülün yüklü olmaması, /proc/sys/net/bridge/giriş olmadığı anlamına da gelir .
Lekensteyn

Ve Linux çekirdeği 5.3'ten beri bu özellik global yerine ad alanı başına gelir.
AB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.