同一局域网下多设备访问 VMware 虚拟机服务教程(桥接模式)
本教程将指导你通过 VMware 的桥接模式让局域网内的另一台电脑访问运行在虚拟机中的服务。一、适用场景你有两台电脑均连接在同一局域网同一路由器/交换机。其中一台电脑 A 上使用 VMware 运行了某个服务如 Web 服务、数据库、SSH 等。你希望另一台电脑 B或局域网内任意设备能够直接访问该虚拟机提供的服务。二、前置条件两台电脑已连接到同一个局域网可以互相 ping 通宿主机 IP。宿主机运行虚拟机的电脑已安装 VMware Workstation 或 VMware Player。虚拟机已安装操作系统且内部服务已部署如 Nginx、MySQL、SSH 等。三、详细步骤1. 关闭虚拟机电源在修改网络设置前请确保虚拟机处于关机状态不是挂起或运行。2. 将虚拟机网络适配器改为桥接模式在 VMware 中选中你的虚拟机点击菜单栏“虚拟机” → “设置”或右键虚拟机标签 → “设置”。在“硬件”选项卡中选择“网络适配器”。在右侧选择“桥接模式”并勾选“复制物理网络连接状态”。点击“确定”。3. 指定桥接模式绑定的物理网卡关键步骤VMware 需要明确桥接到哪张物理网卡否则可能无法正常工作。在 VMware 菜单栏点击“编辑” → “虚拟网络编辑器”。如果按钮为灰色点击右下角“更改设置”获取管理员权限。在列表中找到VMnet0通常对应桥接模式。如果 VMnet0 不存在可以手动添加。在“桥接到”下拉框中选择你宿主机当前实际连接局域网的那张物理网卡若使用 Wi-Fi选择无线网卡如 Intel® Wireless-AC 9560。若使用有线选择有线网卡如 Realtek PCIe GbE Family Controller。不要选择“自动”因为自动可能选错网卡例如选到未联网的虚拟网卡。不确定的可以打开windows的设置查看网络和 internet无线查看 WLAN,然后点击硬件属性,可以在 WLAN 属性中看到使用的网卡描述有线查看以太网就可以点击“应用” → “确定”。4. 启动虚拟机并获取 IP 地址启动虚拟机登录系统。查看虚拟机当前 IP 地址Linux执行ip addr或ifconfig。Windows执行ipconfig。确认 IP 是否与宿主机在同一网段例如宿主机 IP 为192.168.31.100虚拟机应为192.168.31.x。如果 IP 不在同一网段可能是 DHCP 未正确分配。可以尝试重启网络服务其中虚拟机的网关(gateway)应设置与宿主机(192.168.31.100)的网关一直可以通过ipconfig查看无线局域网适配器 WLAN其中有网关信息重启网络sudosystemctl restart network# CentOS/RHEL5. 验证网络连通性在虚拟机内 ping 宿主机ping192.168.31.100如果通说明虚拟机可以正常访问局域网。从另一台电脑 ping 虚拟机 IPping192.168.31.x如果通说明局域网内已经可以访问虚拟机。6. 配置虚拟机防火墙及服务监听确认服务监听地址确保你的服务如 Nginx、MySQL监听在0.0.0.0或虚拟机的具体 IP而不是127.0.0.1。可以使用netstat -tlnpLinux或netstat -anoWindows检查。开放服务端口以 Linux firewalld 为例例如开放 8080 端口sudofirewall-cmd --add-port8080/tcp--permanentsudofirewall-cmd--reload临时关闭防火墙测试sudosystemctl stop firewalld在另一台电脑上访问服务例如 Web 服务浏览器输入http://虚拟机IP:端口四、常见问题及解决方案问题 1虚拟机 IP 与宿主机不在同一网段现象宿主机 IP 为192.168.31.x虚拟机 IP 却是192.168.137.x或其他网段。原因VMware 桥接模式未正确绑定到宿主机实际网卡。虚拟机可能仍在使用 NAT 或仅主机模式。解决方法按照第三步在虚拟网络编辑器中手动指定 VMnet0 桥接到的物理网卡并重启虚拟机。问题 2桥接模式配置后虚拟机网卡 RX/TX 数据包始终为 0现象执行ip addr或ifconfig时看到网卡如 ens33的 RX packets 和 TX packets 均为 0即使 IP 配置正确也无法通信。原因虚拟网卡没有与物理网络正确连接通常是因为桥接绑定的网卡与实际使用的网卡不一致或宿主机网络驱动程序问题。解决方法再次检查虚拟网络编辑器确保 VMnet0 桥接到当前活动网卡而非自动。如果宿主机使用 Wi-Fi尝试换用有线网络部分无线网卡驱动不支持桥接。重启 VMware 服务或宿主机。