linux – iptables -A和-I选项之间的区别
我一直在尝试(几个小时)配置iptables以允许DNS查询到我的DNS服务器,并发现我的iptables由于我一直在使用的规则添加选项而保持阻止访问.大多数论坛建议的规则类似于以下内容:
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT 但是,就我而言,我必须将规则更改为插入类型才能使其工作: iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT 我知道一个规则是附加插入,另一个规则是插入,以及两个术语的含义,但有人可以解释两者之间的区别以及何时使用哪个选项?我查了一下Ubuntu的iptables如何,但没有看到太多的信息. 解决方法
iptables -A在规则集的末尾附加规则,而iptables -I将规则插入规则集中的特定位置,如您所指出的那样.
查看iptables的man条目显示:
这就是为什么 – 我为你工作而-A不工作的原因.如果您不提供任何气压,则会在第一个位置插入您的规则.这意味着在你的情况下,你的规则集中的某个地方必须有一个禁止DNS数据包的规则(可能是一般禁止UDP的规则?)因为iptables处理从第一个到最后一个的所有规则,应用第一个匹配并停止. 并且用于:当你想在最后附加规则或者你的规则在哪里无关紧要时,你可以保存使用-A.如果你想要你的规则在特定的位置,使用-I像这样:例如:iptables -I INPUT 6 -p tcp -j DROP(这将为所有tcp数据包添加一个DROP语句,该数据包发送到主机本身的位置6 INPUT规则集.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |