解决iptables参数-m physdev出现iptables: No chain/target/match by that name.错误

在使用iptables命令时遇到‘iptables: No chain/target/match by that name. ’错误。解决方法包括检查内核配置中的xt_physdev选项,将编译后的xt_physdev.ko模块加载到系统,并了解physdev模块在桥接设备上的匹配规则。成功应用后,iptables与brctl结合使用效果显著。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

事情是这样的,我使用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链的数据包)。如果接口名以“+“结尾,则以此名称开头的任何接口都将匹配。如果数据包没有通过桥接设备到达,则此数据包将与此选项不匹配,除非“!”被利用了。

[!] --physdev-out name ,要发送数据包的桥接端口的名称(用于FORWARD、OUTPUT和POSTROUTING链的数据包)。如果接口名以“+“结尾,则以此名称开头的任何接口都将匹配。注意,在NAT和Magle输出链中,不能在桥输出端口上匹配,但是在过滤器输出链中可以匹配。如果数据包不会由网桥设备离开,或者如果它还不知道输出设备将是什么,那么该数据包将与此选项不匹配,除非‘!’使用。

[!] --physdev-is-in ,如果数据包已通过网桥接口输入,则匹配。

[!] --physdev-is-out ,如果数据包将通过网桥接口离开,则匹配。。

[!] --physdev-is-bridged ,如果数据包正在桥接,因此不被路由,则匹配。这仅在FORWARD链和POSTROUTING链中有用。

iptables -A FORWARD -m physdev --physdev-in ap1_+ -j DROP //禁止匹配ap1_*的接口转发
iptables -I FORWARD -m physdev --physdev-in ap1_+ -s 192.168.4.1/32  -j ACCEPT //允许转发源地址192.168.4.1/32 
iptables -I FORWARD -m physdev --physdev-in ap1_+ -d 192.168.4.1/32  -j ACCEPT//允许转发目标地址192.168.4.1/32 

iptables -D FORWARD -m physdev --physdev-in ap1_+ -j DROP
iptables -D FORWARD -m physdev --physdev-in ap1_+ -s 192.168.4.1/32  -j ACCEPT
iptables -D FORWARD -m physdev --physdev-in ap1_+ -d 192.168.4.1/32  -j ACCEPT

 

备注:

我是看了这篇博客解决的这个问题:https://blog.youkuaiyun.com/yangyang031213/article/details/103791996

关于更多match(iptables -m)使用推荐这个文章:http://blog.itpub.net/29270124/viewspace-2611838/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值