【摘要】:本文主要介绍了在开发过程中,实现开发板利用网线直连电脑实现开发工作,而电脑又可以通过另一个无线或有线网卡正常连接互联网。
【硬件开发环境】:开发主机——惠普笔记本(带无线网卡+有线网卡)、开发板JZ2440(带有线网卡)、网线1根(用于连接开发板和开发主机间的有线网卡)
【软件开发环境】:开发主机安装Win10操作系统并通过无线网卡连接互联网、开发主机安装有VMware Workstation Pro软件,用于运行虚拟机Ubuntu16.04、开发板安装了Linux3.4.2内核。
【配置目标】:虚拟机(Ubuntu)配置成双网卡,其中一个网卡配置成NAT模式,通过主机的无线网卡连接到外网进行上网;另一个网卡配置成桥接模式,通过桥接到开发主机的有线网卡,达到开发主机、Ubuntu、开发板的两两互联。
1. 配置NAT网卡
- NAT,Network Address Translation,指网络地址转换。使用 NAT 网卡 时,Ubuntu 要访问外网,是委托 Windows 发出数据包,Windows 接收到回应 后再转发给 Ubuntu。外界看到的都是 Windows,看不到 Ubuntu。使用 NAT 时, 只要 Windows 能上网,Ubuntu 就必定能上网,无需设置 Ubuntu 的网络。
-
在Windows的【开始】菜单,搜索“虚拟网络编辑器”,并以管理员的身份打开后,点击还原默认设置。 -
在虚拟机关机状态下,点击【编辑虚拟机设置】,删除所有已有的【网络适配器】(为了彻底和之前错的设置说再见,一切从头开始)。 -
再次重新添加一个新的【网络适配器】: -
为该新的网络适配器选择【NAT】模式: -
确认后,开启虚拟器,打开终端查看虚拟机是否已自动配置好ip地址,
-
如果没有自动配置IP: -
请在ubuntu终端下执行 sudo dhclient 来自动获取IP; -
请确认虚拟机的网络配置文件,是否将ens33网卡配置为动态IP?
- 打开
/etc/network/interfaces 文件,查看ens33网卡配置语句,修改为以下动态获取IP: auto ens33
iface ens33 inet dhcp
-
请确认开发主机Windows是否已经启用了VMNet8?其IP地址和DNS服务器地址是否设置为自动获取? 如果没有上图中的VMNet8,那需要打开Windows的虚拟机服务(把VMWare开头的几个全打开): -
查看虚拟机是否已经可以连接外网:
2. 配置网桥网卡
- 使用桥接网卡时,Ubuntu 就是使用一个真实的网卡:开发板的网线是连接到这个真实的网卡上的,这样 Windows、Ubuntu、开发板就都可以用过这个网卡 互通了。
- Ubuntu需要完成的设置:添加一个桥接网络适配器,并桥接到连接开发板的那个有线网卡;为该网卡设置静态IP
- Windows开发主机需要完成的设置:为该有线网卡设置静态IP,且与Ubuntu中设置的为同一网段;
- 开发板需要完成的设置:设置静态ip地址,且与Ubuntu中设置的为同一网段;
2.1 设置Windows端
- 依次打开【控制面板】——>【网络和Internet】——>【网络连接】,查看在Windows是否已经识别:
如果是外接网卡,需要在设备管理器中查看其名字,且一定要注意,在插入外接网卡时Ubuntu可能会弹出一个窗口,提示检测到新的设备,是连接到主机还是Ubuntu?一定要选择连接到主机!!!
如果,不幸选中了,也可以通过点击【可移动设备】显示的刚插入电脑里的外接网卡名前面的勾号进行取消:
-
设置ip 选中网卡,鼠标右键选择【属性】,找到【Internet 协议版本4(TCP/IPv4)】,双击后设置静态ip为192.168.5.10
2.2 设置Ubuntu端
2.3. 配置开发板
-
打开串口,打开开发板电源,利用串口工具登陆开发板系统; -
手动设置开发板ip地址:ifconfig eth0 192.168.5.9
-
为了每次打开开发板的时候,能够自动配置为我们所设置的ip地址,也可以在开发板的/etc/systemd/network/ 目录(该目录本来不存在,也需要新建)下新建50-static.network 文件。 -
输入以下配置语句: [Match]
Name=eth0
[Network]
Address=192.168.5.9/24
Gateway=192.168.5.1
-
输入ifconfig 查看开发板ip配置情况: -
在开发板上分别ping一下Ubuntu和WIndows主机,看能否联通? -
在Ubuntu中分别ping一下开发板和WIndows主机,看能否联通?
-
在WIndows中分别ping一下开发板和Ubuntu,看能否联通? 此时,再查看WIndows的网络连接,已经发现之前打叉断开的有线网卡已经处于联通状态了:
-
至此,已经达到我们所有目的了。当然如果你的开发板有两个网卡接口的话,除了eth0被我们用来作为开发用之外,另一个网口eth1就可以被用来开发板上网了,具体方法也很简单:
- 使用网线连接开发板另一网卡接口至可以上网的路由器上;
- 在开发板终端上执行
udhcpc -i eth1 ,等待 eth1 网卡自动获得IP; - 通过执行
ping www.baidu.com ,如果可以正常解析网址并ping通,那就证明开发板已经可以访问外网了。
|