linux永久删除旧ip需修改对应发行版配置文件:ubuntu/debian删/etc/netplan/.yaml中addresses条目并netplan apply;centos 7–8删/etc/sysconfig/network-scripts/ifcfg-中ipaddr1等行并重启network;rhel 9+/fedora编辑/etc/networkmanager/system-connections/*.nmconnection的[ipv4]段并重载连接。

Linux中永久删除旧的IP配置,核心是清除配置文件中已失效或不再需要的网络参数,并确保系统重启后不再加载它们。这不是单纯执行一条命令就能完成的操作,而是要定位并修改对应发行版的持久化配置文件。
以下分常见发行版说明操作要点:
查看当前生效的IP配置来源
先确认旧IP是从哪来的:
- 运行
ip a或ifconfig查看接口当前IP; - 运行
cat /proc/sys/net/ipv4/conf/*/forwarding(可选)辅助判断是否被其他服务注入; - 更关键的是检查配置文件是否仍存在残留定义。
Debian/Ubuntu 系统(使用 Netplan)
配置通常在 /etc/netplan/*.yaml 中。
- 用
ls /etc/netplan/找到主配置文件(如01-network-manager-all.yaml); - 用
sudo nano /etc/netplan/xxx.yaml打开编辑; - 在对应网口(如
eth0)的addresses:列表中,删掉不需要的IP条目,例如:addresses: - 192.168.1.100/24 # ← 保留这个 - 192.168.1.101/24 # ← 删除这一行
- 保存后运行
sudo netplan apply生效; - 若该IP是通过子接口(如
eth0:1)配置的,还需检查/etc/network/interfaces是否有iface eth0:1 inet static类似段落,一并删除。
CentOS/RHEL 7–8 系统(使用 ifcfg 文件)
配置文件位于 /etc/sysconfig/network-scripts/ifcfg-<interface></interface>(如 ifcfg-ens33)。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 编辑该文件:
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33; - 检查是否存在多IP写法,比如:
IPADDR1=192.168.1.101 PREFIX1=24
或旧式别名写法(如
IPADDR_1=、NETMASK_1=); -
直接删除整行
IPADDR1=...及其配套项(PREFIX1、GATEWAY1、DNS1_1等); - 如果配置了多个静态地址但只用
IPADDR+PREFIX单组参数,则说明旧IP可能来自其他机制(如 NetworkManager 或脚本),需继续排查; - 保存后重启网络:
sudo systemctl restart network(RHEL7/8)或sudo nmcli connection reload && sudo nmcli connection down "connection-name" && sudo nmcli connection up "connection-name"(若启用了 NetworkManager)。
RHEL 9+ / Fedora(默认使用 NetworkManager keyfile)
配置文件在 /etc/NetworkManager/system-connections/ 下,为 .nmconnection 文件。
- 列出连接:
nmcli connection show; - 查看某连接详情:
nmcli connection show "Wired connection 1"; - 若发现多余IPv4地址,可通过命令移除:
sudo nmcli connection modify "Wired connection 1" +ipv4.addresses "192.168.1.101/24" sudo nmcli connection modify "Wired connection 1" ipv4.ignore-auto-routes yes
但更稳妥的方式是编辑对应
.nmconnection文件:-
sudo vim /etc/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection; - 在
[ipv4]段中,找到address1=、address2=等行,删掉整行; - 确保
method=manual且addresses=后只留你需要的地址(格式如192.168.1.100/24,192.168.1.1); - 保存后运行:
sudo nmcli connection reload && sudo nmcli connection down "Wired connection 1" && sudo nmcli connection up "Wired connection 1"。
-
额外检查点(容易忽略)
- 检查
/etc/hosts是否有旧IP绑定主机名,虽不直接影响接口IP,但可能干扰服务解析; - 检查
/etc/rc.local或自定义启动脚本(如/root/set-ip.sh)是否含ip addr add命令,这类脚本若未禁用,每次开机仍会加回旧IP; - 若用 Docker 或 Kubernetes,确认没有容器网络或 CNI 插件在接口上自动添加 secondary IP。
完成上述修改后,建议重启服务器或至少重启网络服务,再执行 ip a 和 ip route show 验证旧IP是否彻底消失且无残留路由。










