news 2026/4/18 7:31:00

Ubuntu 虚拟机双网卡配置:连接外网与嵌入式开发板IMX6ULL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu 虚拟机双网卡配置:连接外网与嵌入式开发板IMX6ULL

在嵌入式 Linux 开发中,最理想的网络环境是“双网卡架构”

  1. 网卡 1 (NAT 模式):用于 Ubuntu 上网(下载软件、源码),以及与 Windows 主机进行 SSH/VSCode 通信。

  2. 网卡 2 (桥接模式):专线连接开发板,模拟真实的物理局域网,用于 TFTP/NFS 挂载调试。

我的环境参数(示例):

  • Windows 主机 NAT 网段 (VMnet8):192.168.72.x

  • Windows 有线网口网段:192.168.1.x

  • Ubuntu: 16.04 (VMware Workstation)

核心配置步骤

1. VMware 虚拟网络编辑器设置

必须手动指定物理网卡

  • 打开“虚拟网络编辑器”。

  • 点击 VMnet0 (桥接模式)。

  • 关键点:将“已桥接至”从“自动”改为你的有线网卡名称(如 Realtek PCIe GBE...)。

    • 避坑理由:“自动”模式经常会错误地桥接到 WiFi 网卡,导致开发板 Ping 不通虚拟机。

2. 虚拟机网络适配器设置

在虚拟机设置中添加两个网络适配器,注意顺序:

  • 网络适配器 1 (对应 ens33):选择 NAT 模式。

  • 网络适配器 2 (对应 ens37):选择 桥接模式。

  • 关键检查:确保两个适配器的 “已连接” 和 “启动时连接” 均已勾选。

3. Ubuntu 内部 IP 配置

编辑配置文件:sudo nano /etc/network/interfaces

以下代码均为自己的配置,大家可以分别在Ubuntu和windows使用ifconfig和ipconfig命令查看

auto lo iface lo inet loopback # --- 网卡1:ens33 (NAT上网 & SSH) --- # 必须与 Windows 的 VMnet8 在同一网段 (例如 72 网段) auto ens33 iface ens33 inet static address 192.168.72.100 netmask 255.255.255.0 gateway 192.168.72.2 dns-nameservers 114.114.114.114 8.8.8.8 # --- 网卡2:ens37 (桥接连开发板) --- # 必须与 Windows 有线网口在同一网段 (例如 1 网段) auto ens37 iface ens37 inet static address 192.168.1.66 netmask 255.255.255.0 # 关键点:这里千万不要写 gateway,防止路由冲突!

开发板 U-Boot 联网配置 (NFS/TFTP)

开发板必须通过 桥接网卡 (ens37) 与 Ubuntu 通信。

# 1. 必须处于同一网段 (1.x) setenv ipaddr 192.168.1.50 # 开发板 IP setenv serverip 192.168.1.66 # Ubuntu 桥接 IP (ens37) setenv gatewayip 192.168.1.1 # 物理网关 # 2. bootargs 配置 (NFS挂载) # 重点:root=/dev/nfs,且 nfsroot 和 ip 参数里的 IP 必须全是 1.x 网段 setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.66:/home/alientek/linux/nfs/rootfs,proto=tcp rw ip=192.168.1.50:192.168.1.66:192.168.1.1:255.255.255.0::eth0:off' # 3. 保存 saveenv

遇到的经典“大坑”与解决方案

1. 坑:代码全对,就是 Ping 不通

  • 现象:配置文件没问题,但 Ping 网关或主机全是Destination Host Unreachable

  • 原因 A网卡顺序反了。(这是我搞了一下午终于排查出来的问题)

    • 排查:VMware 设置里适配器 1 是桥接,但 Ubuntu 代码里把 ens33 当作 NAT 配。

    • 解决:调整 VMware 设置,保证 适配器 1 = NAT,适配器 2 = 桥接。

  • 原因 BWindows 防火墙拦截

    • 解决:关闭 Windows 专用和公用网络防火墙,或卸载杀毒软件。

  • 原因 C网段没对上

    • 排查:Windows 的 NAT 网段变了(比如重置过网络),从 100 变到了 72,但 Ubuntu 里还写着 100。

    • 解决:先在 Windows 查ipconfig,以 Windows 为准修改 Ubuntu。

  • 原因D:Windows下VMware服务启动失败

  • 打开应用程序以及服务重启VMware相关的service

2. 坑:VSCode 连不上虚拟机

  • 现象:IP 变了后 VSCode 报错,或者提示WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

  • 解决

    1. 修改 SSH Config 中的HostName为新 IP。

    2. 删除 Windows 下C:\Users\用户名\.ssh\known_hosts文件(清除旧指纹)。

    3. 进阶:配置 SSH 公钥认证(ssh-keygen+authorized_keys),实现免密登录。

3. 坑:SD 卡无法连接到虚拟机

  • 现象:插入读卡器,VMware 弹窗点连接,但ls /dev/sd*看不到sdb,Windows 总是抢占设备。

  • 解决(终极方案)

    • 不要用 USB 连接模式。

    • 在虚拟机设置里添加硬件 ->硬盘->使用物理磁盘-> 选择对应 SD 卡的 PhysicalDrive。

    • 注意:需要以管理员身份运行 VMware。

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

正点原子linux驱动开发Imx6ull第四期如何直接上手

最近在学习正点原子驱动部分的章节中,遇到了问题就是如何配置开发环境以及配置网络环境还有挂在文件系统等问题。为了方便之后的朋友可以直接上手正点原子第四期的驱动开发视频,在这里将我的学习流程为大家写出来。 资源网址正点原子i.MX6ULL Linux阿尔…

作者头像 李华
网站建设 2026/4/18 5:43:30

AI原生应用:图像相似度匹配的深度学习方案

AI原生应用:图像相似度匹配的深度学习方案 关键词:图像相似度匹配、深度学习、特征提取、度量学习、对比学习、嵌入向量、Siamese网络 摘要:本文从“找相似图片”的日常需求出发,系统讲解基于深度学习的图像相似度匹配技术。我们将…

作者头像 李华
网站建设 2026/4/15 23:21:12

构建高性能车型识别与计数全栈系统——YOLOv5/v8/v10实战详解

摘要在智能交通管理、智慧城市建设及商业停车场运营中,车型识别与车辆计数是两项至关重要的计算机视觉任务。传统方法受限于复杂场景的鲁棒性,而深度学习,尤其是以YOLO (You Only Look Once) 系列为代表的单阶段目标检测算法,凭借…

作者头像 李华
网站建设 2026/4/17 17:51:08

收藏!大模型从入门到精通:LLM、Transformer、Agent等核心概念全解析

目录 1 LLM (大语言模型) 2 Transformer (自注意力机制) 3 Prompt (提示词) 4 理解API 5 Function Calling (函数调用) 6 Agent (智能体) 7 MCP (模型上下文协议) 8 A2A (Agent通信协议) 9 未来假想 本文尽量用最简单的方式, 帮读者理解 LLM, Transformer, Prompt, Function ca…

作者头像 李华