CentOS网络配置怎样更简单
小樊
43
2025-12-27 10:35:29
让 CentOS 网络配置变简单的三条路径
- 使用 NetworkManager 的 nmcli:命令行一条条设置,改完即生效,适合脚本化和远程维护。
- 使用 nmtui:全终端的“图形化”界面,步骤直观,适合新手和现场排障。
- 直接编辑 ifcfg 文件:传统方式,兼容性好;但在 CentOS 8 及以后已被弃用,不建议长期使用。
以上工具和方法均为 CentOS 7/8 的常见做法,nmcli/nmtui 是官方推荐路径。
一步到位的 nmcli 常用命令
- 查看连接与设备
- 查看连接名:nmcli con show(NAME 列即连接名)
- 查看网卡:nmcli dev status
- 配置为静态 IP(示例)
- 设置参数:
- nmcli con mod “ens33” ipv4.addresses 192.168.1.100/24
- nmcli con mod “ens33” ipv4.gateway 192.168.1.1
- nmcli con mod “ens33” ipv4.dns “8.8.8.8,1.1.1.1”
- nmcli con mod “ens33” ipv4.method manual
- nmcli con mod “ens33” connection.autoconnect yes
- 使生效:nmcli con up “ens33”(或先 down 再 up)
- 切回 DHCP
- nmcli con mod “ens33” ipv4.method auto
- nmcli con up “ens33”
- 验证
- IP:ip addr show ens33
- 路由:ip route(看 default via)
- DNS:cat /etc/resolv.conf
以上命令覆盖日常 90% 的静态/DHCP 配置与切换需求。
不写脚本的 nmtui 操作
- 启动:nmtui
- 路径:Edit a connection → 选中 ens33 → IPv4 Configuration 选 Manual → 填写 Addresses(如 192.168.1.100/24)、Gateway、DNS → OK
- 使生效:Activate a connection → 先 Deactivate 再 Activate 该连接
- 验证:ip a、ping -c 4 8.8.8.8
nmtui 适合不熟悉命令行的场景,操作路径清晰、容错高。
多场景快速切换与虚拟机要点
- 多 Profile 秒切(适合“办公室静态 / 家里 DHCP / 客户现场”多套配置)
- 新建静态 Profile:
- nmcli con add con-name company ifname ens33 type ethernet ip4 192.168.10.10/24 gw4 192.168.10.2 autoconnect no
- 切换:
- 切到公司:nmcli con up company
- 切回 DHCP:nmcli con up ens33
- 特点:同一时刻仅一个 Profile 生效,切换无需重启系统或网络服务,便于回滚与演练。
- 虚拟机网络选择
- Bridged:与主机同网段,局域网其他设备可直接访问虚拟机(常用)。
- NAT:虚拟机可访问外网,外网默认不能直达虚拟机。
- Host-Only:仅主机与虚拟机互通。
以上做法可显著降低多环境切换成本,并匹配常见虚拟化网络模型。
常见坑与快速排查
- 修改后不生效:优先用 nmcli con up/down 激活连接,避免直接改文件后忘记重启服务。
- DNS 不更新:确认已用 nmcli 设置 ipv4.dns,再看 /etc/resolv.conf 是否写入;如被覆盖,检查是否由其他服务管理。
- 默认网关冲突:一台主机只能有一个有效的 default via;用 ip route 检查是否出现多条默认路由。
- 接口名不一致:用 ip a 确认实际网卡名(如 ens33/ens160),nmcli/nmtui 中使用的是“连接名”,两者可能不同。
- 虚拟机无法上网:核对虚拟网络模式(Bridged/NAT/Host-Only)、宿主机网络与网关设置。