韦东山嵌入式Linux学习笔记之环境搭建——没有路由器情况下使PC、虚拟机和开发板三者互联的方法

最近学习韦东山老师的嵌入式Linux第一期,学习中遇到了PC、虚拟机和开发板三者互联的问题,看了配套资料的三者互联的教程文档后发现如果要三者互通就必须要有路由器作为中间桥梁,但是笔者的教研室网络环境比较复杂,不太适合原来教程中所提到的几种方法,故跟同学讨论决定实验在没有路由器的情况下能否实现三者的互通,最终在将有线网卡和无线网卡都用到的情况下实现了三者的互通,并且还不影响电脑正常上网。

笔者的网络环境是:教研室有无线WIFI,但是手边没有合适的路由器,教研室的路由器又离得很远不可用。但是PC机中既有无线网卡又有有线网卡,因此可以将有线网卡用于PC、虚拟机和开发板的三者互联,而无线网卡专用于连接WiFi上网查资料。

解决方案具体如下:

1. 将开发板和PC机用网线连接,开发板上电后可以看到网线的工作灯亮起。

2. 之后打开PC端的命令提示符并进入cmd界面,输入“ipconfig”命令查询Windows IP 配置,找到PC中有线网卡的信息,记住有线网卡的Ipv4地址,此处为:169.254.5.150。需要注意的是我们并不需要去关心无线局域网WLAN的ip参数。

3. 打开虚拟机的网络设置,在WMnet信息中选择桥接模式,并且需要注意的是此时要桥接到PC机的有线网卡上,之后点击“确定”,如下图所示。之后点击设备信息下的“网络适配器”,进入之后在网络连接选项中选择“自定义”,并在下拉菜单中选择刚刚完成桥接设置的WMnet0,点击“确定”完成设置。




4. 开启虚拟机。打开网络连接的设置界面,设置虚拟机服务器的静态ip地址为与PC机有线网卡ip地址在同一网段下的ip地址,子网掩码为:255.255.255.0,网关为:169.254.5.1。笔者设置的ip地址是:169.254.5.149,注意要勾选“Required Ipv4 addressing for this connection tocomplete”,之后点击“save”保存。打开Linux上的终端输入“ifconfig”命令查看此时虚拟机的ip地址已经被固定为:169.254.5.149。

     

此时可以在虚拟机或者PC机上ping对方验证是否联通。

可以看到,此时PC已经和虚拟机完成了两者互通。

5. 进入开发板的uboot,设置开发板ip地址为:169.254.5.148,子网掩码和网关都跟之前设置虚拟机ip的时候一样。

之后启动开发板的Linux内核,进入控制台终端之后首先输入“ifconfig eth0 169.254.5.148”命令配置内核的ip地址,然后在开发板端ping 虚拟机或者PC。

可以看到,开发板可以ping通虚拟机和PC,说明PC、虚拟机开发板三者已经互通。可以为后续的网络文件系统NFS的配置提供必要条件。