一个iptable做IP-MAC绑定时,优先级问题
命令如下:
默认策略为accept Chain FORWARD (policy ACCEPT)
执行以下命令:
iptables -I FORWARD -p udp -m iprange --src-range 192.168.0.201-192.168.0.254 -j DROP
iptables -I FORWARD -p tcp -m iprange --src-range 192.168.0.201-192.168.0.254 -j DROP
iptables -A FORWARD -s ! 192.168.0.221 -m mac --mac-source 00:19:E0:04:C5:FE -j DROP
iptables -I FORWARD -p tcp -m iprange --src-range 192.168.0.201-192.168.0.254 --dport 80:80 -j ACCEPT
注意:由于命令是由用户设置程序后自动生成,必须采用Chain FORWARD (policy ACCEPT)方式
比如我现在的IP是192.168.0.221 MAC是00:19:E0:04:C5:FE 现在把IP改成192.168.0.222后,由于先遍历到ACCEPT 80 这条命令时已经发生匹配,根本就不再执行IP-MAC绑定的操作. 有没有什么办法让系统先执行IP-MAC绑定的命令???MAC是00:19:E0:04:C5:FE 现在把IP改成192.168.0.222后,由于先遍历到ACCEPT 80 这条命令时已经发生匹配,根本就不再执行IP-MAC绑定的操作. 有没有什么办法让系统先执行IP-MAC绑定的命令???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
规则按顺序执行,楼主需要调整规则顺序来匹配
iptables的执行规则是:
如果第一条规则就把数据包DROP掉了,就直接DROP掉了(哪怕你第二条是允许该数据包的),不再继续跟以后规则核对;
如果数据包跟第一条规则没关系,再继续跟第二条规则核对,如果第二条规则把数据包DROP掉了,就直接DROP掉,不再继续跟以后规则核对。
以此类推。