双网卡一直是企业级产品的常规配置,特别是带有网络属性的嵌入式产品领域,基本上非常容易就能看到。所以在嵌入式的Linux系统上加入双卡的支持就是非常有必要的,这里我们详细讲解如何在嵌入式Linxu环境下配置双网卡。使用Linux过程中不免要从服务器上yum软件包下来,就连接互联网,所以NAT模式是必要有的,而挂接NFS和SMB要用桥接模式的网卡,所以就想了个办法给虚拟机来个双网卡。在这中间出了一次问题,有个网卡不能启动,后面解决了一下:
今天因为配置了NAT的网卡为DHCP连外网之后重启网络服务发现不能使用网卡1了
经过仔细观察解决办法如下:
修改网卡1的配置文件
ONBOOT要为YES
如果发现不是ONBOOT而是ONBOiOT之类的没关系删掉就是了改成上面的样子。
然后Service network restart重启系统的网络服务,让其上面的修改生效。
要方便开发,就要使用双网卡,前面我使用的NAT和Bridged两种双网卡连接的方式,NAT的网卡使用的是DHCP自动分配IP地址,这样可以实现在拔掉网线的情况下,通过ifconfig查看分配好的IP地址,然后就可以在Windows主机里连接虚拟机里的Linux了,包括sftp ssh smb 但是必须承认这样速度很忙。这样做的好处就是可以不用设置,轻松的实现Linux对因特网的连接,缺点就是一旦本地连接插上,也就是被激活了,这样就网络阻塞了,NAT的通信方式就不管用了。所以就导致一旦网卡激活,NAT就卡顿了,为了解决这种问题,决定不采用这种方式。
一个桥接到物理网卡,一个使用 host-only 方式与主机进行 Samba SSH FTP 交互。另一个网卡还是使用Bridged方式如下图所示:
Windows主机的IP地址设置为192.168.0.2与桥接的网卡的IP地址在同一个网段里面,只要把 host-only 网卡设为 static IP 与网络设备管理器中的VMware Network Adepter VMnet1网卡处于同一网段,如下图所示
这样主机访问虚拟机Linux 的 Samba 速度就会是物理桥接网卡速度的 2 倍;物理桥接的网卡主要用于与外网访问使用 host-only 网卡访问虚拟机 Samba 还有一个好处,就是当拔掉电脑主机网线的时候,主机映射虚拟机的网络盘依旧保持连接,这个是我觉得最值得称赞的好处。
而VMware Network Adepter Vmnet8 的网卡是做为NAT来用的,我们可以看下其IP地址
但设置网卡为NAT的DHCP方式的时候,我们可以发现那个网卡的IP地址为192.168.30.129。
到这里我想我终于搞明白了这两个虚拟出来的网卡的作用。
安装VMware后会虚拟出两张网卡:
VMware NetworkAdepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡
VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡
桥接网卡使用的是真实的物理网络,哪个网络使用交换机跟主机进行数据交换,速度大概是11Mbyte/s,host-noly使用的是主机自己的虚拟网络和虚拟交换机,用主机的cpu做交换机的工作,现在的电脑都是双核、4核,还是2Ghz以上,交换能力肯定比一般的外部交换机要强好多的。
而桥接方式貌似和这两个网卡没关系。在主机和虚拟机里面的本地连接里面设置好静态的IP地址在一个网段里面就行了,如果想要Host-Only模式下也可以访问互联网的话可以在Windows的网络设备管理器里面的选择你连接外网的网卡通过共享选项,选择一个专用的网络共享就可以实现了(待验证!!),我的是通过PPPOE上网如下图:
如果这样不行的话,试试下面别人的方案:
在能上网的网卡上设置ICS,并选中VMwareNetwork Adepter VMnet1
注意一点:VMwareNetwork Adepter VMnet1的IP会自动变成192.168.137.1
将虚拟机中的IP设置到此网段内并将网关设置成192.168.137.1就OK了
好了,根据上的唧唧歪歪,接下来总结一下我的开发环境配置
windows 主机本地连接IP地址为192.168.0.1
Linux设置为Host-Only模式的网卡eth0设置静态IP地址为192.168.118.129
Linux设置为Bridged模式的网卡eth1设置静态IP地址为192.168.0.2
总结
总体来讲配置嵌入式Linxu系统双网卡是比较常规的操作,所以还是需要认真对待。这样在下次公司面试到这种问题的时候,也能非常快的答上来。
在ARM嵌入式环境下,如何配置双网卡的说明
本文由作者自行上传发布,文章仅代表作者个人观点。如需转载,务必声明出处和网址,否则保留相关权利。
网友评论 comments