我需要允许特定 IP 根据现有规则访问端口 11211(在服务器加载后运行的脚本中)
我想要添加的行:
iptables -A INPUT -p tcp -s xx.xx.xx.xx --dport 11211 -j ACCEPT
但是 iptables 已经包含此端口的 drop 行,所以我的行将附加在后面,并且永远不会起作用。drop 行:
DROP tcp -- anywhere anywhere tcp dpt:11211
我该怎么做?
答案1
您正在寻找“INSERT”而不是“APPEND”。您可以使用
iptables -I INPUT <slot> -p tcp -s xx.xx.xx.xx --dport 11211 -j ACCEPT
将规则插入链中所需的插槽。要找到正确的插槽号,请使用iptables -nL
然后从 1 开始计算规则。
我认为您还可以省略插槽,让 iptables 在第一个插槽(顶部)插入新规则。
答案2
使用iptables -I INPUT -p tcp -s xx.xx.xx.xx --dport 11211 -j ACCEPT
此选项将在 INPUT 链的开头插入规则,并在现有 DROP 规则之前进行处理。Iptables 从上到下工作,第一个匹配的规则获胜。一旦您确定它正常工作,请不要忘记保存 iptables 配置。
答案3
-A -- 表示附加。使用 -R 来替换,使用 -I 来插入链。