连接异常
安全组
网站应用报错
网络配置
附录
ECS实例是否可以访问亚马逊网站?
ECS实例可以访问亚马逊网站,确保您的ECS实例可以正常访问外网即可。
为什么登录到ECS实例后访问不了海外网站?
访问海外网站需要满足实例所在国家或地区的政策规定。请确保您的ECS实例可以正常访问外网,并且访问合规的海外网站。
为什么访问云服务器ECS上的网站时提示“很抱歉,由于您访问的URL可能对网站造成安全威胁,您的访问被阻断”?
问题现象:访问云服务器ECS搭建上的网站时,提示“很抱歉,由于您访问的URL可能对网站造成安全威胁,您的访问被阻断”。
原因分析:云安全中心的应用防火墙对您的URL访问判定存在攻击行为,进行安全拦截。
解决方法:将本地公网IP,添加到云安全中心应用防火墙的白名单中。详情请参见通过设置白名单解决因误判IP被拦截问题。
为什么我的Windows实例设置辅助私网IP后,无法访问公网环境?
问题现象:Windows实例设置辅助私网IP后,无法访问公网环境。
原因分析:Windows 2008之后出网IP策略调整为选择与下一跳IP的前缀匹配最短的IP,可能会导致网络不通的情况。
解决方案:通过Netsh命令设置辅助私网IP,将skipassource设置为true。
具体命令如下所示:
Netsh int ipv4 add address <Interface> <IP Addr> [<Netmask>] [skipassource=true]参数说明如下所示。
辅助私网IP信息
说明
举例
<Interface>
辅助私网IP的网络接口
'以太网'<IP Addr>
辅助私网IP地址
192.168.0.100<Netmask>
辅助私网IP的掩码
255.255.255.0通过Netsh设置辅助私网IP的示例如下:
Netsh int ipv4 add address '以太网' 192.168.0.100 255.255.255.0 skipassource=true
怎么申请云服务器ECS反向解析?
反向解析常用于邮件服务。启动该功能后,可以拒绝接收所有没有注册域名的地址发来的信息。多数垃圾邮件发送者使用动态分配或者没有注册域名的IP地址发送垃圾邮件,逃避追踪。您可以在邮件服务器上拒绝接收来自没有域名的站点发来的信息,降低垃圾邮件的数量。
申请反向解析,请提交工单。在工单中注明ECS实例地域、公网IP地址和注册域名,以加快处理。
申请反向解析,请提交工单。在工单中注明ECS实例地域、公网IP地址和注册域名,以加快处理。
申请成功后,您可以使用dig命令查看是否生效。例如。
dig -x 121.196.255.** +trace +nodnssec返回以下类似信息说明配置已生效。
1.255.196.121.in-addr.arpa. 3600 IN PTR ops.alidns.com.一个IP地址是否允许指向多个反向解析域名?
不允许,只支持一个反向解析域名。例如,121.196.255.**不可以同时设置mail.abc.com、mail.ospf.com、mail.zebra.com等多个反向解析域名。
什么是安全组?
安全组是一种虚拟防火墙,能够控制ECS实例的出入站流量。您可以将具有相同安全需求并相互信任的ECS实例放入相同的安全组,以划分安全域,保障云上资源的安全。
创建ECS实例时,您需要指定一个或多个安全组。ECS 实例关联的多个安全组的规则将按固定的策略排序,共同决定是否放行实例出入站的流量。
详细信息,请参见安全组概述。
创建ECS实例前,未创建安全组怎么办?
如果ECS实例所在VPC下没有安全组,系统会在创建实例的同时创建一个默认安全组。详细信息,请参见默认安全组。
为什么ECS实例加入安全组时提示规则数量超限?
ECS实例的单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和的上限为1000。
如果提示加入安全组失败,作用在该实例上的安全组规则数量已达上限。,表示当前ECS实例上的规则总数已经超过数量上限。建议您检查并清除安全组中存在的冗余规则。
安全组在什么情况下会使用默认安全组规则?
在以下情况中会使用默认安全组规则:
使用默认安全组的默认规则:通过ECS管理控制台在一个地域首次创建ECS实例时,如果您尚未创建安全组,可以选择系统自动创建的默认的普通安全组。默认安全组采用默认安全规则。入方向放行ICMP(IPv4)协议和自定义TCP协议的SSH 22端口、RDP 3389端口,授权对象为全网段(0.0.0.0/0),优先级为100,您还可以勾选放行HTTP 80端口和HTTPS 443端口。出方向允许所有访问。详细信息,请参见默认安全组。
重要默认安全组是为了简化ECS实例初次使用流程而产生的,其默认规则针对TCP协议的22、3389端口以及ICMP(IPv4)协议,对任意源地址(0.0.0.0/0)放通流量,这些默认规则存在风险,会使得任何人均可尝试连接到您的ECS实例,从而可能导致您的ECS实例成为暴力破解攻击的目标。从安全的角度来看,阿里云建议您在安全组规则中仅放通指定的源地址,而不是任意源地址,建议您尽量不要使用默认安全组的默认规则,而是根据自己的业务需要创建新的安全组或修改默认规则。
采用默认规则创建安全组:您在ECS管理控制台上创建安全组时默认的安全组规则,入方向放行ICMP(IPv4)协议和自定义TCP协议的SSH 22端口、RDP 3389端口、HTTP 80端口和HTTPS 443端口,授权对象为全网段(0.0.0.0/0)。
您可以在控制台或者通过API查询安全组规则,详细信息,请参见查询安全组规则。
不同安全组的ECS实例如何实现内网互通?
不同安全组之间实现内网互通的应用案例,请参见案例5:不同安全组的实例实现内网互通和不同安全组的实例内网互通。
同一安全组的ECS实例如何实现内网隔离?
普通安全组的组内互通功能,可以理解为一种授权本安全组内ECS实例内网访问的特殊规则。您可以通过修改组内连通策略,来开启或关闭普通安全组的组内互通功能。在企业级安全组中,安全组内的ECS实例默认组内隔离,您不能将企业级安全组的内网连通策略设置为组内互通。
详细信息,请参见组内互通功能。
同一个ECS实例中的两块弹性网卡如何进行流量隔离?
ECS实例绑定了两块弹性网卡,如果您尝试使用安全组将这两块网卡进行流量隔离,会发现无法使用安全组实现同一个ECS实例中两块网卡的流量隔离。原因是,安全组作用于ECS实例操作系统之外的虚拟网络设备上,默认情况下,同一ECS实例两块网卡的流量会在操作系统内部进行路由和转发,两块弹性网卡间的网络流量不会经过安全组,因此无法使用安全组进行流量隔离。
您可以使用操作系统的命名空间(namespace)机制,将ECS实例的两块网卡加入到不同的namespace,使得两块网卡之间的网络流量发往操作系统之外,这样网络流量才会经过安全组,才能够使用安全组进行流量隔离。
为什么我配置安全组后还是无法访问服务?
设置安全组规则后如果发现业务无法访问,您需要排查业务服务是否启动、服务端口和安全组规则是否一致等问题。更多信息,请参见ECS实例的安全组规则未生效问题排查。
弹性网卡如何更换安全组?
ECS实例关联的安全组,其规则作用于ECS实例的主网卡,主网卡随实例加入同一个安全组,您无法单独修改主网卡所关联的安全组,可以通过修改ECS实例所在安全组来实现修改主网卡所属安全组。详细信息,请参见将实例加入、移出或更换安全组。
ECS实例附加的辅助弹性网卡,可以关联同一专有网络VPC下同一可用区内的安全组,可以和实例所在安全组不同。您可以在创建弹性网卡时指定网卡关联的安全组,或者在网卡创建后更换弹性网卡关联的安全组。
普通安全组和企业级安全组是否支持相互转换?
不支持,普通安全组和企业级安全组无法相互转换。
您可以新建目标类型的安全组,然后将安全组规则从原安全组中导出再导入到新的安全组中。
在VPC网络下,相比于普通安全组,企业级安全组可以容纳更多的私网IP地址数量。如果您集群中的私网IP数量较多,普通安全组无法容纳,阿里云建议您使用企业级安全组。
更多信息,请参见普通安全组与企业级安全组。
什么场景下我需要添加安全组规则?
当安全组关联ECS实例后,系统会默认启用隐式的默认访问控制规则(如普通安全组内实例之间内网互通)。若业务场景涉及跨安全组实例互通、公网访问管控、Workbench远程连接、来源IP限制或特定端口放行等需求,必须显式配置对应规则,否则可能因默认规则限制导致访问控制失效。详细信息,请参见安全组应用指导和案例。
安全组规则中协议和端口之间是什么关系?
在安全组规则中,协议和端口是协同定义流量访问权限的核心参数。添加安全组规则时,您必须指定通信端口以及通信协议,然后安全组根据允许或拒绝策略决定是否转发数据到ECS实例。详细信息,请参见安全组规则的构成。
常用端口及使用场景,请参见常用端口。
为什么无法访问TCP 25端口?
TCP 25端口是默认的邮箱服务端口。基于安全考虑,云服务器ECS的25端口默认受限,建议您使用465端口发送邮件。
更多使用场景,请参见安全组应用指导和案例。
为什么无法访问80端口?
如何排查80端口故障,请参见检查TCP 80端口是否正常工作。
为什么安全组里自动添加了很多内网相关的安全组规则?
以下两种情况可能导致您的安全组里自动添加了很多规则:
如果您操作过将ECS实例上的自建数据库录入至数据管理DMS中,会涉及到添加DMS IP地址段到实例关联的安全组中,安全组中会自动添加相应的规则。
如果您近期通过阿里云数据传输DTS功能迁移过数据,安全组中会添加DTS的服务IP地址相关的规则。
安全组规则配置错误会造成什么影响?
安全组配置错误可能会导致ECS实例在私网或公网与其他资源之间的访问失败,例如:
ECS实例内网通信异常,如同VPC下不同安全组或者不同账号的ECS实例之间内网不通,您可以参考不同安全组的实例实现内网互通配置规则,进而实现通信。
安全组的入方向规则和出方向规则区分计数吗?
不区分。
ECS实例的单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和的上限为1000。
更多信息,请参见使用限制。
是否可以调整安全组规则的数量上限?
不可以。
ECS实例的单张弹性网卡关联的所有安全组的规则(包括入方向规则与出方向规则)数量之和的上限为1000。
如果当前数量上限无法满足您的使用需求,建议您按照以下步骤操作:
检查安全组是否存在冗余规则:您可以通过安全组的健康检查功能,检查并删除安全组中的冗余规则。
根据业务拆分安全组:按照用途将规则维护在多个安全组中,并将实例关联到这些安全组。单个安全组的规则数量过多,会增加管理复杂度。详细信息,请参见安全组应用指导。
如何对安全组规则的不合规变更进行审计和预警?
若安全组规则对全网段(0.0.0.0/0)开放22(SSH服务)、3389(RDP)等高危风险端口,将会给系统带来严重的安全隐患。您可借助配置审计持续检测安全组配置并自动修复不合规的配置项,确保系统安全。详细信息,请参见对安全组规则的合规性进行自动审计修复。
如何禁止RAM用户(子账号)配置安全组规则?
如果您需要禁止RAM用户(子账号)配置安全组规则,可以参考创建如下自定义权限策略并授权给RAM用户,来禁用配置安全组规则的相关API接口。
{ "Version": "1", "Statement": [ { "Effect": "Deny", "Action": [ "ecs:AuthorizeSecurityGroup", "ecs:AuthorizeSecurityGroupEgress", "ecs:RevokeSecurityGroup", "ecs:RevokeSecurityGroupEgress", "ecs:ModifySecurityGroupRule", "ecs:ModifySecurityGroupEgressRule", "ecs:ModifySecurityGroupPolicy", "ecs:ModifySecurityGroupAttribute", "ecs:ConfigureSecurityGroupPermissions" ], "Resource": "*" } ] }您也可以通过授予RAM用户一个或多个包含RAM条件关键字的自定义权限策略,从而限制其创建安全组或添加安全组规则时的操作权限。例如,禁止添加包含对应IP和协议的安全组规则、限制添加的安全组规则范围,或在创建ECS实例时禁止使用默认安全组,从而提升阿里云账号的安全性。详细信息,请参见禁止RAM用户创建高危安全组规则。
如何管理安全组规则的备份、恢复与审计?
规则备份
通过控制台将安全组规则导出为 JSON 或 CSV 格式保存,或使用安全组快照功能实现自动备份与回滚——安全组规则变更后,系统将在 5 分钟后创建快照;若 5 分钟内发生多次变更,系统仅会基于首次变更前的规则创建一次快照。通过快照可恢复指定时间点的安全组规则。安全组快照使用 OSS 存储,会产生相应的 OSS 存储和请求费用。
规则恢复
已启用安全组快照时:可通过快照回滚至变更前的指定时间点。
未启用快照时:无法直接恢复,可通过之前导出的 JSON/CSV 文件重新导入。
导入规则时注意:
目标安全组须已存在。
跨地域导入时不支持授权对象为安全组/前缀列表,也不支持端口列表。
单次导入上限 200 条。
审计限制
无法查询安全组历史关联的资源信息(控制台仅显示当前关联)。
原生面板不显示规则的修改人及修改时间(规则的创建时间不随后续修改更新);如需审计变更历史,建议启用操作审计(ActionTrail)服务记录 API 调用日志,反查修改人及时间。
规则同步
安全组本身不支持直接合并,可通过将规则从源安全组导出再导入到目标安全组的方式实现规则同步。
为什么服务器日志记录了被安全组拦截的IP的访问请求?
安全组工作在网络层(L3/L4),当 ECS 前端部署了 CDN、WAF、SLB 或反向代理时:
安全组看到的源 IP:代理节点 IP(非用户真实 IP)。
应用层日志(如 Nginx Access Log)记录的 IP:通过
X-Forwarded-For请求头传递的用户真实 IP。
因此,应用日志中可能记录到恶意 IP 的访问请求,但安全组并未拦截该 IP——因为安全组过滤的是代理节点 IP,而非真实来源 IP。
处理方法:
仅在不通过 SLB/CDN 接入时,可在安全组中封禁攻击者直连的 IP 段;若已接入 SLB/CDN,封禁代理节点 IP 会切断正常业务流量,不可在安全组层封禁阿里云 SLB/CDN 节点 IP。
推荐路径:在 WAF/CDN 层配置基于真实 IP(
X-Forwarded-For)的访问控制规则。
安全组拦截的是新建连接,系统日志中记录的失败连接尝试属于正常防护行为,不代表攻击者入侵成功。
安全组规则配置后为何未生效或被绕过?
以下场景可能导致安全组规则看似未生效,请逐一排查。
场景一:SLB 后端流量默认放行
当 ECS 作为负载均衡后端时,通过 ALB、NLB 或 CLB 转发到后端 ECS 的流量,安全组会识别并默认放行。如需限制后端实例的访问来源,需在负载均衡侧配置访问控制(ACL),或在 OS 内防火墙中限制。
场景二:同安全组内实例默认互通导致拒绝规则无效
普通安全组内的实例默认内网互通,直接添加组内拒绝规则无法生效。需先在安全组策略中开启组内隔离,再通过允许规则放行特定端口和来源。企业级安全组默认组内隔离,不存在此问题。
场景三:多安全组规则按优先级匹配,拒绝优先于允许
实例关联多个安全组时,系统将所有安全组的规则汇总并按优先级排序,然后逐条匹配流量。
单条规则的匹配:系统将流量的协议类型、端口范围、授权对象(来源/目的 IP)与每条规则逐一比对,三项条件全部满足才视为匹配成功。匹配成功后,执行该规则指定的动作(允许或拒绝),并停止后续规则的检查。
多条规则的排序及逐条匹配:
优先级数值越小,越先被检查(取值范围 1~100)。
同优先级下,拒绝(Drop)规则排在允许(Accept)规则之前。
流量按排序后的规则列表逐条匹配,命中第一条规则后执行其动作。若所有自定义规则均未命中,则按安全组的默认访问控制规则处理(普通安全组与企业级安全组的默认行为不同,详情请参见普通安全组与企业级安全组)。
因此排查时需检查实例关联的所有安全组:某个安全组的高优先级允许规则可能让其他安全组的低优先级拒绝规则失效;反之亦然。这不是简单的"取并集",而是按优先级排序、拒绝优先的匹配策略。
场景四:托管安全组不可见或不可编辑
部分云产品创建的托管安全组在控制台默认隐藏或只读。如需查看,将安全组列表筛选切换为「全部」视图;如需修改,需遵循对应产品的管理流程,不可直接编辑。
如何查看资源的限额?
查看资源的使用限制和限额,请参见使用限制。
ubuntu实现开机启动添加静态路由
登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。
创建
/etc/systemd/system/add-route.service文件并添加内容。将<网段>和<网关>,分别替换为实际的目标网段和网关地址。以网段为
172.xxx.xxx.0/20,网关172.xxx.xxx.253为例。/sbin/route add -net 172.18.xxx.0/20 gw 172.30.xxx.253 dev eth0/sbin/route del -net 172.18.xxx.0/20 gw 172.30.xxx.253 dev eth0[Unit] Description=Add custom route After=network.target [Service] Type=oneshot ExecStart=/sbin/route add -net <网段> gw <网关> dev eth0 ExecStop=/sbin/route del -net <网段> gw <网关> dev eth0 RemainAfterExit=yes [Install] WantedBy=multi-user.target设置开机自启。静态路由将在每次系统启动后自动添加。
systemctl enable add-route.service
Ubuntu系统使用nslookup为何看到的dns server为127.0.0.53?
Ubuntu默认使用systemd-resolved服务作为本地DNS解析器。所有 DNS 查询会先发送至此本地地址(127.0.0.53),再由其转发至真实的上游DNS服务器。
要查看systemd-resolved当前使用的上游DNS服务器可以使用命令查看。
Ubuntu 20.04
systemd-resolve --statusUbuntu 22.04及之后版本
resolvectl status
Ubuntu系统如何配置自定义的DNS Server
为阻止
cloud-init自动重写网络设定,编辑/etc/cloud/cloud.cfg文件,在文件末尾添加以下内容:network: config: disabled修改Netplan配置文件
/etc/netplan/50-cloud-init.yaml,在网卡配置(如eth0)下添加nameservers块。nameservers: addresses: ["自定义DNS1", "自定义DNS2"]使新配置立即生效。
sudo netplan apply
如何配置Ubuntu操作系统只使用自定义的DNS Server地址
通过禁用DHCP并配置静态网络,确保系统仅使用指定的DNS服务器。
修改Netplan网络配置。编辑配置文件/etc/netplan/50-cloud-init.yaml。
将其中的网卡(如 eth0)配置修改为如下静态模式。将<DNS1>和<DNS2>替换为实际的DNS地址。
network:
ethernets:
eth0:
dhcp4: false
dhcp6: false
match:
macaddress: XX:XX:XX:XX
addresses:
- XXX.XXX.XXX.XXX/XX
routes:
- to: default
via: XXX.XXX.XXX.XXX
set-name: eth0
nameservers:
addresses: [<DNS1>, <DNS2>]
version: 2Debian系统如何避免重启后自定义DNS被重置
登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。
备份
/etc/resolv.conf文件。cp /etc/resolv.conf /etc/resolv.conf.bak为防止重启后自定义配置被覆盖,删除自动生成的DNS配置文件。
rm /etc/resolv.conf新建
/etc/resolv.conf文件,将代码块中<DNS_IP>替换为DNS服务器的IP地址。nameserver <DNS_IP>
Windows系统中ping的Receive结果包含unreachable计数
在 Windows 系统中执行 ping 命令,当收到 Destination net unreachable 回复时,该回复会被计入 Received 统计,而非 Lost。此行为可能导致对网络状态的误判。
此现象源于 Windows 对 ping 命令的实现机制,会将中间路由返回的 ICMP unreachable 报文计为接收成功。
可通过配置 Windows 防火墙入站规则,拦截该类 ICMP 报文。
New-NetFirewallRule -DisplayName "Block ICMP Unreachable" -Direction Inbound -Protocol ICMPv4 -IcmpType 3 -Action Block