可以通过将最常用的规则放在顶部来进行优化,例如已知的有关的连接建立后匹配的规则。此外,还可以通过使用跳转进行优化,以避免过长的链。此链接显示一个例子。
我的问题是关于优化规则本身。在特定规则中添加和/或删除某些检查对性能有何影响?这些检查的顺序如何?例如,此规则:
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
两条规则都将允许从特定源到特定目标的 http 流量。您认为两者之间会有性能差异吗?此外,检查可以重新排序为:
iptables -A FORWARD -p tcp --dport 80 -s source_ip -d dest_ip -i eth0 -j ACCEPT
这是否也会有所不同,或者 iptables 会自动处理它。
答案1
iptables -A FORWARD -i eth0 -s 源 ip -d 目标 ip -p tcp --dport 80 -j ACCEPT
和
iptables -A FORWARD -p tcp --dport 80 -s 源 ip -d 目标 ip -i eth0 -j ACCEPT
使用相同参数创建系统调用 iptc_append_entry()。
iptables -A FORWARD -s 源 ip -d 目标 ip -p tcp --dport 80 -j ACCEPT
使用其他 ipt_entry 结构(不带 iniface)创建系统调用 iptc_append_entry()...我认为性能不会改变
答案2
不,因为您只是重新排序输入到命令选项解析器的字符串。
答案3
每当有疑问时,请输入iptables
您正在调查的行,然后进行iptables-save | less
后续操作。