您现在的位置是:烟消火灭网 > 综合
如何让虚拟机连接外网
烟消火灭网2026-10-17 07:42:18【综合】8人已围观
简介虚拟机装好了,系统也跑起来了,结果打开浏览器一片空白——这大概是每个折腾虚拟机的人都踩过的坑。别急着骂网卡驱动,十有八九是网络模式选错了。 VMware 和 VirtualBox 默认给你的是 NAT
虚拟机装好了,何让系统也跑起来了,虚拟结果打开浏览器一片空白——这大概是机连接外每个折腾虚拟机的人都踩过的坑。别急着骂网卡驱动,何让十有八九是虚拟网络模式选错了。
VMware 和 VirtualBox 默认给你的机连接外是 NAT 模式。这个模式什么意思?何让虚拟机相当于躲在宿主机后面,通过宿主机的虚拟 IP 出去。上网、机连接外下载、何让看网页都没问题,虚拟但外面想连进来就费劲了。机连接外我第一次装 Ubuntu 虚拟机的何让时候,ping 百度能通,虚拟ping 自己宿主机也能通,机连接外但宿主机 ping 虚拟机就是不通。折腾了半小时才发现,NAT 模式下虚拟机在一个独立子网里,宿主机根本看不到它。
先搞清楚你要哪种“连接”
“连接外网”这个说法其实挺模糊的。你是只想让虚拟机刷刷网页、apt 装个包?还是想让局域网里其他机器也能访问虚拟机上跑的服务?这两种需求对应的配置完全不一样。
如果只是前者,NAT 就够了,什么都不用改。VirtualBox 里默认的 NAT 网络,虚拟机开机就能上网。VMware Workstation 的 NAT 模式也一样,宿主机装好之后虚拟网卡 VMnet8 会自动配好,虚拟机 DHCP 拿到地址就能用。
但如果你跑了个 Web 服务,想让同事从另一台电脑访问,NAT 就麻烦了。你得在宿主机上做端口转发,把宿主机的某个端口映射到虚拟机的 80 端口。VirtualBox 里在“网络”→“高级”→“端口转发”里加一条规则就行。VMware 稍微绕一点,得改 NAT 配置文件,在 vmnetnat.conf 里手动加映射。
桥接模式:让虚拟机“独立”起来
桥接模式(Bridged)是另一种思路。虚拟机直接连到宿主机所在的物理网络,从路由器拿一个和宿主机同网段的 IP。相当于局域网里多了一台独立设备。这种模式下,宿主机能 ping 通虚拟机,别的电脑也能,虚拟机访问外网更是不在话下。
听起来很美好对吧?但桥接有个坑:如果你宿主机用的是 Wi-Fi,桥接有时候会抽风。尤其是某些企业级无线网络,做了客户端隔离,虚拟机拿不到 IP。我办公室的 Wi-Fi 就是这样,桥接之后虚拟机一直在那转圈等 DHCP,换有线网口立马就好了。所以桥接优先走有线,Wi-Fi 下能不能用,看路由器的脸色。
Host-Only:只能和宿主机聊天
还有一种 Host-Only 模式,虚拟机只能和宿主机通信,上不了外网。这个模式适合做实验、搭测试环境,不用担心虚拟机里的东西跑到外网去。但你要是拿它当日常开发环境,还得额外配个 NAT 网卡或者搞路由转发,纯属给自己找事。
几个实际会碰到的问题
虚拟机 DNS 解析不了,能 ping 通 IP 但打不开网页。这种情况十有八九是 /etc/resolv.conf 里没配 DNS,或者配了个已经挂掉的地址。改成 8.8.8.8 或者 114.114.114.114 试试。
防火墙也是个常见嫌疑人。宿主机上 Windows Defender 防火墙有时候会把虚拟网卡的流量拦掉,尤其是桥接模式下。临时关掉防火墙测试一下,如果通了,再加个入站规则放行。
还有 DHCP 冲突。桥接模式下虚拟机从路由器拿 IP,如果路由器地址池快满了,虚拟机可能拿不到地址。手动给虚拟机配个静态 IP 更稳妥,记得别和局域网里其他设备撞车。
我自己的习惯是:开发环境用 NAT 加端口转发,测试网络服务用桥接,纯粹跑本地实验用 Host-Only。三种模式切换也就几秒钟的事,没必要死磕一种。网络这东西,能通就行,别跟自己较劲。
很赞哦!(114)
上一篇: p2psearcher云播穿透
下一篇: 如何举报网站链接







