Linux实例IP地址丢失怎么办?
可能原因
ECS实例的网络配置为DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)方式。
以CentOS 7的ECS为例,如果网络配置为DHCP方式,当ECS实例启动时,Linux系统的NetworkManager服务会启动dhclient进程,dhclient进程会向DHCP服务器请求分配IP地址,并获得IP地址租约到期时间。
正常情况下,dhclient进程会定期向DHCP服务器更新租约到期时间,以确保实例IP地址的可用性,如下图:
  当用户误操作停止了NetworkManager服务,并清理了dhclient进程时,会导致ECS实例无法自动更新IP地址的续租到期时间。当租约到期后,ECS实例的IP地址会被释放,导致网络不通。
解决方案
- 远程登录ECS实例。
 - 执行以下命令,重启NetworkManager服务,并设置为开启自启动。
    
systemctl restart NetworkManager
systemctl enable NetworkManager
 - 执行以下命令,查看NetworkManager服务状态。
    
systemctl status NetworkManager
图3 查看NetworkManager服务状态
     - 执行以下命令,查看网络状态。
    
    
    
若出现如图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  | 
      
        是  | 
     
    
      
