事情是这样的,我使用iptables命令出现错误(match错误):
iptables -A INPUT -m physdev --physdev-in ap1_0 -j DROP
报错:iptables: No chain/target/match by that name.
解决办法:
1.iptables的match匹配是需要内核支持的,可以内核目录下make menuconfig查看选项,重点是xtables是否选择了physdev选项:
2.把编译出来的xt_physdev.ko拷贝到目标开发板上进行inmod xt_physdev.ko
然后再次执行刚才的命令就不会报错了
另外加个感叹,内核给的-m physdev 工具配合brctl使用,简直就是绝配啊!太好用了啦!
3.physdev
该模块在桥端口输入和输出设备上匹配,这些输入和输出设备被奴役到桥接设备上。此模块是支持透明桥接IP防火墙的基础结构的一部分,仅适用于2.5.44版本以上的内核版本。
[!] --physdev-in name ,接收数据包的桥端口的名称(仅用于INPUT、FORWARD和PREROUTING链的数据包)。如果接口名以“+“结尾,则以此名称开头的任何接口都将匹