在linux下使用qemu模拟路由器

在linux下使用qemu模拟路由器,第1张

前段时间,在学一个东西。学到使用qemu的时候,老是出错。原因有两个:一是我用的linux比较新,和书上的版本有差距,所以/etc/network/interfaces失效;二是我用的无线网卡上网,和书上的以太网不同,这就造成桥接的时候需要先桥接到以太网再转发到无线网卡(我在网上看见,wifi联盟的标准是不能无线桥接),而我还是个小白,所以做起来比较费劲。

utuntu17以后,/etc/network/interfaces失效,由netplan代管。但是我也试过netplan,我还是用不来。最好时直接用ip命令或者nmcli命令,免得麻烦。

以下以下是我总结的两个方法。步骤都差不多。方法1使用了老命令,方法2使用了新命令。

ubuntu下如何安装tap虚拟网络设备: https://www.jianshu.com/p/b1d315ea002e

为qemu虚拟机添加桥接网络和路由

在虚拟机的/etc/network/interfaces里面进行配置

重启虚拟机网络

实验:使用ip命令创建网桥,并调通网络

实验目的:ifconfig和tunctl等命令已经或者即将被淘汰,我必须找到官方公布的替代者,以保证以后还能使用这些命令写成的脚本。

添加网卡到网桥,网桥的状态必须时打开

注:两个从属网卡开启混杂模式,目的是让两个从属网卡可以通信。

在虚拟机的/etc/network/interfaces里面进行配置

1.ip命令能够替代ifconfig进行设置,并且能够替代tunctl和brctl进行工作。是一个十分强大的命令

2.网桥是一种特殊的连接。虽不不能明确个中缘由,但是从其拥有两张网卡可以窥知一二,同时命令nmcli和ip都把他归为连接,从这点也可以映证。

qemu常用网络模式是user、tap。 

user使用有局限性, 

1) 由于其在QEMU内部实现所有网络协议栈,因此其性能较差。 

2) 不支持部分网络功能(如ICMP),所以不能在客户机中使用ping命令测试外网连通性。 

3) 不能从宿主机或外部网络直接访问客户机。需要作地址重定向。 

tap方式网络没有这些限制。 

通过tap又可以实现bridge和nat方式的网络连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7507651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存