当前位置:   article > 正文

【服务器管理】connection refused问题解决_connection_refused

connection_refused

简述

在配置服务器的时候,遇到了这个问题。我当时明明已经搭建好了服务,但是我在客户端比如手机上,却怎么都连不上服务器。看日志的话显示的是connection refuesed + timeout

这种情况,大概率是服务器的端口没有被打开。 我们只需要把端口打开就好了。

检测端口是否被打开方式

如何打开端口

Q: 有很多人会想,我的服务器防火墙明明都已经关了,为什么还是连不上呢? 比如看到提示firewallD is not running
A: 这个其实是这样,大部分人在云服务器商那买的服务器看着是把防火墙关了,但实际上云服务商本身不可能把服务器的所有端口都暴露出来的(这样风险很高),所以大概率其实在外面包了一层,那一层的只暴露了特定的端口。

因此需要把防火墙打开(先别急着打开!!!)

因为很有可能,一旦你打开了防火墙, ssh就连接不上了。

因此我们需要先解决ssh连接的问题之后,再去打开防火墙。

以下操作,都需要保证使用的是root身份

开防火墙前的ssh配置检查

  • 查看对应的端口。
cat /etc/ssh/sshd_config |grep Port
  • 1

比如我的输出是

#GatewayPorts no
Port 28825
  • 1
  • 2

记住这个数字28825,下面有用

  • 接下来需要修改 /etc/firewalld/zones/public.xml 这个文件,添加一行
  <port protocol="tcp" port="28825"/>    
  • 1
  • 看下输出,改成下面这个样,就可以了。
cat /etc/firewalld/zones/public.xml
  • 1
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="dhcpv6-client"/>
  <port protocol="tcp" port="28825"/>              
</zone>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

打开防火墙,开放特定端口

  1. 打开防火墙
systemctl start firewalld
  • 1
  1. 开放特定端口
firewall-cmd --zone=public --add-port=31000/tcp --permanent
firewall-cmd --zone=public --add-port=32000/tcp --permanent
  • 1
  • 2
  1. 重新加载配置
firewall-cmd --reload
  • 1

然后就可以了,比如我这里是开放了3100032000两个端口的tcp连接

补充

部分用户可能需要用到端口转发的功能,比如说将从31000-32000端口都转发到特定的端口上,比如1194上,可能需要下面这个命令

firewall-cmd --permanent --query-forward-port=port=31001-32000:proto=tcp:toport=1194
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/148423
推荐阅读
相关标签
  

闽ICP备14008679号