Docker环境下无法添加iptables规则,提示'table tcp does not exist'求助
问题原因及解决方法
错误根源
你执行的命令里,-t tcp是错误用法:
-t是iptables的表指定选项,可选值为filter(默认)、nat、mangle等,不存在名为tcp的表,这就是报错table 'tcp' does not exist的原因。- 要指定TCP协议,应该用
-p tcp选项。
正确命令
替换错误的选项后,正确的命令为:
sudo iptables -A DOCKER -p tcp -s anywhere -d 172.18.0.8 --dport 21102 -j ACCEPT
或者用更标准的CIDR格式替代anywhere(效果完全一致):
sudo iptables -A DOCKER -p tcp -s 0.0.0.0/0 -d 172.18.0.8 --dport 21102 -j ACCEPT
验证规则
执行正确命令后,可通过以下命令查看DOCKER链的规则,确认是否添加成功:
sudo iptables -L DOCKER -n
内容的提问来源于stack exchange,提问作者Wajih Haider
相关产品推荐
相关产品推荐

