CentOS8和AnolisOS8使用nmcli设置静态网络

作者:Sunflower 发布时间: 2026-05-21 阅读量:4 评论数:0

📝 准备工作:获取网卡名称

配置前先用命令确认网卡名称(通常是 ens33eth0 等):

ip addr show
nmcli device status

🖥️ 方法一:nmtui 图形化配置(推荐)

运行交互界面并根据提示操作:

sudo nmtui
  1. 选择 Edit a connection → 选中目标网卡 → Enter。
  2. IPv4 CONFIGURATION<Automatic> 改为 Manual
  3. 点击 Show 填写:
    • Addresses192.168.1.100/24(务必含前缀长度)
    • Gateway192.168.1.1
    • DNS servers8.8.8.8, 114.114.114.114
  4. 确保 Automatically connect 已选中 → OK 保存。
  5. 返回主菜单,进入 Activate a connection先 Deactivate 再 Activate 该连接。

🔧 方法二:nmcli 命令行配置

通过 nmcli 命令设置静态 IP:

# 查看当前连接的名称
sudo nmcli connection show

# 修改为静态 IP 配置(替换 ens33 为实际连接名)
sudo nmcli connection modify ens33 \
  ipv4.method manual \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8 114.114.114.114" \
  ipv4.ignore-auto-dns yes \
  connection.autoconnect yes

# 让配置生效
sudo nmcli connection down ens33 && sudo nmcli connection up ens33
  • 192.168.1.100/24/24 对应子网掩码 255.255.255.0
  • ipv4.ignore-auto-dns yes 确保手动 DNS 不被 DHCP 自动获取的配置覆盖。

📄 方法三:编辑配置文件(传统方式)

编辑网卡配置文件(CentOS 8 中已弃用但依然有效):

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33

写入以下配置(将 ens33 替换为实际网卡名):

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24          # 等于 NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
NM_CONTROLLED=yes  # 若想由 NetworkManager 管理,去掉此注释并重启服务

重新加载配置:

sudo nmcli connection reload
sudo nmcli connection up ens33

⚠️ 从 CentOS 8 开始,官方推荐使用 nmcli/nmtui 而非直接编辑配置文件,后续版本可能会完全移除 ifcfg-* 支持。

✅ 验证与测试

# 查看 IP 地址
ip addr show ens33

# 测试网关连通性
ping -c 4 192.168.1.1

# 测试外网连通性(需 DNS 正常)
ping -c 4 baidu.com

# 验证 DNS 解析
cat /etc/resolv.conf
nslookup baidu.com

# 查看默认网关
ip route show default

评论