Warm tip: This article is reproduced from serverfault.com, please click

linux-iptables

(Iptables)

发布于 2021-03-19 08:25:32

我已经安装br0了包含两个接口的以太网桥eth0并且tap0

brctl addbr br0
brctl addif eth0
brctl addif tap0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 

我的默认FORWARD连锁政策是DROP

iptables -P FORWARD DROP

当我不添加以下规则时,流量不会通过网桥。

iptables -A FORWARD -p all -i br0 -j ACCEPT

据我了解,iptables它仅负责IP层。

ebtables 应该负责过滤以太网桥上的流量。

那么,为什么我必须在iptable的FORWARD链中添加ACCEPT规则?

Questioner
Dariusz Bacinski
Viewed
33
coredump 2010-07-21 05:10:39

由于br-nf代码可作为linux 2.4的修补程序使用并在linux 2.6中使用:

br-nf代码使桥接的IP帧/数据包通过iptables链。ebtables过滤以太网层,而iptables仅过滤IP数据包。

由于你正在处理的流量是ip,因此iptables规则仍然适用,因为br-nf将桥接数据包传递到iptables

是一个很好的资源,以了解互动和这一个细节的功能BR-NF代码,包括如何禁用全部或部分功能的(即不是通过桥流量的iptables)。