今天在VPS交流群中看到有个人留言问他刚买的VPS服务器,用工具测了后除了22端口都不通是什么原因?为什么443端口不能访问?今天VPS GO(www.vpsgo.com)就分享下出现这个问题的原因以及解决方法。
一、除了22端口都不通的原因
我们遇到的除了22端口都不通的问题,一般有2个原因:没有服务监听别的端口,或者需要开放防火墙。
我们可以用这个在线VPS端口检测工具检测VPS端口是否连通:端口检测工具
1、没有服务监听端口
端口通的前提是你有服务监听/占用这个端口,而一台新建的VPS,如果它默认的SSH端口是22,那么只有22端口有SSH服务监听,所以只有22端口是通的,你telnet尝试连接其他端口自然都是超时不通。
我们可以用上面这个在线工具检测对应的端口是否可以连通,如下图,一台新的VPS,因为SSH服务默认监听22端口,所以22端口就是通的:
但是我们将端口改成23,因为没有服务监听23端口,所以自然不通:
再比如“www.vpsgo.com”这个域名,因为443端口有https服务监听,所以443端口也是通的:
2、防火墙没有开放
防火墙设置包含两个方面:
- 一些系统(如CentOS)可能要手动关闭防火墙,或者放行端口;
- 一些商家(如腾讯云、阿里云、亚马逊云AWS)有网页层面的防火墙规则,需要我们手动添加防火墙规则,放行指定端口。
二、端口不通的解决方法
如果你是没有服务监听端口导致的端口不通,那么就是搭建服务监听那个端口就行了,例如你搭建了网站,就会默认监听443和80端口,你搭建了MySQL,就会默认监听3306端口。
如果你是系统层面防火墙设置导致的端口不通,最简单的方式就是换个系统,例如Ubuntu一般就不会有防火墙问题,或者你也可以参考下面的教程设置防火墙:
如果你是商家网页层面的防火墙设置,那么就可以去网页添加规则放行端口即可,相关教程:
- 《腾讯云服务器关闭防火墙,添加防火墙规则设置教程》(阿里云、亚马逊云类似)
- 《Vultr防火墙组介绍:Vultr添加自定义防火墙规则》(Vultr默认没有防火墙规则)
另外,如果你是VPS端口被封,无法访问了,那么就重启服务,换一个监听端口就行了。