news 2026/4/24 3:10:33

告别网络冲突!VMware Workstation Pro下Ubuntu双网卡(NAT+桥接)保姆级配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
告别网络冲突!VMware Workstation Pro下Ubuntu双网卡(NAT+桥接)保姆级配置指南

VMware Workstation Pro下Ubuntu双网卡配置实战:NAT与桥接的完美共存

在嵌入式开发和网络安全研究领域,虚拟机网络配置一直是开发者面临的常见挑战。想象这样一个场景:你正在调试一块没有显示输出的开发板,需要通过网线直连笔记本进行交互;同时,虚拟机中的Ubuntu系统又需要访问互联网下载工具包和查阅文档。这种双重需求让双网卡配置成为刚需,但错误的配置往往导致网络冲突、连接中断等问题。

1. 环境准备与基础概念

在开始配置前,我们需要明确几个关键概念和准备工作。NAT(网络地址转换)模式允许虚拟机共享主机的IP地址访问外网,相当于给虚拟机一个"隐身衣",外界只能看到主机而无法直接访问虚拟机。桥接模式则让虚拟机获得与主机同等的网络地位,如同直接连接到物理网络中的独立设备。

必备条件检查清单

  • 主机系统:Windows 10/11专业版或企业版
  • VMware Workstation Pro 16.x或更新版本
  • Ubuntu LTS版本(建议20.04或22.04)
  • 可用有线网卡(用于桥接开发板)
  • 无线网卡或第二个有线连接(用于NAT上网)

网络地址规划是避免冲突的关键。建议采用以下IP分配方案:

设备/接口IP地址范围示例地址
NAT网络192.168.40.0/24192.168.40.128
桥接网络192.168.5.0/24192.168.5.11
开发板192.168.5.0/24192.168.5.9

提示:两个网段的第三个数字建议相差较大(如40和5),可显著降低配置错误风险。

2. NAT网络配置详解

NAT配置看似简单,但细节决定成败。首先以管理员身份打开Windows的"虚拟网络编辑器",执行还原默认设置操作。这个步骤经常被忽略,却是解决许多奇怪网络问题的关键。

在虚拟机设置中删除所有现有网络适配器后,添加第一个适配器并选择NAT模式。启动Ubuntu后,通过以下命令验证网络状态:

ip addr show ens33 ping -c 4 8.8.8.8

如果发现无法获取IP,依次排查:

  1. 检查VMware NAT服务是否运行(services.msc中查看)
  2. 确认主机VMnet8适配器已启用
  3. 在Ubuntu中尝试手动获取IP:
sudo dhclient -v ens33

网络配置文件/etc/netplan/*.yaml的正确配置示例:

network: version: 2 ethernets: ens33: dhcp4: true optional: true

应用配置并测试:

sudo netplan apply networkctl status ens33

3. 桥接网络精准配置

桥接模式的核心在于正确选择物理网卡。在Windows设备管理器中确认有线网卡型号,特别当使用USB转以太网适配器时,务必记录其确切名称。

关键操作步骤

  1. 关闭虚拟机,添加第二个网络适配器
  2. 在虚拟网络编辑器中:
    • 选择VMnet0
    • 设置为桥接模式
    • 明确选择连接开发板的物理网卡

Ubuntu中的静态IP配置(以Netplan为例):

sudo nano /etc/netplan/01-netcfg.yaml
network: version: 2 ethernets: ens38: addresses: [192.168.5.11/24] gateway4: 192.168.5.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]

应用配置后,验证桥接网络:

sudo netplan apply ip route show dev ens38 arp -n

4. 三端互通验证与排错

完整的网络验证需要覆盖三个方向:主机到虚拟机、虚拟机到开发板、主机到开发板。建议按照以下顺序进行测试:

  1. 基础连通性测试

    # 在Ubuntu中 ping 192.168.5.10 # 主机桥接网卡IP ping 192.168.5.9 # 开发板IP # 在Windows CMD中 ping 192.168.5.11 ping 192.168.5.9
  2. 路由表检查

    route -n ip route show table all
  3. 防火墙配置

    • 临时关闭防火墙测试:
      sudo ufw disable
    • 精准放行规则(推荐):
      sudo ufw allow from 192.168.5.0/24

常见问题解决矩阵:

现象可能原因解决方案
能ping通但无法SSH端口未开放/服务未启动检查sshd状态及防火墙规则
桥接网卡不显示网卡未激活sudo ip link set ens38 up
NAT正常但无法解析DNS/etc/resolv.conf配置问题检查Netplan的nameservers配置

5. 高级配置与性能优化

对于需要长时间稳定运行的开发环境,建议进行以下优化:

MTU调整(特别在使用USB网卡时):

sudo ip link set ens38 mtu 1400

持久化配置:

sudo nano /etc/networkd-dispatcher/routable.d/set-mtu
#!/bin/sh ip link set ens38 mtu 1400 exit 0

网络优先级调整

sudo nano /etc/netplan/01-netcfg.yaml
network: version: 2 ethernets: ens33: routes: - to: 0.0.0.0/0 via: 192.168.40.2 metric: 100 ens38: routes: - to: 192.168.5.0/24 via: 0.0.0.0 metric: 50

网络监控脚本

#!/bin/bash while true; do date >> /var/log/network-monitor.log ip addr show ens33 >> /var/log/network-monitor.log ip addr show ens38 >> /var/log/network-monitor.log ping -c 2 192.168.5.9 >> /var/log/network-monitor.log sleep 60 done

在实际项目中发现,当主机从有线网络切换到无线网络时,VMware的虚拟网络适配器有时会出现异常。这时只需重置虚拟网络即可恢复:

Get-Service -Name "VM*" | Restart-Service -Force
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 3:05:19

基于OpenAI API的智能对话机器人开发实战

1. 项目概述最近在技术社区看到不少关于智能对话机器人的讨论,正好上个月我刚完成一个企业级客服系统的升级项目,其中核心模块就是用OpenAI API搭建的智能对话引擎。今天就把这套经过实战验证的技术方案拆解给大家,包含从后端API搭建到前端交…

作者头像 李华
网站建设 2026/4/24 3:05:17

HPH构造是什么

许多年以来,在装配式建筑以及绿色建造的浪潮强力推动之下,一个由“高预应力混杂配筋”英文缩写组成的专门用语,频繁地出现在行业交流以及项目方案讨论的众多场合之中。就如同某国际研究团队所研发而成的光学超材料低成本规模化制造技术&#…

作者头像 李华
网站建设 2026/4/24 3:00:23

# 发散创新:SwiftUI 中状态管理的深度实践与重构艺术 在 SwiftUI 的世界里,**状态驱动 UI 是核心哲学**。但随

发散创新:SwiftUI 中状态管理的深度实践与重构艺术 在 SwiftUI 的世界里,状态驱动 UI 是核心哲学。但随着项目复杂度上升,如何优雅地组织状态、避免副作用膨胀、提升可维护性,成为每个开发者必须面对的问题。本文将带你深入探索 S…

作者头像 李华
网站建设 2026/4/24 2:59:22

终极游戏手柄测试指南:快速诊断按键失灵与摇杆漂移问题

终极游戏手柄测试指南:快速诊断按键失灵与摇杆漂移问题 【免费下载链接】gamepadtest Gamepad API Test 项目地址: https://gitcode.com/gh_mirrors/ga/gamepadtest 还在为游戏手柄按键无响应或摇杆漂移而烦恼吗?这款免费的在线游戏手柄测试工具是…

作者头像 李华
网站建设 2026/4/24 2:59:19

(学习笔记)SQL基础语法分类总结表

本文整理了SQL基础语法分类总结表,包含9大核心知识点:1. 基础查询(SELECT/别名);2. 条件查询(WHERE数值/字符/日期比较);3. 范围查询(BETWEEN/IN)&#xff1b…

作者头像 李华
网站建设 2026/4/24 2:57:51

Python 微信扫码活动系统实战

系统功能 1. 微信扫码入口 - 活动二维码:支持生成门店活动二维码,顾客扫码即可进入活动页面 - 活动识别:支持识别不同门店、不同活动场景 - 活动状态控制:支持活动启用、停用、过期控制 - 首次进入校验:校验用户是否首次参与、是否已领取、是否重复参与 2. 红包领取模…

作者头像 李华