![如何(正确)在 Linux 桥上配置 PPPoE/VLAN 解封装?](https://linux22.com/image/769763/%E5%A6%82%E4%BD%95%EF%BC%88%E6%AD%A3%E7%A1%AE%EF%BC%89%E5%9C%A8%20Linux%20%E6%A1%A5%E4%B8%8A%E9%85%8D%E7%BD%AE%20PPPoE%2FVLAN%20%E8%A7%A3%E5%B0%81%E8%A3%85%EF%BC%9F.png)
我一直在尝试使用 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 封装数据包。
我做错了什么/忽略了什么?