关于云服务器端口开放问题的说明

  • 发布时间:2020-02-16 22:07:33
  • 阅读次数:4304

要让云服务器的某个端口对外开放提供服务,需要同时满足三个条件,从上层云计算平台到下层操作系统应用层排列依次如下。

  1. 云计算平台的安全组开启相应端口。
  2. 操作系统的防火墙开启相应端口。
  3. 正确安装应用程序,并设置相应端口。

下面我们逐条进行分析。

第一,朝暮数据的云服务器除了极个别可用区(如约旦)启用了安全组之外,几乎所有云服务器都未启用安全组,也就是在云计算平台层所有端口都是开放的,因此第一个条件完全满足。

第二,部分云服务器操作系统的防火墙默认是开启的,因此需要关闭防火墙或者在防火墙上单独开启相应的端口。推荐开启防火墙,然后单独开启端口的方式,这样安全性更高。

对于CentOS/Fedora操作系统,防火墙为firewalld,相关命令如下。

关闭并禁用firewalld:

systemctl stop firewalld.service
systemctl disable firewalld.service

单独开启某个端口(以10222端口为例):

firewall-cmd --add-port=10222/tcp --permanent
firewall-cmd --reload

对于Ubuntu/Debian操作系统,防火墙为ufw,相关命令如下。

关闭并禁用ufw:

ufw disable

单独开启某个端口(以10222端口为例):

ufw allow 10222/tcp
ufw reload

第三,远程登录后使用"netstat -nlp | grep 端口号"命令,来检测是否正确安装应用程序并设置相应端口。

以10222端口为例,如果执行下面的命令,显示了相应的端口监听记录,说明应用程序以及端口设置都是正确的。如果没有显示,说明应用程序未正确安装。

[root@zhaomu.com ~]# netstat -nlp | grep 10222
tcp        0      0 0.0.0.0:10222            0.0.0.0:*               LISTEN      989/sshd
tcp6       0      0 :::10222                 :::*                    LISTEN      989/sshd

最后再次强调,需要以上三个条件同时满足,某个端口才能对外开放提供服务。可以在客户端电脑上通过"telnet IP地址 端口号"命令,检测端口是否正常提供服务。例如:

telnet 58.215.65.1 10222

另外,由于以下端口容易遭受DDoS攻击,部分云服务器默认禁用以下协议及端口,且无法解除。

  • 协议:TCP & UDP,端口:17
  • 协议:TCP & UDP,端口:19
  • 协议:TCP & UDP,端口:1900
  • 协议:UDP,端口:53413
  • 协议:UDP,端口:11211

感谢您对我司工作的理解和支持!

【全文完】

< 上一篇:如何远程管理Linux云服务器? 下一篇:如何选择云服务器的操作系统? >