华为云服务器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实例的网络恢复正常。
附录
常见操作系统的默认网络服务配置,建议不修改,直接采用默认值。
操作系统 |
网络服务 |
是否内置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)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家