重启后 IP 变了
发布时间:2026-09-29 22:49       
更新时间:2026-09-30 14:56
重启之后内网地址换了一个,挂在旧地址上的应用全体断连,原因是网卡在用 DHCP(自动获取地址协议)动态拿 IP,重新获取时就可能换号。公有 IP 一般由云平台绑定不变,会变的通常是内网地址。
## 先确认当前的获取方式
ip addr
nmcli con show
CentOS 系看 /etc/sysconfig/network-scripts/ifcfg-网卡名,BOOTPROTO=dhcp 就是动态获取;Ubuntu 系看 /etc/netplan/ 下的 yaml 文件,缺 addresses 配置即依赖 DHCP。nmcli 输出里 device 一栏是网卡名,后面改配置全靠它,先记下来;DHCP 租约还剩多久也有对应字段,nmcli con show 网卡名 里的 expires 可查。获取方式确认了,固定方案就清楚了。
## 固定内网 IP 的做法
首选云平台侧固定:控制台把内网 IP 改为静态分配或保留,重启、迁移都不变,不动系统配置,最不容易出错。公网 IP 的稳定性顺带说明:云平台的公有 IP 绑定实例,重启不变,但释放实例或更换计费方式时可能被回收,重要业务在控制台申请保留。
另一条路是系统侧静态化,CentOS 7 系改 ifcfg 文件:
BOOTPROTO=static
IPADDR=10.0.0.5
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=10.0.0.2
systemctl restart network 生效。Ubuntu 用 netplan:
network:
version: 2
ethernets:
eth0:
addresses: [10.0.0.5/24]
routes:
- to: default
via: 10.0.0.1
netplan apply 应用前务必核对缩进,写错会导致网络起不来。
## 改之前的两个检查
目标 IP 要在网段内且未被占用,ping 一下确认无响应再用;网关和 DNS 要配套填写,只改地址不改网关,会出现内网通、外网断的怪象。多网卡机器只固定业务网卡,管理网卡配置别顺手动,两套网络搅在一起排障难度翻倍。
改配置前备份原文件,cp ifcfg-eth0 ifcfg-eth0.bak 一条命令的事,改坏了还能从云控制台的终端登录救回,别把自己锁在门外。改完后 ip addr 复核,再从其他机器做一轮连通性测试。
云环境下内网 IP 通常只在同一实例内才有意义,应用间调用建议直接走域名或云平台提供的内网解析,把"IP 变了"这类故障从依赖清单里移出去。变更选在业务低峰,改完当场验证,当晚盯一轮监控再收工,静态 IP 的变更才算真正落地。固定之后同步更新运维文档里的地址清单,所有引用旧地址的监控项、应用配置一次改齐,漏一处就是下一次断连。