问题描述
使用自定义镜像创建VPC网络的ECS实例后,可能出现网络无法连通的异常情况。
问题原因
出现该问题的可能原因较多,本文以CentOS 7系统为例。
-
自定义镜像的
/etc/sysconfig/network
网络配置文件中配置了GATEWAY参数。配置该参数后,通过自定义镜像创建的ECS实例仍然存在该参数配置,ECS实例虽然通过DHCP获取到了IP地址,但是默认路由不正确,最终网络不可用。 -
自定义镜像的
/etc/udev/rules.d/70-persistent-net.rules
文件中存在网络规则。比如存在下面的网络规则,则通过自定义镜像创建的ECS实例启动后无法获取eth0网卡对应的IP地址。SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:XX:XX:XX:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
-
自定义镜像中的网络配置为非DHCP获取的方式。比如自定义镜像中使用静态IP地址,则创建的ECS实例仍然使用静态IP地址,可能与已有的IP地址冲突或者不在同一个子网,导致网络不可用。
解决方案
说明
-
如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
-
如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
-
如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
问题原因不同对应的解决方案不同,建议参考如下步骤,在生成自定义镜像前先确认网络配置情况,然后再生成自定义镜像。
说明
对于如下步骤中涉及的文件修改操作,请在操作前先备份配置文件或者创建快照以备份ECS实例。
-
远程登录生成自定义镜像的ECS实例。
-
执行如下命令,确认配置文件中不存在GATEWAY参数。如果存在,可以通过注释的方式禁用。
说明
不同环境的GATEWAY参数可能存在差异,以现场实际情况为准。
cat /etc/sysconfig/network
系统显示类似如下。
# Created by anaconda
-
检查如下配置文件,如果其中存在网络规则,则删除对应网卡的规则。
/etc/udev/rules.d/70-persistent-net.rules
-
执行如下命令,检查配置文件。
cat /etc/sysconfig/network-scripts/ifcfg-eth0
系统显示类似如下,确认存在返回结果中的3个配置,并且不存在静态IP、GATEWAY的参数配置。如果存在,可以通过注释的方式禁用。
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
适用于
-
云服务器ECS
关于阿里云ecs服务器的内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/9665.html