VMware Ubuntu 虚拟机网络配置:桥接、NAT、仅主机模式详解与避坑指南

发布时间:2026/10/13 3:37:33
VMware Ubuntu 虚拟机网络配置:桥接、NAT、仅主机模式详解与避坑指南 简介这份资源面向在 VMware 虚拟机中安装 Ubuntu 的初学者与运维入门者聚焦解决虚拟机上网配置这一常见难题。内容以 VMware 7.1.0 搭配 Ubuntu 10.10 为实验环境围绕 NAT 模式展开涵盖虚拟机网络模式选择、vmnet8 信息查询、Ubuntu 有线连接中 IPv4 地址、子网掩码、网关与 DNS 的填写以及 VMware NAT Service 和 VMware DHCP Service 的启动方法并附有 Windows XP 下的服务开启路径便于对照操作。资源包共 1 个 doc 文档约 63KB篇幅精炼适合作为配置时的速查手册。目前已有 1015 人学习下载说明该问题在虚拟机使用者中较为普遍。读者可借此快速理清 NAT 模式下的网络配置思路掌握从主机到虚拟机的完整设置流程并学会通过开启相关服务排查无法联网的故障适合需要快速搭建 Ubuntu 上网环境的学习者参考。1. 虚拟机网络又断了为什么每次重启都要重设一遍在 VMware 里跑 Ubuntu 的人大概率都经历过这个场景昨天还能apt update今天开机就只剩ping不通网关浏览器转圈SSH 连不上。你打开设置面板发现网卡状态是「已连接」但就是没网。于是开始怀疑镜像有问题、怀疑 VMware 版本、怀疑系统装坏了——最后发现只是网络模式选错了或者 DHCP 没拿到地址。这个标题讲的就是这件事在 VMware 虚拟化环境里把 Ubuntu 虚拟机的网络连接从「玄学」变成「可复现」。它解决的不是某个高深问题而是三类高频诉求一是让虚拟机稳定上网二是让宿主机和虚拟机互相访问三是让虚拟机拥有独立可被外部访问的地址。适合谁适合刚装完 Ubuntu 虚拟机的新手也适合被 NAT 端口转发折磨过的老手——因为下面这些参数和排查路径很多人其实一直没系统梳理过。2. 先选对网络模式桥接、NAT、仅主机到底差在哪2.1 三种模式的本质区别与选型逻辑VMware 给虚拟机提供的网络模式核心就三种桥接Bridged、NAT、仅主机Host-Only。很多人翻车不是因为不会配而是一开始就选错了模式后面怎么调都是白费。桥接模式的逻辑是虚拟机直接「挂」到宿主机所在的物理网络上从物理网络的 DHCP 服务器拿地址。对局域网里的其他设备来说这台 Ubuntu 就是一台独立主机。它的优点是虚拟机可以被局域网内其他机器直接访问适合做服务器、需要被外部连接的场景。缺点是会占用物理网络的一个 IP如果公司或学校网络做了 MAC 地址绑定或准入控制虚拟机可能拿不到地址。NAT 模式的逻辑是VMware 在宿主机上虚拟出一个 NAT 设备虚拟机通过它共享宿主机的网络出口。虚拟机可以上网但外部设备默认访问不到虚拟机除非手动做端口转发。它的优点是即插即用不依赖物理网络的 DHCP 策略适合个人开发、临时测试。缺点是外部访问需要额外配置且某些依赖广播或组播的协议会受限。仅主机模式的逻辑是只保留宿主机和虚拟机之间的私有网络虚拟机不能上外网。它适合做隔离实验、安全测试、纯内网集群模拟。选它的理由通常很明确——就是要断外网。选型判断可以按这个顺序问自己虚拟机需不需要被局域网其他设备访问需要就桥接。不需要但需要上网NAT。完全不需要外网仅主机。2.2 在 VMware 里切换模式的完整步骤选好模式后操作路径是固定的。先关掉 Ubuntu 虚拟机不是挂起是彻底关机。然后在 VMware 里右键虚拟机 → 设置 → 网络适配器选择对应模式。这里有个细节如果你选的是「自定义」可以指定具体的虚拟网络比如 VMnet0 对应桥接VMnet8 对应 NATVMnet1 对应仅主机。默认的「桥接」和「NAT」选项会自动关联到对应虚拟网络但如果你之前改过虚拟网络编辑器最好确认一下。# 关机后操作不要挂起 # VMware 菜单虚拟机 - 设置 - 网络适配器 # 选择「桥接」或「NAT」或「仅主机」 # 如果选「自定义」确认对应的 VMnet 编号切换完成后开机Ubuntu 里需要确认网卡是否识别到新网络。用ip link看接口状态用ip addr看有没有拿到地址。如果接口是 DOWN先sudo ip link set ens33 up接口名以实际为准。参数说明VMnet0 默认桥接VMnet1 默认仅主机VMnet8 默认 NAT。这些编号可以在 VMware 的「虚拟网络编辑器」里查看和修改但改之前要确认宿主机没有其他虚拟化软件占用相同网段。2.3 桥接模式下的网段冲突排查桥接模式最常见的问题是网段冲突。比如宿主机所在局域网是 192.168.1.0/24而 VMware 的桥接虚拟网络也配成了 192.168.1.0/24但 DHCP 范围跟物理路由器重叠就会导致虚拟机拿到一个和物理设备冲突的地址或者干脆拿不到地址。排查方法是在 Ubuntu 里ip addr看地址在宿主机上ipconfigWindows或ifconfigLinux/macOS看宿主机地址对比网段。如果虚拟机地址是 169.254.x.x说明 DHCP 失败需要检查桥接的物理网卡选对没有。VMware 的桥接设置里可以指定「桥接到」哪块物理网卡如果宿主机有多块网卡有线、无线、虚拟网卡选错了就会导致虚拟机挂在一个没有 DHCP 的网络里。解决方式打开虚拟网络编辑器 → 选中 VMnet0 → 桥接到指定网卡不要用「自动」。自动模式在有多块网卡时经常选错。3. NAT 模式下的上网配置与端口转发3.1 确认 NAT 的 DHCP 和网关参数NAT 模式能上网的前提是虚拟机从 VMware 的 DHCP 服务拿到了地址且网关指向 NAT 设备的地址。默认情况下VMnet8 的网段是 192.168.x.0/24网关通常是 192.168.x.2DHCP 范围是 192.168.x.128 到 192.168.x.254。在 Ubuntu 里用ip route看默认路由应该是default via 192.168.x.2 dev ens33。如果默认路由缺失说明 DHCP 没配好或者 Netplan 配置有问题。# 查看地址和路由 ip addr show ens33 ip route show # 手动测试网关连通性 ping -c 3 192.168.xxx.2 # 测试 DNS 解析 nslookup example.com如果网关能通但域名解析失败检查/etc/resolv.conf或 Netplan 里的 nameservers 配置。Ubuntu 18.04 之后默认用 Netplan 管理网络配置文件在/etc/netplan/下。3.2 Netplan 静态地址配置模板如果你不想用 DHCP或者 DHCP 不稳定可以配静态地址。Netplan 的配置文件通常是/etc/netplan/00-installer-config.yaml编辑前先备份。# /etc/netplan/00-installer-config.yaml network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: - 192.168.xxx.100/24 routes: - to: default via: 192.168.xxx.2 nameservers: addresses: - 192.168.xxx.2 - 8.8.8.8改完后执行sudo netplan apply。如果报错用sudo netplan try可以在 120 秒内回滚避免配错后失联。参数说明dhcp4: no关闭 DHCPaddresses里的地址要在 VMnet8 的网段内且不要和 DHCP 范围冲突via是 NAT 网关地址默认是网段里的 .2nameservers可以填 NAT 网关也可以填公共 DNS。注意 YAML 对缩进敏感用空格不用 Tab。3.3 端口转发让外部访问 NAT 虚拟机NAT 模式下外部访问虚拟机需要端口转发。在 VMware 的虚拟网络编辑器里选中 VMnet8 → NAT 设置 → 添加映射。比如把宿主机的 2222 端口转发到虚拟机的 22 端口外部通过ssh -p 2222 user宿主机IP就能连上。# 宿主机上测试端口转发是否生效 ssh -p 2222 user127.0.0.1 # 虚拟机内确认 sshd 监听 22 端口 ss -tlnp | grep 22注意端口转发只对 TCP/UDP 生效ICMP 默认不转发所以外部ping不通虚拟机是正常的。另外如果宿主机防火墙拦截了 2222 端口需要放行。4. 避坑与排查网络不通时先看这五个地方4.1 网卡没起来ip addr只有 lo现象Ubuntu 里ip addr只显示回环接口没有 ens33 或其他以太网接口。原因通常是 VMware 的网络适配器被移除或者 Ubuntu 的网卡驱动没加载。解决先确认 VMware 设置里网络适配器存在且已连接然后在 Ubuntu 里lspci | grep -i ethernet看有没有识别到虚拟网卡。如果没有尝试sudo modprobe e1000或sudo modprobe vmxnet3具体模块取决于 VMware 配置的适配器类型。4.2 有地址但 ping 不通网关现象ip addr有 192.168.x.x 地址但ping 网关超时。原因可能是网段配错、网关地址写错或者 VMware 的 NAT 服务没启动。解决先核对虚拟网络编辑器里的网段和网关再在宿主机服务里确认「VMware NAT Service」和「VMware DHCP Service」是否运行。Windows 下按services.msc查看Linux 下用systemctl status vmware检查。4.3 DNS 解析失败但 IP 能通现象ping 8.8.8.8通但ping example.com失败。原因是 DNS 配置缺失或错误。解决检查/etc/resolv.conf是否有nameserver条目。如果是 Netplan 管理改 YAML 里的nameservers后netplan apply。注意/etc/resolv.conf可能是符号链接直接改可能被覆盖。4.4 桥接模式拿不到地址现象桥接模式下虚拟机地址是 169.254.x.x。原因是桥接的物理网卡选错或者物理网络禁止未知 MAC 地址。解决在虚拟网络编辑器里把 VMnet0 桥接到正确的物理网卡不要用自动。如果是公司网络做了 MAC 准入桥接模式可能无法使用换 NAT。4.5 改完配置后 SSH 断连现象通过 SSH 改 Netplan 配置netplan apply后连接断开再也连不上。原因是地址或网关改错虚拟机失联。解决改配置前用sudo netplan try它会在应用后等待确认超时自动回滚。如果已经失联通过 VMware 控制台进入虚拟机检查ip addr和ip route修正配置。5. 让网络配置可复现快照、克隆与自动化检查5.1 用快照锁定可用网络状态网络调通后第一件事是打快照。VMware 的快照可以保存当前网络配置和系统状态下次出问题直接回滚不用重新配。操作虚拟机 → 快照 → 拍摄快照命名写清楚比如「NAT-静态IP-可上网」。但快照不是后悔药它占磁盘且如果虚拟机在快照后有大量数据写入回滚会丢数据。我一般只在网络配置刚调通、还没装其他东西时打一个基线快照。5.2 克隆时避免 MAC 地址冲突克隆虚拟机时VMware 会问是「创建链接克隆」还是「创建完整克隆」。链接克隆共享磁盘完整克隆独立磁盘。不管哪种都要注意 MAC 地址如果克隆时选了「保留 MAC 地址」两台虚拟机同时开机就会冲突导致网络异常。正确做法克隆时选「创建新 MAC 地址」或者在虚拟机设置里手动重新生成 MAC。克隆后开机Ubuntu 里可能看到网卡名变了比如从 ens33 变成 ens34因为 Netplan 按 MAC 匹配配置。这时需要更新 YAML 里的接口名或者用sudo dpkg-reconfigure重置网络配置。5.3 一个可复用的网络自检脚本每次改完网络跑一遍这个脚本能快速定位问题出在哪一层。#!/bin/bash # net-check.sh - 虚拟机网络自检 echo 接口状态 ip -br link echo 地址信息 ip -br addr echo 默认路由 ip route | grep default echo 网关连通性 GW$(ip route | grep default | awk {print $3}) if [ -n $GW ]; then ping -c 2 -W 2 $GW echo 网关可达 || echo 网关不可达 else echo 无默认网关 fi echo DNS 解析 nslookup example.com 21 | tail -3 echo 外网连通性 ping -c 2 -W 2 8.8.8.8 echo 外网可达 || echo 外网不可达逻辑说明先看链路层接口是否 UP再看网络层有没有地址再看路由是否正确然后逐层测试网关、DNS、外网。参数说明-br是简洁输出-W 2是超时 2 秒避免卡住。这个脚本不依赖特定网段桥接、NAT、仅主机都能用。5.4 我踩过的一个坑Netplan 和 NetworkManager 打架Ubuntu 桌面版默认用 NetworkManager 管理网络服务器版用 systemd-networkd。如果你在桌面版上手动写了 Netplan 配置但 renderer 写的是 networkdNetworkManager 可能不认导致配置不生效。现象是netplan apply没报错但ip addr还是旧地址。解决桌面版把 renderer 改成 NetworkManager或者干脆用nmcli命令配。服务器版保持 networkd。判断方法systemctl status NetworkManager看是否运行运行就用 NetworkManager。# 桌面版用 nmcli 配静态地址 nmcli con mod 有线连接 1 ipv4.addresses 192.168.xxx.100/24 nmcli con mod 有线连接 1 ipv4.gateway 192.168.xxx.2 nmcli con mod 有线连接 1 ipv4.dns 192.168.xxx.2 nmcli con mod 有线连接 1 ipv4.method manual nmcli con up 有线连接 1这个坑我翻过两次后来养成习惯先确认系统用哪套网络管理再决定写 Netplan 还是 nmcli。希望帮到你。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询