Chinaunix

标题: 请问一下这几条iptables规则逻辑问题 [打印本页]

作者: cltnet    时间: 2014-02-20 17:49
标题: 请问一下这几条iptables规则逻辑问题
Chain system_firewall (1 references)
pkts bytes target     prot opt in     out     source               destination
  295 32315 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|147f7e040200|" ALGO name bm TO 65535
  198 51734 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           LAYER7 l7proto qq

我用这俩条规则想限制QQ然后允许147f7e04这个QQ号码可以上,但是通过iptables -vnL查看发现QQ登陆的时候数据包不匹配第一条规则

直接匹配了第二条规则.

但是如果我把第二条规则删除了,登陆QQ发现第一条规则是可以匹配上的,如果修改为

Chain system_firewall (1 references)
pkts bytes target     prot opt in     out     source               destination
  295 32315 DROP     all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|147f7e040200|" ALGO name bm TO 65535

这样是可以限制住这个QQ号码的登陆的。其他QQ号码登陆是没有问题的.

难道是layer7在逻辑上要高于string么,如果真的是高于的话,我上面俩条规则想生效的话该如何修改呢,谢谢
作者: q1208c    时间: 2014-02-20 18:43
你把 L7 那条加个 syn 的约束试试.

因为 QQ 向 服务器发起的第一个请求, 可能不带 号码, 所以, 你的 第一条没用, 虽然后续的连接会带QQ号, 但因为你永远无法建立第一个连接, 所以, QQ永远都不会成功, 也就是不会有第一条匹配的可能.


PS: 我没试过, 你可以自己试下.

我本人BS一切限制使用QQ的行为.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2