linux修改ip分临时和永久两类:临时用ip addr add等命令,重启失效;永久需配置networkmanager或编辑/etc/sysconfig/network-scripts/ifcfg-*(centos)及/etc/network/interfaces(debian/ubuntu),并重启网络服务。

Linux 系统中修改 IP 地址,主要分临时生效和永久生效两类方式,关键区别在于是否重启后仍保留设置。临时配置适合测试或应急,永久配置需修改网络配置文件或使用网络管理工具。
临时修改 IP(重启后失效)
适用于快速验证、调试或临时网络切换,无需编辑文件,命令立即生效:
- 查看当前网卡名:运行 ip link show 或 ifconfig -a(若已安装 net-tools),常见名称如 eth0、ens33、enp0s3
- 添加新 IPv4 地址:例如为 ens33 设置 192.168.1.100/24,执行
sudo ip addr add 192.168.1.100/24 dev ens33 - 删除旧地址(可选):如原 IP 是 192.168.1.5/24,运行
sudo ip addr del 192.168.1.5/24 dev ens33 - 启用网卡(如被关闭):sudo ip link set ens33 up
- 设置默认网关(如需上网):sudo ip route add default via 192.168.1.1
永久修改 IP(重启后仍有效)
不同发行版机制不同,主流分为两类:
-
使用 NetworkManager(桌面版 Ubuntu/Fedora/CentOS 8+ 常见):
推荐用 nmtui(终端图形界面)或 nmcli 命令。例如:
sudo nmcli connection modify "System ens33" ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify "System ens33" ipv4.gateway 192.168.1.1
sudo nmcli connection modify "System ens33" ipv4.method manual
sudo nmcli connection down "System ens33" && sudo nmcli connection up "System ens33" -
编辑网络配置文件(传统方式,CentOS 7/RHEL 7、Debian/Ubuntu Server 常用):
• CentOS/RHEL:编辑 /etc/sysconfig/network-scripts/ifcfg-ens33,确保含以下行:
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
• Debian/Ubuntu:编辑 /etc/network/interfaces,改为:
auto ens33
iface ens33 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
保存后运行 sudo systemctl restart networking(Debian/Ubuntu)或 sudo systemctl restart network(CentOS/RHEL)
验证与排错要点
配置完成后务必确认是否真正生效:
- 检查 IP 是否已应用:ip addr show ens33(注意看 inet 行)
- 测试连通性:ping -c 3 192.168.1.1(网关)、ping -c 3 8.8.8.8(外网)
- 检查路由表:ip route show,确认默认路由存在且指向正确网关
- 常见问题:网卡未启用(ip link 显示 DOWN)、配置文件拼写错误(如 ONBOOT=yes 写成 onboot=yes)、多个配置冲突(如同时启用 DHCP 和静态 IP)
注意事项
操作前建议备份原配置文件,避免失连;生产环境建议先在虚拟机中测试流程;若使用 SSH 远程连接,临时改 IP 可能导致会话中断,推荐搭配 screen 或本地终端操作;部分云服务器(如阿里云、AWS)限制手动修改内网 IP,需通过控制台调整。









