在Linux中设置固定IP有四种方法:一、编辑网卡配置文件(如ifcfg-ens33),设BOOTPROTO=static并填入IPADDR等参数,重启network服务;二、用nmcli修改连接属性并重载;三、用ip命令临时配置;四、Ubuntu用netplan YAML文件配置后执行netplan apply。

如果您在Linux系统中需要为网络接口分配一个固定不变的IP地址,则必须修改网络配置文件并重启网络服务。以下是实现该目标的多种可行方法:
一、通过编辑网卡配置文件设置静态IP
此方法适用于CentOS/RHEL 7+、Rocky Linux等使用network-scripts的系统,配置持久生效,重启后仍保留。
1、使用ifconfig或ip addr命令确认网卡名称,例如ens33、eth0等。
2、执行命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33(将ens33替换为实际网卡名)。
3、将BOOTPROTO=dhcp修改为BOOTPROTO=static。
4、添加或修改以下四行(值需根据实际网络环境调整):
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
5、确保ONBOOT=yes,使网卡开机自动启用。
6、保存退出:按ESC键,输入:wq并回车。
7、执行命令:systemctl restart network重启网络服务。
二、使用nmcli命令行工具配置静态IP
此方法适用于启用NetworkManager服务的系统(如桌面版Ubuntu、Fedora),无需手动编辑配置文件,由NM统一管理。
1、查看当前连接名称:nmcli connection show。
2、修改连接为静态IP模式:nmcli connection modify "System ens33" ipv4.method manual(将“System ens33”替换为实际连接名)。
3、设置IP地址与子网前缀:nmcli connection modify "System ens33" ipv4.addresses 192.168.1.100/24。
4、设置默认网关:nmcli connection modify "System ens33" ipv4.gateway 192.168.1.1。
5、设置DNS服务器:nmcli connection modify "System ens33" ipv4.dns "114.114.114.114 8.8.8.8"。
6、禁用IPv6(可选):nmcli connection modify "System ens33" ipv6.method ignore。
7、重新激活连接:nmcli connection down "System ens33" && nmcli connection up "System ens33"。
三、使用ip命令临时设置静态IP
此方法仅在当前会话生效,系统重启或网络服务重启后失效,适合快速测试或应急调试。
1、清除原有IP:ip addr flush dev ens33(ens33替换为实际网卡名)。
2、添加新IP地址:ip addr add 192.168.1.100/24 dev ens33。
3、添加默认路由:ip route add default via 192.168.1.1 dev ens33。
4、添加DNS解析(需同步修改/etc/resolv.conf):echo "nameserver 114.114.114.114" > /etc/resolv.conf。
四、通过修改/etc/netplan/*.yaml配置(Ubuntu 18.04+适用)
此方法专用于采用Netplan作为网络配置后端的Ubuntu系统,YAML格式声明式配置,语义清晰且支持多网卡策略。
1、定位Netplan配置文件:ls /etc/netplan/*.yaml,常见为01-network-manager-all.yaml或50-cloud-init.yaml。
2、使用nano或vim编辑该文件:sudo nano /etc/netplan/01-network-manager-all.yaml。
3、将原dhcp4: true替换为以下结构(注意缩进必须为两个空格):
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
4、应用配置:sudo netplan apply。









