马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
虚拟机里的 CentOS 连不上网,八成不是敲错命令,而是没弄清楚三种网络连接模式各自能做什么。这篇先讲清桥接、NAT、仅主机(Host-only)的区别,再给两套永久生效的配置方法:红帽系特有的 setup 交互式工具,和直接改配置文件 / nmcli 的方式。
一、先分清三种模式
- 桥接(Bridged):用的是物理机的真实网卡,虚拟机会从局域网里拿一个真实 IP,能和局域网内其他机器互相通信,也能上互联网。代价是会占用一个真实地址,公司网络里可能被 DHCP 配额限制;
- NAT:走 VMware 的 VMnet8 虚拟网卡,虚拟机只能和当前这台物理机通信,但能访问互联网。最省心,也最常用;
- 仅主机(Host-only):走 VMnet1 虚拟网卡,只能和物理机通信,不能访问互联网。适合做隔离的测试环境。
先想清楚你要的是「局域网可达」还是「能上网」,模式选错,后面命令敲得再对也没用。
二、临时配置(重启即失效)
临时方案适合快速验证网络通不通:ip addr 查物理机对应的网卡信息,拿到 IP、网关、DNS 后,在 Linux 里配一份同网段的静态 IP,再到物理机上 ping 虚拟机的 IP,通了就说明网段与模式没问题。这种配置只写到运行时的网络脚本里,系统重启后就失效,只拿来试水可以,别当最终方案。
三、永久配置之一:setup 交互式工具
setup 是红帽系列独有的文本配置工具,别的发行版不一定有。依次操作:
- 命令行敲
setup 回车;
- 选「网络配置」回车;
- 选「设备配置」回车;
- 选对应的网卡(如 eth0 / ens33)回车;
- 把「使用 DHCP」关掉;
- 填上 IP、子网掩码、默认网关;
- 保存后手动启动网卡:
ifconfig eth0 up 或 nmcli connection up ens33;
- 重启网络服务:
systemctl restart network;
- 验证:
ping 网关IP、ping 8.8.8.8、ping www.baidu.com 三层递进。
三层都能通才算彻底配好:第一层说明本机网卡栈正常,第二层说明网关可达,第三层说明 DNS 和出口都 OK。
四、永久配置之二:改配置文件
直接编辑网卡配置(CentOS 7 一般在 /etc/sysconfig/network-scripts/ifcfg-ens33),把 ONBOOT=yes、BOOTPROTO=static 设好,再补 IPADDR、NETMASK、GATEWAY、DNS1,保存 systemctl restart network 生效。
DNS 有两种写法:
1. 命令行配置(nmcli)
nmcli connection modify ens33 ipv4.dns 114.114.114.114 8.8.8.8 # 多个 DNS 用空格隔开
nmcli connection up ens33
2. 改配置文件
vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
注意 /etc/resolv.conf 在启用了 NetworkManager 的系统上可能被自动覆盖,写进网卡配置文件的 DNS1 才是持久的做法。
五、最常见的三个坑
- NAT 模式下主机 ping 不通虚拟机:多半是虚拟网络编辑器里 VMnet8 的子网和虚拟机 IP 不同段,或者主机上的 VMware Network Adapter VMnet8 被禁用了,禁用再启用一次通常就好;
- 桥接模式拿不到 IP:物理机所在网络可能禁了桥接设备(不少公司交换机这么做),换成 NAT 立刻就好;
- 能 ping 网关但上不了网:检查 DNS,也检查虚拟机的网关地址是不是填成了虚拟机自己的 IP,而不是 VMnet8 的 NAT 网关。
qidao123.com企服评测-应用市场 编辑提示 |