永久配置静态IP需先识别系统网络管理机制:Netplan(Ubuntu 18.04+等)改/etc/netplan/.yaml并sudo netplan apply;NetworkManager(RHEL 8+/Fedora等)用nmcli修改连接后重启;传统ifcfg(CentOS 7等)编辑/etc/sysconfig/network-scripts/ifcfg-并systemctl restart network。

永久修改静态IP地址,关键在于找到系统正在使用的网络管理机制,再修改对应配置文件或用配套工具写入持久化设置。硬套教程容易失败,因为不同发行版底层逻辑完全不同。
先确认你用的是哪套网络管理机制
别急着改文件,运行这三条命令快速判断:
-
ip -br a —— 看真实网卡名(比如 ens33、enp0s3),避开
lo或带@的虚拟接口 - ip route | grep default —— 查当前默认网关和走哪个接口,确认网络出口路径
-
cat /etc/resolv.conf —— 如果开头有
# Generated by NetworkManager或systemd-resolved,说明 DNS 是动态注入的,不能直接改这个文件
再查后端服务:
- ls /etc/netplan/ 有 .yaml 文件 → Ubuntu 17.10+、Debian 11+、CentOS Stream 默认走 Netplan
-
nmcli connection show 有输出 且 systemctl is-active NetworkManager 是 active → 优先用
nmcli或nmtui - ls /etc/sysconfig/network-scripts/ifcfg-* 存在 → RHEL/CentOS/Fedora/阿里云 Linux 风格
-
cat /etc/network/interfaces 有
iface块 → Debian/Ubuntu Server 传统 ifupdown
Netplan 方式(Ubuntu 18.04+、Debian 11+)
编辑 /etc/netplan/*.yaml(如 01-network-manager-all.yaml),注意缩进必须用空格,不能用 Tab:
- 把
dhcp4: true改成dhcp4: false - 添加
addresses: [192.168.1.100/24](IP 和子网掩码位数) - 添加
gateway4: 192.168.1.1(仅支持一个 IPv4 网关) - DNS 要写全:
nameservers: {addresses: [8.8.8.8, 114.114.114.114]},漏掉addresses:键就无效 - 确认
renderer:值匹配实际服务(networkd或NetworkManager),不一致会冲突
保存后执行:sudo netplan apply
NetworkManager 方式(RHEL 8+/CentOS 8+/Fedora/Ubuntu Desktop)
用 nmcli 修改连接,比手动改文件更安全:
- 查连接名:
nmcli connection show --active - 设 IP 和掩码:
nmcli connection modify "ens33" ipv4.addresses 192.168.1.100/24 - 设网关:
nmcli connection modify "ens33" ipv4.gateway 192.168.1.1 - 设 DNS:
nmcli connection modify "ens33" ipv4.dns "8.8.8.8,114.114.114.114" - 禁用 DHCP:
nmcli connection modify "ens33" ipv4.method manual - 重启连接:
nmcli connection down "ens33" && nmcli connection up "ens33"
缺一不可 —— 只改 method 不设地址,NetworkManager 会 fallback 回 DHCP。
传统 ifcfg 方式(RHEL/CentOS 7、Alibaba Cloud Linux)
编辑 /etc/sysconfig/network-scripts/ifcfg-ens33:
-
BOOTPROTO=static(必须,不能写none或留空) -
ONBOOT=yes(确保开机自动启用) IPADDR=192.168.1.100-
NETMASK=255.255.255.0或PREFIX=24 GATEWAY=192.168.1.1-
DNS1=8.8.8.8、DNS2=114.114.114.114
保存后重启网络服务:sudo systemctl restart network(CentOS 7)
或重载连接:sudo ifdown ens33 && sudo ifup ens33
ifupdown 方式(Debian/Ubuntu Server 传统)
编辑 /etc/network/interfaces:
- 确保有
auto ens33 - 写完整静态段:
iface ens33 inet static<br> address 192.168.1.100<br> netmask 255.255.255.0<br> gateway 192.168.1.1<br> dns-nameservers 8.8.8.8 114.114.114.114
应用配置:sudo ifdown ens33 && sudo ifup ens33


















