配置bridge后,透传的数据包未经过iptables问题的解决

初始环境为两台运行LinuxMint的虚拟机,一台linux内核为3.19(1),另一台内核为3.13(2)。

希望在两台虚拟机中配置bridge防火墙,配置bridge后两台虚拟机都成功成为桥接设备(到达eth0的数据包,经过bridge接口透明传输至eth1,反之亦然)。

配置iptables:

iptables -P FORWARD DROP

配置后,数据包无法透明传输通过机器(2),但依然能通过机器(1)。

这说明经过机器(1)bridge接口的数据包未经过iptables,经过一番搜寻,原因可能为bridge-nf-call-iptables未配置。通过sysctl进行设置报错:

sysctl -w net.bridge.bridge-nf-call-iptables=1
:cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory

查看/proc文件夹下,/proc/sys/net/bridge文件夹都不能存在。

又经过一番搜寻,可能是某些模块未加载,但此时bridge模块肯定是加载了的,不然bridge功能都应当无法工作。

查看/lib/modules/$(uname -r)/kernel/net/bridge文件夹下面的文件,机器(1)比机器(2)在bridge.ko和netfilter文件夹外还多了一个br_netfilter.ko文件。立刻加载之,再查看/proc/sys/net/bridge文件夹就有了,bridge-nf-call-iptables也有了。

查看两个系统在/boot下面的内核config文件,搜索bridge,有一条配置不同:

机器(1)中为:CONFIG_BRIDGE_NETFILTER=m

机器(2)中为:CONFIG_BRIDGE_NETFILTER=y​

猜想这应该就是导致br_netfilter以模块的形式存在于机器(1)中的原因吧。真是坑。。。。

记录在此,如果有人遇到类似的问题,希望能够搜索到。

转载于:https://my.oschina.net/ureyishere/blog/631751

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值