这是一份 CentOS 7 虚拟机的网络配置笔记,适用于仍由 ifcfg 文件管理连接的旧环境。不同发行版或 NetworkManager 配置后端可能使用其他方式,不应直接覆盖现有配置。

先选网络模式,再规划地址

桥接和 NAT 决定虚拟机怎样接入网络;静态地址和 DHCP 决定地址怎样获得,两者不是同一个选择。

桥接通常让虚拟机像局域网里的另一台设备;NAT 通常通过虚拟网络的网关访问外部,外部主动访问虚拟机时可能还需要端口转发。NAT 同样可以使用静态地址,但必须使用对应虚拟网络的网段和网关,并避免与 DHCP 地址池及其他设备冲突。

找到真正使用的网卡和连接

先只读查看当前状态:

ip -br address
ip route
nmcli connection show --active

网卡名不一定是 ens33。确认连接管理方式后,再找到对应的 /etc/sysconfig/network-scripts/ifcfg-<网卡名>,备份原文件。

下面只展示字段含义,不是一份可以原样启用的配置:

TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
IPADDR=<分配给虚拟机的IPv4地址>
PREFIX=<网络前缀长度>
GATEWAY=<该网络的网关地址>
DNS1=<实际使用的DNS服务器>

BOOTPROTO=none 表示这里不通过 DHCP 获取 IPv4;ONBOOT=yes 表示启动时自动连接。也可遇到用 NETMASK 表示子网掩码的旧配置,不要填写相互矛盾的 PREFIX 和 NETMASK。NetworkManager ifcfg-rh 格式说明

保存文件不等于连接已经更新

手工改 ifcfg 文件后,需要让管理器重新读取配置;重新读取与把配置应用到活动连接又是两件事。应按实际版本和管理工具操作,避免同时使用多套方式覆盖同一连接。

应用网络配置可能中断 SSH。远程机器必须先准备控制台或其他恢复通道,不要在只有一个远程会话、没有恢复能力时直接重启网络。

完成后分别检查地址、默认路由、网关可达性和 DNS 解析,再确认重启后的持久化。能访问一个 IP 不代表 DNS 正常;能解析域名也不代表默认路由正确。