天翼云裸金属安全组放通端口后 docker端口仍然无法访问问题

解决

1、查看iptables规则iptables -L -n -v
2、清空iptables规则(iptables -F)
3、重启docker(systemctl restart docker)
4、此时即可访问

需要单独端口时添加到第一条不要添加在拒绝规则–reject-with icmp-host-prohibited这个的否则不会生效

iptables -I INPUT 1 -p tcp -m state –state NEW -m tcp –dport 9000 -j ACCEPT

本文参考:iptables 开放端口后依然无法访问问题_linux iptables开放端口无效-CSDN博客

当在iptables中开放端口但仍然无法访问时,可能是因为–reject-withicmp-host-prohibited规则在新端口规则之后,导致开放端口无效。要解决此问题,需确保开放端口的规则位于拒绝规则之前使用service iptables save保存,然后重启iptables服务。

iptables开放端口后仍然无法访问问题–reject-with icmp-host-prohibited

–reject-with icmp-host-prohibited

-A INPUT -j REJECT –reject-with icmp-host-prohibited,这行已拒绝其他端口的命令,如果我们将新插入的开放端口在放在这行命令之后的情况下,后面的配置开放的端口是不会被启用的。例如:

1
2
3
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8777 -j ACCEPT

新增iptables端口规则时,用 service iptables save 这个命令保存规则会自动把系统外的端口加到–reject-with icmp-host-prohibited 的后面,所以在操作时需要用vim /etc/sysconfig/iptables 把新增规则编辑到–reject-with icmp-host-prohibited前面,最后重启iptables service iptables restart