Ubuntu16网络环境配置

linux开发板网口连接笔记本电脑,电脑WiFi联网时,开发板uboot/linux,ubuntu虚拟机机,window主机三方网络互联,系统为Ubuntu16.04LTS,虚拟机为VM15Pro,电脑系统为WIN10,开发板为正点原子阿尔法IMX6ULL。

网络问题

编译uboot后,烧写到SD卡中,设置开发板由SD卡启动后,开发板ENET2网口连接至笔记本电脑网口,开发板上电启动uboot。

设置uboot环境变量

环境变量 描述
ipaddr 开发板IP地址
ethaddr 开发板MAC地址
gatewayip 网关地址
netmask 子网掩码
serverip 服务器ip地址,即Ubuntu主机ip地址

设置ip与Ubuntu主机同一网段192.168.146.x,mac地址随意但不能与同网段内设备mac地址冲突,网关为192.168.146.1,子网掩码为255.255.255.0,服务器ip则与Ubuntu主机ip一致。

保存后开始在开发板上ping Ubuntu主机ip,无法ping通,显示xxx Destination Host Unreachable。

解决过程

查找资料与百度后发现虚拟机网络设置问题,开始时为了方便Ubuntu联网直接设置的NAT模式,与Windows主机共享ip,为了连接到开发板需要设置Ubuntu主机为桥接模式且桥接到以太网卡,填完这个坑后又发现桥接模式下Ubuntu始终无法联网,尝试了一些修改Ubuntu网络配置的方案后均无法解决,最后增加了一个NAT连接网络,联网时设置回NAT模式,与开发板调试时设置桥接模式。

Windows主机设置

首先查看Windows主机ip信息

win+r运行cmd命令进入命令行,输入

1
ipconfig /all

找到以太网适配器信息

image-20210130110914428

记录ip地址,子网掩码,网关及DNS服务器地址

image-20210130111157253

我的ip为192.168.146.xx,子网掩码为255.255.255.0,网关及dns无显示(好像可以忽略它们……)

打开控制面板>网络与Internet>网络连接

image-20210130112003726

以太网连接就是开发板的网络连接,可以看到未识别网络

点击以太网,点击属性

image-20210130112232722

找到Internet协议版本 4(TCP/IPv4)项目,点击设置属性

image-20210130113411504

手动设置ip地址,按之前windows的ip信息设置,除了ip设置为192.168.146.yy与之前ip最后一位不同,其余地址与之前一致

点击确定设置完毕

虚拟机配置

点击虚拟网络编辑器

image-20210130114328912

点击更改设置

image-20210130114428004

设置VMnet0为桥接模式,桥接至以太网卡

image-20210130114532871

确定后退出,点击虚拟机/设置

image-20210130114712258

找到网络适配器,设置网络连接为桥接模式

image-20210130114823879

Ubuntu主机设置

点击网络>编辑连接

image-20210130115039319

增加一个桥接网络,设置IP地址

image-20210130115446459

地址为192.168.146.zz,与前面两个ip最后一位不同,子网掩码及网关相同,保存后关闭

image-20210130115805706

关闭再重新打开网络,选择桥接网络,建立连接。

此时尝试在Ubuntu终端Ping之前设置的以太网手动分配的ip,即192.168.146.yy

1
ping 192.168.146.yy -c 4

发现已经可以Ping通,

再在Windows上尝试pingUbuntu主机

同样win+r运行cmd,输入

1
ping 192.168.146.zz

也可以ping通。

开发板配置及测试

uboot

进入uboot,输入print查看uboot信息,设置ip

1
2
3
4
5
6
setenv ipaddr 192.168.146.jj
setenv ethaddr 00:04:9f:04:d2:35
setenv gatewayip 192.168.146.1
setenv netmask 255.255.255.0
setenv serverip 192.168.146.zz
saveenv

现在各ip为

设备 ip
windows以太网卡 192.168.146.xx
以太网手动分配ip 192.168.146.yy
Ubuntu主机 192.168.146.zz
开发板uboot 192.168.146.jj

uboot上ping测试,返回alive,ping测试成功

(ping之前记得先关掉windows的防火墙,否则开发板可能ping失败)

1
2
3
4
=>ping 192.168.146.yy
host 192.168.146.yy is alive
=>ping 192.168.146.zz
host 192.168.146.zz is alive

linux系统

开发板进入系统后,命令行输入ifconfig查看ip信息

image-20210130130338403

修改ip

1
ifconfig eth0 192.168.146.jj up

再次输入ifconfig查看信息,ip已修改

现在各ip为

设备 ip
windows以太网卡 192.168.146.xx
以太网手动分配ip 192.168.146.yy
Ubuntu主机 192.168.146.zz
开发板ip 192.168.146.jj

在开发板上ping测试,可以ping通

(ping之前记得先关掉windows的防火墙,否则开发板可能ping失败)

1
2
ping 192.168.146.yy -c 4
ping 192.168.146.zz -c 4

在window上ping测试,同样win+r运行cmd,输入

1
2
3
ping 192.168.146.yy
ping 192.168.146.zz
ping 192.168.146.jj

均可以ping通。

在Ubuntu上ping测试,均可以ping通。

1
2
ping 192.168.146.yy -c 4
ping 192.168.146.jj -c 4

接模式无法联网

尝试多种方法后均无效,于是建立了一个NAT连接,每次要联网时在虚拟机网络适配器中设置网络为NAT模式并在Ubuntu内连接到建立的NAT连接。

在Ubuntu网络连接中增加一个NAT连接,ip自动分配

image-20210130132716163

在虚拟机设置中设置NAT模式

image-20210130132827299

然后选择NAT连接,建立连接后打开浏览器可以访问网络

若要连接开发板则设置回桥接模式,并连接至桥接网络。

--------------------------本文结束 感谢您的阅读--------------------------
坚持原创技术分享,您的支持将鼓励我继续创作!