一、介绍
本文介绍了两种在Linux系统中配置静态IP的方法。
方法一使用nmcli命令:通过查看当前连接、修改IP/网关/DNS等参数并重启连接完成配置。
方法二通过编辑网卡配置文件(如ifcfg-ens33),修改BOOTPROTO为static并设置IP、子网掩码、网关等参数后重启网络服务。
两种方法最后都需验证配置是否生效,包括检查IP地址和测试网络连通性。第一种方法即时生效,第二种更适合习惯手动编辑配置文件的用户。
两种方式均需确保网卡名与实际一致,并正确设置网关以保证网络连通。
二、步骤
方法 1:用 nmcli 命令
nmcli 是 NetworkManager 的命令行工具,操作简单且即时生效,无需重启系统。
1. 查看当前网络连接名称(通常和网卡名一致):
bash
nmcli connection show # 输出中"NAME"列即为连接名(如ens33)

2. 修改 IP、子网掩码(默认 24 位),并设置为「手动配置」(静态 IP):
bash
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.150.103/24 ipv4.gateway 192.168.150.1 ipv4.dns 8.8.8.8,114.114.114.114
根据需求自行修改ens33位置为你的网卡名,ipv4.addresses为修改的目标地址
ipv4.gateway为网关地址,修改见:https://blog.csdn.net/2401_84926677/article/details/154566139
3. 重启网络连接,使配置生效:
bash
nmcli connection up ens33 # 激活新配置

4. 验证
bash
ip addr | grep "ens33" #"ens33"为网卡名
#或
ifconfig

方法 2:编辑网卡配置文件
直接修改 /etc/sysconfig/network-scripts/ 下的网卡配置文件,适合习惯手动编辑文件的场景。
1. 找到网卡配置文件(文件名格式 ifcfg-网卡名,如 ifcfg-ens33)
bash
cd /etc/sysconfig/network-scripts/
ls ifcfg-* # 查看所有网卡配置文件

2. 用 vim 编辑文件(以 ifcfg-ens33 为例):
bash
vim ifcfg-ens33

3. 修改 / 添加以下字段(注释用 # 开头,无关字段保留默认)
bash
TYPE=Ethernet
BOOTPROTO=static # 关键:改为static(手动配置),原可能是dhcp
DEFROUTE=yes
NAME=ens33 # 网卡连接名(和网卡名一致)
DEVICE=ens33 # 网卡名(必须和实际网卡一致)
ONBOOT=yes # 开机自动激活网卡
IPADDR=192.168.150.103 # 新IP
NETMASK=255.255.255.0 # 子网掩码(对应/24)
GATEWAY=192.168.150.1 # 网关(必填,否则无法上网)
DNS1=8.8.8.8 # DNS(可选,建议配置)
DNS2=114.114.114.114
4. 保存退出(vim 中按 Esc → 输入 :wq → 回车)
5. 重启网络服务生效:
bash
# CentOS7推荐用这个命令
systemctl restart NetworkManager
# 若无效,尝试旧命令(不推荐,但部分场景可用)
# systemctl restart network
6. 验证
bash
ip addr show ens33 # 或简写 ip a s ens33

测试网络连通性
bash
ping 192.168.150.1 # ping网关(通则网络正常)
ping www.baidu.com # ping外网(通则DNS配置正常)


