防火墙的规则的顺序很重要,因为一个数据包进来以后会从第一条规则开始检查,遇到符合的规则就会执行对应的动作,这样就不会继续使用其它的规则检查数据包了 ..
之前我们在添加规则的时候使用了一个 -A 选项, 它表示 append ,中文是追加的意思, 这样新添加的规则会追加到现有的规则的底部 .. 也就是新添加的规则会排在所有规则的最后 ..
使用 -I 选项,我们可以把添加的规则插入到指定的位置 .. 先查看一下所有的 Chain,还有它里面的规则 .. sudo iptables -L --line-numbers
现在我想添加一条规则作为 INPUT 里面的第一条规则 .. sudo iptables -I INPUT 1 表示我们要把这条规则插入到 INPUT 的第一个位置上 .
sudo iptables -I INPUT 1 -i lo -j ACCEPT
这条规则可以允许本地流量 .. 完成以后查看一下列表 ... 你会看到新添加的这条规则会在 INPUT 这个 Chain 的第一个位置上 ...