【问题标题】:Does IPTable parameter order affect performance?IPTable 参数顺序会影响性能吗?
【发布时间】:2014-10-30 16:51:32
【问题描述】:

请问下面的iptable规则

iptables -I FORWARD -p tcp -m set --match-set HUUUGE_SET dst --dport 80 -j REJECT

比这个效率低

iptables -I FORWARD -p tcp --dport 80 -m set --match-set HUUUGE_SET dst -j REJECT

对于 dport != 80 的数据包。

换句话说,您指定参数的顺序是否与检查它们的顺序相同,或者 iptables 是否具有某种预定/优化的参数检查顺序。

谢谢!

【问题讨论】:

    标签: optimization firewall iptables


    【解决方案1】:

    AFAIK,iptables 的参数将被编组到一个结构中,以馈送到netfilter 内核模块,因此参数的顺序完全不会影响性能。

    这是一个测试:

    # iptables -N test
    # iptables -A test -p tcp --dport 80 -s 10.0.0.1 -j DROP
    # iptables -A test -p tcp -s 10.0.0.2 --dport 80 -j DROP
    # iptables-save | grep test
    :test - [0:0]
    -A test -s 10.0.0.1/32 -p tcp -m tcp --dport 80 -j DROP
    -A test -s 10.0.0.2/32 -p tcp -m tcp --dport 80 -j DROP
    #
    

    如您所见,无论您键入匹配参数的顺序如何,iptables-save(它转储当前在内存中活动的 netfilter 规则集)都会“规范化”该顺序。

    【讨论】:

      猜你喜欢
      • 2015-04-17
      • 1970-01-01
      • 2012-09-18
      • 2018-04-15
      • 1970-01-01
      • 2012-09-01
      • 2012-05-11
      • 1970-01-01
      相关资源
      最近更新 更多