嵌入式开发,桌子上不放个路由器,总觉得不方便... ...
背景
开发过程中,经常需要板子和安装在VMware中的Ubuntu虚拟机通过以太网通信。在没有路由器的时候,将板子上的网线和PC上的网卡直接连接,然后设置VMware为桥接模式,设置Ubuntu网段和板子的网段在同一网段下,然后板子和Ubuntu就可以通信了。但是这样的开发方式不是很方便。
需求
- 设备
- 板1
- 板2
- windows PC
- windows下安装在VMware中的Ubuntu虚拟机
- 4个设备要都能上网;
- 4个设备要相互之间ping通;
- 工位没有网线,只能通过无线方式上网;
设置
1. 设置路由器
-
设置路由器接入主路由器,使得路由器可以上网
- WIFI中继(小米、荣耀路由器只支持WIFI中继)
- WDS桥接(普联路由器支持WDS桥接)
-
LAN口IP自动从主路由器获取
-
DHCP设置为自动即可(地址池)
2. 设置开发板
- 静态IP
#文件/etc/network/interfaces;
#修改address和gateway网段,重启;
auto eth0
iface eth0 inet static
address 192.168.0.99
netmask 255.255.252.0
gateway 192.168.0.100
dns-nameservers 114.114.114.114
- 动态IP
#文件/etc/network/interfaces;
#注释address、netmask、gateway、dns
auto eth0
iface eth0 inet dhcp
- 为了避免IP冲突,建议板子设置为DHCP;
/etc/network/interfaces
中可以设置MAC地址;- 板子采用DHCP时,不接网线开机等待时间过长,可以根据以下方式修改;
#文件/etc/systemd/system/network-online.target.wants/networking.service #修改TimeoutStartSec项 #TimeoutStartSec=5min TimeoutStartSec=3sec
3. 设置Windows
- 用网线连接PC和从路由器;
- 进入:网络和internet设置 > 以太网 > 更改适配器选项;
- 找到当前使用的那块网卡,右键属性 > internet协议版本4(TCP/IPv4);
- 设置为"自动获得IP地址";
- 然后win + R > cmd, 命令行输入 ipconfig,查看并记录IP、网关、掩码;
- 然后再次进入IP设置界面,设置为"使用下面的IP地址",将IP、网关、掩码设置为刚才记录的;
- 将"首选DNS服务器"设置为:114.114.114.144;
- 这里的IP地址只要保证在可以使用的网段下,且与其他设备不冲突时,任何地址都可以,但是网关、掩码、DNS必须和以上步骤设置一致;
- 此时PC应该可以上网了;
4. 设置虚拟机
- VMware > 编辑 > 虚拟网络编辑器 , 选中 VMnet0虚拟交换机;
- 选择 "桥接模式","已桥接至"选择刚才和从路由器连接的网卡,确定退出;
- 虚拟机 > 设置 > 网络适配器,选择"桥接模式";
- 进入Ubuntu,设置 > 网络 > 有线连接-设置 > IPv4内;
- 设置IP地址为可用的网段内,不与其他设备冲突的任意地址;
- 设置掩码、网关和windows内的一样;
- 设置DNS:114.114.114.114
- 应用该设置之后,Ubuntu在桥接模式下应该就可以上网了;
测试
- 在Ubuntu内访问网络,可以正常上网:
- 终端:
ping www.baidu.com
- 打开浏览器访问网页(出现浏览器首页可能是缓存的,要访问某个具体的网页);
- 终端:
- 在windows内,可以正常上网:
- DOS:
ping www.baidu.com
- 打开浏览器访问网页(出现浏览器首页可能是缓存的,要访问某个具体的网页);
- DOS:
- 板子(两块板子随意)可以正常上网:
- 终端:
ping www.baidu.com
- 终端:
- 主路由器设置为0~3网段:
- 板子的IP是DHCP获取的;
- PC和Ubuntu是静态IP;
- 相互
ping
可以通;
备注
- 以上涉及到的IP、网关、掩码、DNS与平常看到的不太一样是因为公司的主路由器设置如此,为了让公司的设备可以使用0 ~ 3网段,避免IP冲突;
- 针对TP-LINK路由器,桥接之后,可以通过浏览器地址栏键入
tplogin.cn
访问路由器设置界面; - 路由器小米/荣耀使用wifi中继,TPLINK使用WDS桥接;荣耀路由器(可能是某些)WIFI中继之后,从路由器网络名和密码和主路由器必须一致;
- LAN口设置:自动; DHCP服务器自动,分配好地址池;
- 缺点:从路由器不可以指定LAN网段,占用主路由器IP地址池,以前(16年的时候)使用TP-LINK的WDS桥接功能,印象里是可以指定LAN口网段;