Iptables可以通过将最常用的规则放在最上面来进行优化,比如连接build立后匹配的已知相关规则。 此外,可以通过使用跳转来避免很长的链条来完成优化。 这个链接显示了一个例子。
我的问题是关于优化规则本身。 性能如何通过在特定规则中添加和/或删除一些检查? 那这些支票的顺序呢? 例如,这个规则:
iptables -A FORWARD -i eth0 -s source_ip -d dest_ip -p tcp --dport 80 -j ACCEPT
可以改写为:
iptables -A FORWARD -s source_ip -d dest_ip -p tcp --dport 80 -j ACCEPT
这两个规则将允许从特定来源到特定目的地的httpstream量。 你认为两者之间会有性能差异吗? 而且,这些支票可以重新sorting为:
iptables -A FORWARD -p tcp --dport 80 -s source_ip -d dest_ip -i eth0 -j ACCEPT
这也会有所作为或iptables会自动照顾它。
iptables -A FORWARD -i eth0 -s source_ip -d dest_ip -p tcp –dport 80 -j ACCEPT
和
iptables -A FORWARD -p tcp –dport 80 -s source_ip -d dest_ip -i eth0 -j ACCEPT
使用相同的参数创build系统调用iptc_append_entry()。
iptables -A FORWARD -s source_ip -d dest_ip -p tcp –dport 80 -j ACCEPT
创build系统调用iptc_append_entry()与其他ipt_entry结构(没有iniface)…我认为性能不会改变
不,因为您只是重新sorting了馈给命令选项parsing器的string。
每当有疑问时,input您正在调查的iptables行,并执行iptables-save | less 事后iptables-save | less 。