嵌入式Linux(二)·配置VMware使用USB网卡连接STM32MP157实现Windows、Ubuntu以及开发板之间的通信

目录

[1. 简介](#1. 简介)

[1.1 桥接网卡](#1.1 桥接网卡)

[1.2 NAT 网卡](#1.2 NAT 网卡)

[1.3 主机模式](#1.3 主机模式)

[2. 双网之桥接网卡模式](#2. 双网之桥接网卡模式)

[2.1 添加桥接模式](#2.1 添加桥接模式)

[2.2 选择网卡](#2.2 选择网卡)

[2.3 VMware配置](#2.3 VMware配置)

[2.4 Ubuntu配置](#2.4 Ubuntu配置)

[2.5 设置开发板IP](#2.5 设置开发板IP)

[2.5.1 手工设置 IP](#2.5.1 手工设置 IP)

[2.5.2 修改配置文件设置 IP](#2.5.2 修改配置文件设置 IP)

[3. 验证](#3. 验证)

[3.1 windows ping ubuntu](#3.1 windows ping ubuntu)

[3.2 开发板 ping windows 和 ubuntu](#3.2 开发板 ping windows 和 ubuntu)

[3.3 windows 和 ubuntu ping 开发板](#3.3 windows 和 ubuntu ping 开发板)


1. 简介

我们先了解一下Linux的相关网络配置有哪些,首先我们找到编剧虚拟机设置,找到网络适配器,可以看到:

要是找不到网络适配器,可以通过如下步骤添加他:

1.1 桥接网卡

原理:Ubuntu 通过桥接网卡跟开发板联通,Ubuntu 使用一个真实的网卡,开发板的网线也连接到这个真实的网卡上。

特点:这样 Windows、Ubuntu、开发板就都可以通过这个网卡互联互通了。处于同一网段,虚拟系统可以和处于同网段的外部系统通讯。

缺点:同一个网段最多255个IP地址,多人使用桥接系统配置虚拟系统时,容易造成IP冲突。

1.2 NAT 网卡

原理:NAT(Network Address Translation,网络地址转换)。Ubuntu 通过它上网时,是委托 Windows 发出数据包,Windows 接收到回应后再转发给 Ubuntu。外界看到的都是 Windows,看不到 Ubuntu。

特点:只要 Windows 能上网,Ubuntu 就能上网,无需设置 Ubuntu 的网络。

1.3 主机模式

通常指的是在虚拟化环境中的一种网络配置模式,这种模式下,虚拟机(VM)仅能与宿主机(Host)以及在同一主机模式网络下的其他虚拟机通信,而不能直接访问外部网络或物理网络上的其他设备。这种模式在虚拟化软件如VMware Workstation、VMware Fusion、VirtualBox等中较为常见。

要想检查一下自己网络是否正常链接可以ping一下:

如果ping不同可以检测一下网络是否正常连接

2. 双网之桥接网卡模式

在我们平常使用过程中,可能身边没有这么多网口供我们使用,我们可以对虚拟机进行配置:

2.1 添加桥接模式

首先添加桥接网卡,点击图示位置:

按照图示顺序进行配置:

然后选择桥接模式:

2.2 选择网卡

把 USB 网卡连接至电脑 USB 接口,再使用网线连接 USB 网卡和开发板,接好线后,开发板上电,接下来需要设置 IP:Windows 上 USB 网卡、Ubuntu 使用的桥接网卡、开发板的网卡,这 3 个网卡的 IP 要设置为同一个网段。

连接好网线后,在 Windows 设备管理器-->网络适配器下会新增一个网络设备,如下图所示:

确认 USB 网卡名称后,参考下图。打开"控制面板→网络和 Internet→网络和共享中→更改适配器设置",配置 USB 网卡的 IP,或者直接搜索"查看网络连接":

进入网络适配器页面后,参考下图,鼠标右键点击 USB 网卡设备,在弹出的选项中点击"属性"按钮:

注意:上图中 USB 网卡可能显示"红叉"表示未连接,你可以使用网线连接 USB 网卡和开发板,开发板上电。

之后在弹出新的属性对话框内点击"Internet 协议版本 4(TCP/IPV4)":

继续在新弹出的对话框参考下图填入 IP 地址"192.168.5.10"、子网掩码"255.255.255.0"、默认网关"192.168.5.1",最后点击"确定",也可以添其他的不过需要确保Windows 上 USB 网卡、Ubuntu 使用的桥接网卡、开发板的网卡需要再同一网段:

如果在设备管理器里没有看到 USB 网络设备,有可能是 vmware 接管了这个 USB 网卡。可以重新拔插 USB 网卡到电脑上,如果 vmware 中有如图提示,按图选择"连接到主机"、"记住我的选择,以后不再询问"。

如果系统没有弹出上图所示窗口,查看此 usb 网卡是否已经连接到了 ubuntu。如果它前面已经被打勾,就表示它被连接到 Ubuntu了,这时点击"断开连接(连接主机)":

2.3 VMware配置

插上 USB 网卡后,电脑中有多个网卡,使用哪个网卡作为桥接网卡呢?需要在 vmware 中配置,选择 USB 网卡用作桥接网卡;然后才能在 Ubuntu 中设置它的 IP。

在 windows 上设置 USB 网卡的 IP 后,再开始菜单搜索找到"虚拟网络编辑器":

注意右键以管理员身份打开!!!

点击"VMnet0",选择"桥接模式",在桥接模式下的"已桥接至"下拉框中,选中 USB 网卡(它的名字可以在设备管理器中得到),最后点击确定即可完成 vmware 配置:

注意:必须是"VMnet0",如果没有"VMnet0"可以点击"添加网络"。

2.4 Ubuntu配置

在 vmware 中选择 USB 网卡用作桥接网卡后,才能在 Ubuntu 中配置它的IP。

使用 vmware 开打 ubuntu 虚拟机,在 Ubuntu 关机状态下,点击"编辑虚拟机设置",在弹出的虚拟机设置对话框,确认有一个"网络适配器"是桥接的:

打开 系统 Setting:

打开 Setting 后,在左侧找到 Network 选择栏,点击显示详细内容,可以看到有 2 个网卡:ens33、ens36。它们对应 NAT 网卡、桥接网卡。我们要设置的是桥接网卡,哪个是桥接网卡?可以点击图中的红色箭头图标查看IP,有 IP 的就是 NAT 网卡,没有 IP 的就是桥接网卡:

确认 ens36 没有 IP 后,它就是要设置的桥接网卡。点击它右边的"设置"图标,在弹出的设置界面内,点击"IPV4"切换出设置页面,之后选择"Manual"表示手工设置 IP 地址,在"Address、Netmask、Gateway"输入框分别填入: 192.168.5.11、255.225.225.0、192.168.5.1。填写完毕后,点击"Apply",会弹出一个对话框提示输入 root 用户的密码:

在 弹 出 的 授 权 请 求 对 话 框 里 面 输 入 root 用户的密码 , 后点击"Authenticate"授权,设置完毕。我们可以在 ubuntu 终端下输入 ifconfig 命令来查看 IP 地址是否设置正确:

注意:如果未设置 root 用户密码,请在 ubuntu 终端下执行"sudo passwd root"命令来设置 root 用户密码,然后重新设置网络。

2.5 设置开发板IP

2.5.1 手工设置 IP

设置开发板的 IP 有两种方法:手工设置 IP,修改配置文件设置 IP。

注意这里需要开发板使用串口连接,若是不会可以参考看1即可:

嵌入式Linux(一)·使用 MobaXterm 远程登录 Ubuntu、通过FileZilla 在 Windows 和 Ubuntu 之间传文件以及解决SSH无法访问的问题-CSDN博客

手工设置的方法很简单,但是每次启动开发板都要重新设置,在开发板串口中执行命令即可:

ifconfig eth0 192.168.5.9

注意,这里不是在Linux上操作,是在MobaXterm上操作。

2.5.2 修改配置文件设置 IP

修改配置文件设置 IP,修改一次即可,无需重复配置。修改开发板如下文件文件(可以直接复制粘贴):

cpp 复制代码
 vi /etc/systemd/network/50-static.network

修改内容如下:

cpp 复制代码
[Match]
 Name=eth0

[Network]
 Address=192.168.5.9/24
Gateway=192.168.5.1

执行如下语句重启网络服务器:

cpp 复制代码
 systemctl enable systemd-networkd

重启开发板:

cpp 复制代码
reboot

输入ifconfig可以看到,IP已经自行配置:

3. 验证

刚刚我们的地址分别设置的是:

  • Windows IP :192.168.5.10
  • Ubuntu IP:192.168.5.11
  • 开发板 IP:192.168.5.9

3.1 windows ping ubuntu

在 windows 下打开命令提示符,输入以下命令 ping Ubuntu:

cpp 复制代码
ping 192.168.5.11

同样的,在 ubuntu 的终端里输入以下命令 ping windows:

cpp 复制代码
ping 192.168.5.10

这里需要注意,如果不将windows的防火墙关闭可能会ping不通:

3.2 开发板 ping windows 和 ubuntu

3.3 windows 和 ubuntu ping 开发板

嵌入式Linux_时光の尘的博客-CSDN博客

相关推荐
Trouvaille ~12 分钟前
CSDN 博客:CC++ 内存管理详解
java·c语言·c++
mafucan15 分钟前
VulnHub-Acid(1/100)
linux·安全·渗透测试·靶场·刷题·vulnhub
WeeJot嵌入式22 分钟前
C语言----指针
c语言·指针
vvw&22 分钟前
如何在 Ubuntu 22.04 上安装 Nagios 服务器教程
linux·运维·服务器·数据库·ubuntu·nosql
weixin_4539650044 分钟前
【3】安装cyclictest和iperf
linux·运维·服务器
Toormi1 小时前
Linux查看网络带宽和使用情况
linux·运维·服务器
qq_40999093?1 小时前
云计算基础,虚拟化原理
linux·服务器·云计算
问道飞鱼1 小时前
【Linux知识】Linux防火墙介绍
linux·运维·网络·iptables·firewall
初学者丶一起加油2 小时前
C语言基础:指针(常量指针和指针常量)
java·linux·c语言·开发语言·算法·ubuntu·visualstudio
baiyu332 小时前
C/C++的printf会调用malloc()
c语言·c++