前段时间有人遇到一些网络连接问题,让我帮忙处理,他想让ARM开发板连接外网,可以连接网络数据库,同时保证自己的电脑可以上网。
本来说直接可以连接一个路由器,分配一个内网IP给ARM就可以了,但是当时那个朋友是在我们学校做的。我们学校的情况是,基本所有的内网IP都分配好了(可能没有多余的IP地址,找起来比较麻烦)。其次所有上网都需要用到蝴蝶,没有蝴蝶上不了外网。但是路由器不能登陆蝴蝶,也就是说路由器下连接的所有终端设备(pc机、ARM)都需要登录一个对应的蝴蝶才能上外网。
这样情况就复杂了,后来我查了一些资料,找到了解决办法。想到以后可能会遇到同样的情况,就写在博客里。
Windows和ARM开发板连接
首先要配置Windows的网络。
1.Windows网络配置
a.第一步,设置以太网1的属性为自动获取ip地址。
这里以太网1的意思是因为我有虚拟机,这些虚拟网卡所对应的是以太网2、以太网3。这些网络我们不需要用到,所以只用以太网1,其他windows系统版本应该叫做本地连接。
右键属性,找到 “Internet协议版本4 (TCP/IPV4)” 。其他windows版本名称可能有所不同。如图
这是最基础的网络配置了,如果实在不知道怎么弄的,百度一下怎么改你正在使用的windows系统版本的IP地址。
“Internet协议版本4 (TCP/IPV4)”里面可以设置自己的IP,这里你不要设置哪些IP信息来固定了,直接选择自动获取。(就算你这里改成了固定IP一会有个操作也会改变你这里的IP设置的,这个操作只是为了保证不会出错)
b.第二步,设置无线网络(WLAN,如果不知道是什么,说wifi就懂了吧,就是wifi的适配器)
右键属性->共享->"允许其他网络用户通过此计算机的internet连接来连接",选择以太网1(本地连接)。
设置了这个,就可以将WIFI连接的网络,共享给本地连接了。
c.第三步查看自己以太网1(本地连接)的IP地址,这时候你可以通过cmd命令提示符,ipconfig查看自己的本地连接是不是变成了192.168.137.1。
到此Windows的配置就可以了。
2.ARM的配置
将ARM与Pc机用网线连接,并且关闭windows防火墙(一定要关,否则ARM会ping不通pc机)。
这里要将ARM的IP地址设置成与192.168.137.1相同网段上(不能是192.168.137.1),这样才能ping通。
这里我将我的ARM IP地址设置成192.168.137.2。
同时要设置路由器,路由器就是PC机的以太网1(本地连接)的IP。
然后就可以直接在ARM里ping 我们的IP 192.168.137.1,如果成功了再ping www.baidu.com
如果都可以你就可以通过ARM连接外网了。
以上是ARM与PC机相连的情况,如果你的电脑里还有虚拟机的话,这里也可以将我们的Linux系统也连接到我们的网络中来。
我这里使用的是VMware11.7版本的虚拟机。
这里的设置跟上面ARM差不多,只是操作不太一样。
3.虚拟机中linux系统接入
首先连接网络,虚拟机连接网络的方式有很多种,我们使用桥接的方式,并且我们要设置桥接的网卡有且只有以太网1的网卡。
在VMware上面的编辑->虚拟网络编辑器
选择第一个桥接模式,一开始应该是自动的,在这里我们选择桥接到我们以太网1(本地连接)对应的网卡配置器上。如果不知道那个是我们以太网1(本地连接)的网卡配置器,有两个方法解决,一个是一个一个试,另一个是在网上找一下你电脑的网卡型号。设置完后确定。
打开你的linux虚拟机的终端
与刚刚配置ARM的命令一样,不过我们这里设置的ip地址要和以太网1(本地连接)、ARM的IP地址区别开来。
ifconfig eth0 192.168.137.3 netmask 255.255.255.0
route add default gw 192.168.137.1
设置完了就可以直接ping外网了。
到这里所有网络都被连接到了以太网1的适配器上,并且通过网络共享上网。
注:
如果想要配置自己的IP的话,也可以在设置wifi共享以太网1(本地连接)之后,再改变以太网1(本地连接)的IP地址,这样也可以,但是不论以太网1(本地连接)的地址怎么改变,ARM和linux虚拟机都要配制成与以太网1(本地连接)相同的网段上。