Linux 虚拟机使用tap设备

  为了给bochs配置网络,前几个月一直在折腾tun/tap设备,一直也没弄明白,后来使用bochs的vnet模式晢时替代了一段时间,而且支持的协议有限(arp, dhcp, icmp, tftp),所以要测试更多协议,就要使用tun/tap设备,所以去百度了一些文章,一般都是说先modinfo, 然后再lsmod查看有没有tun这个模块,没有的话要重新编译模块,再加载进来,但是现在据我所知,现在的Linux内核一般都是把tun模块编译进了内核,不需要再做其他的工作,当然modinfo, lsmod也没有结果,因为已经是内建模块了(dmesg | grep tun 可以看到默认已经加载),也正是因为没有输入,这段时间一直在弄编译模块,就是那些教程所说的那些步骤(大体过程,上篇已经写过了),既然已经是内建模块了,那就可以直接创建tap接口来使用了.

  但是bochs使用tap模式,却一直提示tap0 is not running, 比较发现正常接口会有RUNNING状态,但是tap接口只有UP状态,没有RUNNING,那就没办法了,我只知道如何让一个接口UP, 不知道怎么让他RUNNING。所以就放弃了,然后使用tuntap模式,ethdev指定为/dev/net/tun,但是又提示faild write好像,按照网上的修改为其他模式也不行,比如/dev/net/tun:tap0, 所以只能放弃。但是cat /dev/net/tun 显示的是“cat: /dev/net/tun: File descriptor in bad state”, 但这个提示应该是说tun设备可以正常工作了。可能bochs使用tuntap设备,必须要需要使用script来配置一下。

  最后还是选择了qemu来支持tap网络,配置也比较简单,这里参考的是这篇文章中给出的方法(安装,启动docker, 然后创建启动tap接口,最后加入到docker的docker0接口中), 使用docker自带的网桥,这样的话,只需要把tap接口加到网桥中就可以使用了。

  本文只做记录,不是教程,如描述不清,望见谅。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值