虚拟网卡验证实现总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、在虚拟机上做了验证

1. 虚拟机配成桥接模式,配置ip :ifconfig ens33 19

2.168.1.78

2. pc网口配成静态ip 192.168.1.66

3. 板卡配置ip:ifconfig eth1 192.168.1.72

4. 虚拟机起来后,利用命令tunctl -b建立虚拟网卡tap0.

5. 配置虚拟网卡ip ifconfig tap0 192.168.1.84 up

6. 从板卡ping 虚拟网卡,可以ping通

板卡相当于单台主机,虚拟机的网卡相当于板卡。NAT模式无法ping通,因为虚拟机只支持tcp ip端口的映射,不支持icmp协议。

二、根据验证结果交叉编译相应模块

1.在内核里要打开虚拟网卡模块。

cd /board-support/linux-4.9.59+gitAUTOINC+a75d8e9305-ga75d8e9305/

Make menuconfig

Device Drivers->Network device support->Universal TUN/TAP device driver support <*> 然后重新编译内核

2.编译虚拟网卡的用户空间程序,下载tunctl,做交叉编译。

三、启用虚拟网卡

1.将linux的zImage重新烧进板子,下载tunctl文件到home目录。

2.先执行home目录下的modules.sh文件,给eth1网口分配ip。然后执行./tunctl,可以看见这时创建了一个tap0的虚拟网卡;然后ifconfig tap0 up给虚拟网卡创建ip 并启用。

四、验证

使用了简单的的tcp socket程序,虚拟网卡上是server端,pc端是client,server端绑定虚拟网卡ip,在接收到client字符端的数据后自动加1。Pc和tap0是不同网段。Pc上加上到tap0的路由后(gw时pc的ip),client发送一个字符,会自动收到+1的字符。验证成功。

五、Webserver验证实现

在虚拟网卡上绑定apache的server。Apache的交叉编译见另一个文件。将编译好的apache文件打包安装到板卡上对应目录,修改httpd.conf。增加ServerName localhost:80,修改Listen 80为Listen <虚拟网卡ip>:80。然后启动apache ./bin/apachectl start。

在pc上打开浏览器,输入虚拟网卡ip,可以看到It works!的网页。输入eth1或者eth0的ip,打不开网页。验证成功。

相关文档
最新文档