
br0
両方のインターフェイスに「接続された」ブリッジを設定しました。
eth0
、私の物理インターフェイスは物理LANに接続されています。vnet0
、KVM仮想インターフェイス(Windows VMに接続)
フォワードチェーンにファイアウォールルールがあります。
iptables -A FORWARD -j REJECT
これで有効な唯一のpingは、VMからホストに送信することです。
このbr0
インターフェイスは私のホストのIPアドレスを保持します。ホストの観点から見ると、eth0
どのIPも「所有」しません。vnet0
Windows VM には固定 IP 構成があります。
iptables
ルールを変更するとACCEPT
(またはより制限的なルールを使用するとiptables -A FORWARD -o br0 -j ACCEPT
)、すべてがうまくいきます! (つまり、仮想マシンで任意のLANコンピュータをpingでき、その逆も同様です。)
すべてのIP転送カーネルオプションが無効になります(例net.ipv4.ip_forward = 0
:)。
それでは、NetFilterファイアウォールはアクティブでないことをどのようにブロックしますか?
また、VM-LANトラフィックはおよびのみをeth0
示す必要がありますvnet0
。しかし、「有効な」転送トラフィックを許可するようです-o br0
(再確認はしませんが)。
答え1
これコメントStéphane Chazelasは答えのヒントを提供します。
~によるとBridge-nf FAQbridge-nf を使用すると、iptables、ip6tables、または arptables を使用してブリッジ トラフィックを表示できます。
カーネルバージョン2.6.1から5つあります。システム制御項目bridge-nf モーションコントロールの場合:
bridge-nf-call-arptables
- ブリッジされたARPトラフィックをFORWARD arptableチェーンに転送します。bridge-nf-call-iptables
- ブリッジされたIPv4トラフィックをiptablesに転送するチェーン。bridge-nf-call-ip6tables
- ブリッジされたIPv6トラフィックをip6tablesチェーンに転送します。bridge-nf-filter-vlan-tagged
- ブリッジされた VLAN タグ付き ARP/IP トラフィックを arptables/iptables に転送します。net.bridge.bridge-nf-filter-pppoe-tagged
- ブリッジされたpppoeタグ付きIP / IPv6トラフィックを{ip、ip6}テーブルに転送します。
次のコマンドを使用して、netfilter ファイアウォールのブロックを無効にできます。
# sysctl -w net.bridge.bridge-nf-call-iptables=0
# sysctl -w net.bridge.bridge-nf-call-ip6tables=0