什么导致'Connection Refused'消息?

分享于 

4分钟阅读

互联网

  繁體 雙語

问题:

这是一个规范问题关于连接拒绝

我们看到了很多问题

当我试图连接到系统时收到一条消息

连接被拒绝

为什么是这样?


回答 1:

英镑注释:这个消息是你要解决的问题的一个症状。 理解消息的原因将最终导致解决你的问题。

消息'连接被拒绝'有两个主要原因:

  • 你正在尝试连接的IP:Port 上没有任何内容。
  • 端口被防火墙阻止。
  • 没有进程正在监听。

    这是目前最常见的消息原因。 首先确保你尝试连接到正确的系统。 在remote系统运行或者ss 比如 如果你想确定这个问题是否存在,请在远程系统上运行 1

    
    sudo netstat -tnlp | grep :22222
    
    
    
    

    或者

    
    ss -tnlp | grep :22222
    
    
    
    

    对于OSX来说,合适的命令是

    
    sudo netstat -tnlp tcp | grep '.80 '
    
    
    
    

    如果没有什么正在听,那么上面的内容将不会产生任何输出。 如果看到一些输出,那么确认它是你期望的,然后查看下面的防火墙部分。

    如果你不能访问远程系统,并且希望在向相关管理员报告之前确认问题,你可以使用 tcpdump ( wireshark或者类似的)。

    当尝试将连接设置为 IP:port 时,远程系统的响应是一个带有标志的包。 这将关闭连接,并导致连接拒绝消息 e.g.

    $ sudo -n主机 192.0.2.1 和端口 22222
    tcpdump: 详细输出抑制,使用-v或者-vv进行完整协议解码
    侦听 enp14s0,链接类型 EN10MB ( 以太网),捕获大小 262144字节

    12: 31: 27.013976 IP 192.0.2.2. 34390> 192.0.2.1. 22222: 标志为 [S],seq 1207858804,wins 29200,选项 [mss 1460, sackOK,TS val 15306344 ecr 0, nop,wscale 7 ],长度 0

    12: 31: 27.020162 IP 192.0.2.1. 22222> 192.0.2.2. 34390: 标志为 [R.],seq 0,ack 1207858805,win 0,长度 0

    注意tcpdump使用了英镑。 到表示ACK标记标志。

    端口被防火墙阻止

    如果端口被防火墙阻塞,防火墙已经配置为响应 icmp-port-unreachable,这将导致连接拒绝消息。 同样,你可以使用 tcpdump ( 或者类似的)

    $ sudo -n
    tcpdump: 详细输出抑制,使用-v或者-vv进行完整协议解码

    侦听 enp14s0,链接类型 EN10MB ( 以太网),捕获大小 262144字节 13: 03: 24 IP 192.0.2.1> 192.0.2.2: ICMP 192.0.2.1 tcp端口 22222不可访问,长度 68

    注意,这也告诉我们阻塞防火墙在哪里。

    现在你知道什么是导致连接拒绝的消息,你应该采取相应的操作 比如 联系防火墙管理员。

    1 其他工具可能可用。


回答 2:

在 Debian 6上对我的挤压就像检查SSH服务一样简单:


sudo service ssh status



发现什么都没有,只是在安装服务:


sudo apt-get install openssh-server



如果你没有得到SFTP连接,这也是有效的,因为SFTP是 SSH ( 而FTPS是FTP的一个子集)的一个子。


回答 3:

我的Centos Shorewall防火墙的磁盘空间不足。 令人困惑的是,像youtube和微软这样的网站。 其他的cnn.com 失败了。清除一些空间并重启服务器来解决这个问题。



Message  REF