前置:先查看网卡名称

bash
运行
ip a
# 或
nmcli device status
常见网卡名:ens33eth0enp0s3,下文统一用 ens33 举例。

方法 1:nmcli 命令行(推荐,7/8/9 通用,永久生效)

1. 一键配置静态 IP

bash
运行
nmcli connection modify ens33 \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "114.114.114.114 8.8.8.8" \
connection.autoconnect yes
参数说明:
  • manual:静态 IP;auto:DHCP 自动获取
  • 192.168.1.100/24:IP + 掩码(/24=255.255.255.0)
  • gateway:路由器 / 虚拟机 NAT 网关
  • autoconnect yes:开机自动联网

2. 重载网卡生效

bash
运行
nmcli connection up ens33
# 重载全部配置(可选)
nmcli connection reload

切换回 DHCP 自动获取 IP

bash
运行
nmcli con mod ens33 ipv4.method auto
nmcli con up ens33

方法 2:nmtui 文本图形界面(新手友好,无需记命令)

  1. 执行命令打开可视化配置
bash
运行
nmtui
  1. 选择 Edit a connection → 选中网卡 ens33 → Edit
  2. IPv4 配置改为 Manual,点 Add 填入:
    • Addresses:IP / 掩码(如 192.168.1.100/24)
    • Gateway:网关地址
    • DNS servers:114.114.114.114,8.8.8.8
  3. 勾选 Automatically connect(开机自启)
  4. 保存退出,执行生效:
bash
运行
nmcli con up ens33

方法 3:修改网卡配置文件(CentOS7 传统方式)

1. 进入配置目录

bash
运行
cd /etc/sysconfig/network-scripts/
ls ifcfg-*
vim ifcfg-ens33

2. 修改完整配置模板

ini
TYPE=Ethernet
NAME=ens33
DEVICE=ens33
ONBOOT=yes               # 开机启用网卡
BOOTPROTO=static         # static静态 / dhcp自动
IPADDR=192.168.1.100     # 静态IP
NETMASK=255.255.255.0    # 子网掩码
GATEWAY=192.168.1.1      # 网关
DNS1=114.114.114.114
DNS2=8.8.8.8
DEFROUTE=yes
NM_CONTROLLED=yes

3. 重启网络生效

  • CentOS7:
bash
运行
systemctl restart network
  • CentOS8/9(无 network 服务,必须用 nmcli):
bash
运行
nmcli con up ens33

验证配置是否成功

bash
运行
# 查看本机IP
ip a
# 查看网关
ip route | grep default
# 测试外网连通
ping www.baidu.com
# 测试DNS解析
nslookup baidu.com

常见排坑

  1. 修改后不生效:执行 nmcli con up 网卡名 重载连接
  2. 无法上网:检查网关、DNS 是否填写错误,IP 网段与宿主机一致
  3. 重启后 IP 丢失:确认 ONBOOT=yes / autoconnect yes
  4. CentOS8/9 不要用 systemctl restart network,已废弃,只用 nmcli
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。