您可以添加安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问:
VPC:只需要设置出方向或入方向的规则,不区分内网和公网。VPC类型ECS实例的公网访问通过私网网卡映射完成,所以,您在实例内部看不到公网网卡,在安全组里也只能设置内网规则。您设置的安全组规则同时对私网和公网生效。
经典网络:需要分别设置公网或内网的出方向或入方向规则。
安全组规则的变更会自动应用于安全组内的ECS实例。
您已经创建了一个安全组,具体操作,请参见 创建安全组。
您已经知道自己的实例需要允许或禁止哪些公网或内网的访问。
登录阿里云App。
在页面底部,轻按 控制台,并轻按 云服务器ECS。
在页面顶部,轻按地域名称,并在下拉菜单中选择地域。
滑动顶端导航栏,轻按 安全组。
找到需要添加规则的安全组,轻按安全组名称,进入安全组详情页。
在顶端导航栏中,轻按 安全组规则,并在页面右上角,轻按 … 图标。
在 添加安全组规则 页面上,完成以下设置。
网卡类型:
规则方向:
授权策略:选择 允许 或 拒绝。
说明:拒绝 策略是直接丢弃数据包,不给任何回应信息。如果2个安全组规则其他都相同只有授权策略不同,则 拒绝 授权生效,接受 授权不生效。
协议类型 和 端口范围:端口范围的设置受协议类型影响。下表是协议类型与端口范围的关系。
协议类型 | 端口范围 | 应用场景 |
---|---|---|
全部 | 显示为-1/-1,表示不限制端口。不能设置。 | 可用于完全互相信任的应用场景。 |
全部ICMP | 显示为-1/-1,表示不限制端口。不能设置。 | 使用 ping 程序检测实例之间的通信状况。 |
全部GRE | 显示为-1/-1,表示不限制端口。不能设置。 | 用于VPN服务。 |
自定义TCP | 自定义端口范围,有效的端口值是1 ~ 65535,端口范围的合法格式是 开始端口/结束端口。即使是一个端口,也需要采用合法格式设置端口范围,比如:80/80表示端口80。 | 可用于允许或拒绝一个或几个连续的端口。 |
自定义UDP | ||
SSH | 显示为22/22。连接ECS实例后您能修改端口号,具体操作,请参见 服务器默认远程端口修改。 | 用于SSH远程连接到Linux实例。 |
TELNET | 显示为23/23。 | 用于Telnet远程登录实例。 |
HTTP | 显示为80/80。 | 实例作为网站或Web应用服务器。 |
HTTPS | 显示为443/443。 | 实例作为支持HTTPS协议的网站或Web应用服务器。 |
MS SQL | 显示为1433/1433。 | 实例作为MS SQL服务器。 |
Oracle | 显示为1521/1521。 | 实例作为Oracle SQL服务器。 |
MySQL | 显示为3306/3306。 | 实例作为MySQL服务器。 |
RDP | 显示为3389/3389。连接ECS实例后您能修改端口号,具体操作,请参见 服务器默认远程端口修改。 | 实例是Windows实例,需要远程桌面连接实例。 |
PostgreSQL | 显示为5432/5432。 | 实例作为PostgreSQL服务器。 |
Redis | 显示为6379/6379。 | 实例作为Redis服务器。 |
说明:端口25默认受限,无法通过安全组规则打开,但是您可以 申请解封端口25。其他常用端口信息,请参见 服务器常用端口介绍。
授权类型 和 授权对象:授权对象的设置受授权类型影响,以下是两者之间的关系。
授权类型 | 授权对象 |
---|---|
地址段访问 | 填写单一IP地址或者CIDR网段格式,如:12.1.1.1或13.1.1.1/25。仅支持IPv4。如果填写0.0.0.0/0表示允许或拒绝所有IP地址的访问,设置时请务必谨慎。关于CIDR格式介绍,请参见 ECS实例子网划分和掩码表示方法。 |
安全组访问 | 只能用于内网。所以,对VPC类型ECS实例,安全组访问的规则仅适用于内网访问,不适用于公网访问。VPC类型ECS实例设置公网访问规则时,只能通过 地址段访问 授权。 在阿里云App端,您只能授权本账号下某个安全组中的实例访问本安全组内的实例,实现内网互通。选择 安全组访问 后,轻按 安全组,选择同一个账号下的其他安全组。VPC类型安全组授权时,2个安全组必须属于同一个VPC。 如果要设置不同账号的安全组访问授权,请使用PC端。具体操作,请参见《用户指南》的 添加安全组规则。 |
说明:出于安全性考虑,经典网络的内网入方向规则,授权类型优先选择 安全组访问。如果选择 地址段访问,则只能授权单个IP地址,授权对象的格式只能是 a.b.c.d/32,仅支持IPv4,子网掩码必须是 /32。
优先级:1 ~ 100,数值越小,优先级越高。更多优先级信息,参见 ECS安全组规则优先级说明。
在页面右上角,轻按 确定,即成功地为指定安全组添加了一条安全组规则。
安全组规则一般立即生效,但是也可能有稍许延迟。
假设您在实例里安装了Web服务,并在一个安全组里添加了一条安全组规则:公网入方向,允许所有IP地址访问实例的TCP 80端口。
如果是安全组中的一台Linux实例,按以下步骤查看安全组规则是否生效。
运行以下命令查看TCP 80是否被监听。
- netstat -an | grep 80
如果返回以下结果,说明TCP 80端口已开通。
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
在浏览器地址栏里输入 http://公网IP地址
。如果访问成功,说明规则已经生效。
如果是安全组中的一台Windows实例,按以下步骤查看安全组规则是否生效。
运行 命令提示符,输入以下命令查看TCP 80是否被监听。
- netstat -aon | findstr :80
如果返回以下结果,说明TCP 80端口已开通。
- TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1172
在浏览器地址栏里输入 http://公网IP地址
。如果访问成功,说明规则已经生效。
安全组规则的优先级可以设为1 ~ 100的任一个数值,数值越小,优先级越高。
ECS实例可以加入不同的安全组。无论是同一个安全组内或不同安全组之间,如果安全组规则互相矛盾,即协议类型、端口范围、授权类型、授权对象都相同,最终生效的安全组规则如下: