如何(正确)在 Linux 桥上配置 PPPoE/VLAN 解封装?

如何(正确)在 Linux 桥上配置 PPPoE/VLAN 解封装?

我一直在尝试使用 Linux 桥接器结合 bridge-nf-call-iptables、bridge-nf-filter-vlan-tagged 和 bridge-nf-filter-pppoe-tagged 系统变量来设置透明的 L2 Linux 桥接防火墙。

我的配置:

桥:

brctl addif br0 enp1s0
brctl addif br0 enp2s0
ifconfig enp1s0 up
ifconfig enp2s0 up
ifconfig br0 up

桥接-nf:

/proc/sys/net/bridge/bridge-nf-call-iptables > 1
/proc/sys/net/bridge/bridge-nf-filter-vlan-tagged > 1
/proc/sys/net/bridge/bridge-nf-filter-pppoe-tagged > 1

IP表:

iptables -A INPUT -d 8.8.8.8 -j DROP
iptables -A FORWARD -d 8.8.8.8 -j DROP

使用上述设置,当尝试通过 PPPoE 封装连接(通过网桥运行)对 8.8.8.8 进行 DNS 查找时,不会有任何内容被阻止,DNS 查询成功。直接执行相同查询(没有 PPPoE 封装)确实会被正确阻止。因此,看来数据包在被 iptables 处理之前没有正确解封装。但是,根据文档,设置 /proc/sys/net/bridge/bridge-nf-filter-pppoe-tagged 应该可以让 iptables 过滤 PPPoE 封装数据包。

我做错了什么/忽略了什么?

相关内容