华为云服务器Linux实例IP地址丢失怎么办?_云淘科技

问题描述

当ECS实例在未重启的情况下连续运行超过一定时间后,出现IP丢失、实例断网、网络瘫痪的情况,如图1所示。

图1 故障现象

可能原因

ECS实例的网络配置为DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)方式。

以CentOS 7的ECS为例,如果网络配置为DHCP方式,当ECS实例启动时,Linux系统的NetworkManager服务会启动dhclient进程,dhclient进程会向DHCP服务器请求分配IP地址,并获得IP地址租约到期时间。

正常情况下,dhclient进程会定期向DHCP服务器更新租约到期时间,以确保实例IP地址的可用性,如下图:

图2 正常情况

当用户误操作停止了NetworkManager服务,并清理了dhclient进程时,会导致ECS实例无法自动更新IP地址的续租到期时间。当租约到期后,ECS实例的IP地址会被释放,导致网络不通。

解决方案

远程登录ECS实例。
执行以下命令,重启NetworkManager服务,并设置为开启自启动。

systemctl restart NetworkManager

systemctl enable NetworkManager

执行以下命令,查看NetworkManager服务状态。

systemctl status NetworkManager

图3 查看NetworkManager服务状态

执行以下命令,查看网络状态。

ip ad

图4 查看网络状态

若出现如图4所示结果,表示ECS实例的网络恢复正常。

附录

常见操作系统的默认网络服务配置,建议不修改,直接采用默认值。

表1 常见操作系统的默认网络服务配置

操作系统

网络服务

是否内置DHCP功能

CentOS 6

Network

否,有单独的dhclient进程

CentOS 7

NetworkManager

否,有单独的dhclient进程

CentOS 8

NetworkManager

Ubuntu 16.04

NetworkManager

否,有单独的dhclient进程

Ubuntu 18.04

NetworkManager

否,有单独的dhclient进程

Ubuntu 20.04

NetworkManager

Ubuntu 22.04

NetworkManager

父主题: 操作系统类(Linux)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家