Eclipse连接远程服务器上的Docker一直报connection refused(适用SSH登录)

图片 1.png

google一直搜索直到看到这篇文章https://www.365seal.com/y/M1vLDNoxvx.html,里面的一条命令:

图片 2.png

我把它替换成curl http://你自己的服务器公网IP地址:2375/info报以下错误:

curl: (7) Failed connect to 101.32.xxx.xxx:2375; No route to host

继续google尝试解决这个错误,搜到这篇文章: https://www.jianshu.com/p/aef8903a88ee 执行完后再次尝试连接docker竟然通了! 原因可能真如文章里所说 icmp(Internet Control Message Protocol)被禁用了导致的

查看iptables是不是有防火墙的设置命令:

iptables -L INPUT --line-numbers(line前面两个杠)

果然有这条规则:

7 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

删除命令:

iptables -D INPUT 7

当然删掉这条记录是会有风险, icmp协议的开启可能会导致他人对此服务器进行ping攻击

查看icmp状态 (0为开启 1为禁用)
cat /proc/sys/net/ipv4/icmp_echo_ignore_all
更改icmp状态
echo "1">/proc/sys/net/ipv4/icmp_echo_ignore_all;(英文分号)
echo "0">/proc/sys/net/ipv4/icmp_echo_ignore_all; (英文分号)

如果你不小心执行了上条命令删除了,添加回来就是了

-A INPUT -j REJECT --reject-with icmp-host-prohibited(reject前面两个杠)

最合理的解决办法还是在iptables设置只允许指定ip地址访问指定端口

iptables -I INPUT -s 39.170.xxx.xxx(本机公网IP地址) -p tcp --dport 2375 -j ACCEPT (-I不是-l,大写i)

图片3.png

ok,没问题,可以连接上了


已有 0 条评论

    感谢参与互动!