防火墙是一种虚拟防火墙,通过防火墙规则控制轻量应用服务器的入流量,保障轻量应用服务器的安全。本文介绍如何为轻量应用服务器添加、修改、禁用、启用和删除防火墙规则,同时提供防火墙功能预设的端口信息、常见问题以及相关文档。
功能说明每台轻量应用服务器根据操作系统的防火墙默认放行以下端口,除默认放行的端口外,其他端口默认是禁用状态,您可以根据业务需求通过添加防火墙规则放行所需端口。
TCP协议:
Windows:默认已放行TCP协议的3389、80和443端口。
Linux:默认已放行TCP协议的22、80和443端口。
ICMP协议:默认放开所有端口(即-1),允许任意源IP地址访问。
如果您在控制台删除或者禁用这些默认端口,则在防火墙页面将会显示类似您在防火墙禁用或删除了默认的22端口放行规则,影响远程连接功能提示信息,您可以根据需求添加或者启用对应的端口。
使用限制单台轻量应用服务器最多可创建50条防火墙规则。
25端口是默认的邮箱服务端口,但基于安全考虑,轻量应用服务器的25端口默认受限。如果您有邮件发送需求,请使用465端口。
防火墙只能对轻量应用服务器的入流量进行控制,出流量默认允许所有请求。
说明 入流量:数据从轻量应用服务器外通过公网或内网传输至实例内产生的流量。
出流量:数据从轻量应用服务器内通过公网或内网传输至实例外产生的流量。
防火墙设置说明 如果您已经创建防火墙模板,可以通过防火墙模板快速设置防火墙规则。具体操作,请参见通过防火墙模板设置防火墙规则。
访问轻量应用服务器控制台-服务器。
找到待添加防火墙规则的轻量应用服务器,单击服务器卡片中的实例ID。
单击防火墙页签,进入防火墙页面。
在防火墙页面的左上角,单击添加规则。
在添加防火墙规则对话框,完成相关参数的配置后,单击确认添加。
警告 添加防火墙规则时,请您按需配置端口范围和允许访问的IP地址,遵循最小授权原则,以避免服务器受到网络攻击。
如果添加防火墙规则的端口、协议、IP地址与已有规则重复时,无论当前已有规则处于启用或禁用状态,新规则均会覆盖已有规则。
选择预设防火墙规则您可以直接选择预设的防火墙规则模板,帮助您快速添加防火墙规则。具体的参数配置项说明如下表所示。
参数
说明
应用类型
根据业务需求选择RDP、FTP、TELNET、MYSQL、全部TCP、全部UDP、全部TCP+UDP等应用类型。更多信息,请参见预设端口说明。
协议
默认显示协议,不可更改。
端口范围
默认显示端口,不可更改。
来源IP
默认为0.0.0.0/0,即对所有IPv4地址开放。
重要 请您按需配置,遵循最小授权原则,避免服务器受到网络攻击。
备注
输入防火墙规则的备注信息,方便后续管理防火墙规则。
自定义防火墙规则如果预设的防火墙规则模板不满足您的业务需求,您可以自定义一条或多条防火墙规则。具体的参数配置项说明如下表所示。
参数
说明
应用类型
默认选择自定义。
协议
选择TCP、UDP或者ICMP协议。
端口范围
端口取值范围为1~65535。支持以下设置方式:
设置单个端口
直接输入放行的端口号即可。例如,您需要放行MySQL数据库监听的端口号3306,则端口范围设置为3306。
设置端口范围
可以指定一个斜线(/)分隔的端口范围。例如,您需要放行FTP配置文件中手动配置的端口范围20000~30000,则端口范围设置为20000/30000。
来源IP
默认为0.0.0.0/0,即对所有IPv4地址开放。您也可以自定义允许访问的IPv4地址:
允许单个IPv4地址访问
填写单个IPv4地址。例如:192.168.0.100。
允许某个CIDR段内的所有IPv4地址访问
输入IPv4 CIDR地址块,例如:192.168.0.0/24。
备注
输入防火墙规则的备注信息,方便后续管理防火墙规则。
您可以单击新增规则或者图标,按需添加或者删除防火墙规则。
修改、禁用、启用、删除防火墙规则添加防火墙规则后,您可以根据业务需求执行以下相关操作。
相关操作
说明
操作步骤
修改防火墙规则
如果已创建或者默认添加的防火墙规则不满足您的业务需求,您可以修改防火墙规则。
在目标防火墙规则的操作列,单击修改。
在弹出的修改对话框中,根据需求修改协议、端口范围、限制IP来源和备注。
单击确定。
禁用防火墙规则
如果需要临时关闭某个端口,可以禁用该端口,后续无需再次新建防火墙规则。
重要 禁用防火墙规则可能会导致相应端口不可访问,从而影响业务运行。建议在确保此操作不会影响正常业务的前提下,谨慎使用此功能。
在目标防火墙规则的操作列,单击禁用。
在弹出的禁用对话框中,单击确定。
启用防火墙规则
已禁用的端口,后续使用可启用该端口。
在目标防火墙规则的操作列,单击启用。
在弹出的启用对话框中,单击确定。
删除防火墙规则
如果已创建的防火墙规则不再使用,您可以删除防火墙规则。
说明 如果已创建的防火墙规则没有达到上限50条,建议您暂时禁用防火墙规则,方便后续使用。
删除单条防火墙规则在目标防火墙规则的操作列,单击删除。
在弹出的删除对话框中,单击确定。
批量删除防火墙规则选中多条防火墙规则,然后在防火墙规则列表的底部单击删除。
在弹出的删除对话框中,单击确定。
预设端口说明为了便于用户直接添加防火墙规则,阿里云预设了常用的防火墙规则,帮助您快速添加防火墙规则,具体说明如下表所示。更多常用端口,请参见常用端口。
应用类型
协议
端口范围
来源IP
说明
HTTP
TCP
80
0.0.0.0/0
重要 默认为0.0.0.0/0,即对所有IPv4地址开放。
请您按需配置,遵循最小授权原则,避免服务器受到网络攻击。
HTTP协议默认端口,用于网站服务例如IIS、Apache、Nginx等提供对外访问。更多信息,请参见基于CentOS系统镜像快速部署Apache服务。
HTTPS
TCP
443
HTTPS加密协议默认端口。更多信息,请参见:
Node.js环境安装SSL证书
WordPress环境上安装SSL证书
RDP
TCP
3389
远程桌面协议(RDP)默认端口,用于通过远程桌面连接Windows服务器。更多信息,请参见远程连接Windows服务器。
FTP
TCP
21
FTP协议默认端口,用于上传、下载文件。更多信息,请参见搭建FTP服务器(Linux)。
SSH
TCP
22
SSH端口,用于通过命令行模式或远程连接软件(例如PuTTY、Xshell、SecureCRT等)连接Linux实例。具体操作,请参见远程连接Linux服务器。
TELNET
TCP
23
Telnet默认端口。
MySQL
TCP
3306
MySQL数据库默认端口。更多信息,请参见使用DMS连接服务器中的数据库。
SQLServer
TCP
1433
SQL Server默认端口。
全部TCP
TCP
1~65535
全部TCP端口。
全部UDP
UDP
1~65535
全部UDP端口。
全部TCP+UDP
TCP+UDP
1~65535
全部TCP+UDP端口。
自定义
TCP、UDP或者ICMP
1~65535
自定义的端口范围。
常见问题Q1:服务器防火墙和操作系统防火墙的区别?
轻量应用服务器防火墙:轻量应用服务器提供控制台可视化管理界面,操作方便,但只能用于控制入方向的流量。
操作系统内部防火墙:系统管理员可以通过在操作系统内部设置一定的规则来控制出入方向的流量,但需要熟悉相应的防火墙软件,例如:Linux的iptables等。对于Linux用户,还需要熟悉命令行。
Q2:如何查看某个端口是否可以telnet通?
执行以下命令,查看端口是否通。
telnet
Windows端口通
端口不通
C:\Users\Administrator>telnet 120.55.XX.XX 80
正在连接120.55.XX.XX...无法打开到主机的连接。 在端口 80: 连接失败Linux端口通
[root@VM-4-10-centos ~]# telnet 120.55.XX.XX 80
Trying 120.55.XX.XX...
Connected to 120.55.XX.XX.
Escape character is '^]'.端口不通
[root@VM-4-10-centos ~]# telnet 120.55.XX.XX 80
Trying 120.55.XX.XX...
telnet: connect to address 120.55.XX.XX: Connection refusedQ3:如何检查服务状态及端口监听状态
本示例以排查无法访问轻量应用服务器实例中的Nginx服务(默认端口为80)为例,排查其他服务时,请替换命令中的服务名和对应的端口。
Linux服务器本操作以CentOS 7.9为例,其他版本的Linux系统操作可能有所差异。
远程连接Linux实例。
具体操作,请参见远程连接Linux服务器。
执行如下命令,查看Nginx服务状态。
systemctl status nginx如果返回类似如下信息,则说明Nginx已经启动。
如果未开启,请执行如下命令,启动Nginx服务。
systemctl start nginx执行如下命令,查看端口是否正常被监听。
netstat -an | grep 80如果返回如下信息,则说明80端口被正常监听。
如果返回的不是以上信息,表示80端口未处于监听状态。
Windows服务器本操作以Windows Server 2012为例,其他版本的Windows Server系统操作类似。
远程连接Windows实例。
具体操作,请参见远程连接Windows服务器。
选择开始 > 运行,输入service.msc,单击确定,打开服务页面。
查看Nginx状态。
如果nginx无状态,请右键单击该nginx服务,然后单击启动(S)。
如果nginx状态为正在运行,Nginx已启动。
在Windows PowerShell中执行如下命令,查看端口是否正常被监听。
netstat -ano | findstr "80"如果返回如下信息,则说明80端口被正常监听。
如果返回的不是以上信息,表示80端口未处于监听状态。
Q4:轻量应用服务器端口不通怎么办?
如果服务器涉及跨境访问(包括中国香港),可能会受到国际链路拥塞,运营商出境路由限制影响,出现网络链路拥塞、访问不稳定、访问延时过高的情况。跨境链路属于运营商公共网络,链路质量问题影响因素较多,运营商短时间内可能难以得到优化和改进。
解决方案:
如果业务面向中国内地地区,建议您将服务器迁移至中国内地地域服务器后退订服务器。具体操作,请参见轻量应用服务器之间的数据迁移和退款说明。
轻量服务器不支持更换IP来实现更改链路。如果使用的是香港地域的服务器,您可以尝试使用云服务器ECS+精品EIP的组合方式。精品EIP通过底层网络直接传输到中国内地,绑定ECS会有比较好的网络体验(但跨境问题依旧存在,无法保证根本解决)。具体操作,请参见轻量应用服务器数据迁移至ECS实例(通过共享镜像)、申请EIP和将EIP绑定至ECS实例。
其他端口不通的场景,请根据以下可能原因排查:
使用netstat -tunlp命令查看服务器中对应端口是否有监听,若当前端口无监听,需要先启动相应的服务,确保端口被监听。
服务器中内部防火墙是否有限制:
Ubuntu:使用sudo ufw status命令查看。
CentOS 7及更高版本:使用firewall-cmd --list-ports命令查看,如提示ufw或者firewall未运行,需要使用iptables -L;iptables -t nat -L查看防火墙规则。
轻量应用服务器控制台中的防火墙是否有添加端口放行规则。
相关文档设置防火墙规则后,如果网站或者服务器连接失败、轻量服务器的防火墙不满足您的业务需求,您可以参考以下文档:
远程连接FAQ
与云服务器ECS对比
安全组概述