`
haoningabc
  • 浏览: 1478463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

qemu用tap方式启动vm的网络试验(ip route)

阅读更多
ip route add 192.168.8.0/24 via 192.168.137.223


用qemu启动虚拟机:
/usr/libexec/qemu-kvm -kernel bzImage -drive file=hda.img,if=ide,cache=none -append "console=ttyS0 root=/dev/sda rw rdinit=/sbin/init notsc=1"  -nographic -boot order=dc,menu=on -net nic,vlan=0,macaddr=52:54:00:12:34:22,model=e1000,addr=08 -net tap,name=haha,ifname=tap1,script=no,downscript=no  

bzImage和hda.img自己去想办法吧,有个操作系统就行
这里关键地方是-net nic -net tap,ifname=tap1 指定了tap1,和vm的网卡相连
建立桥并给桥设置IP
brctl addbr br0
brctl stp br0 on
ip link set br0 up
ifconfig br0 192.168.123.1 netmask 255.255.255.0 broadcast 192.168.123.255

启动dhcp的服务
dnsmasq --strict-order --except-interface=lo --interface=br0 --listen-address=192.168.123.1 --bind-interfaces  --dhcp-range=192.168.123.2,192.168.123.254 --conf-file=""  --pid-file=/var/run/qemu-dhcp-br0.pid  --dhcp-leasefile=/var/run/qemu-dhcp-br0.leases --dhcp-no-override

把tap绑定到桥上
brctl addif br0 tap1
ip link set tap1 up

这里最重要:设置ip的转发
iptables -t nat -A POSTROUTING -s "192.168.123.0/255.255.255.0" ! -d "192.168.123.0/255.255.255.0" -j MASQUERADE 
sysctl -w net.ipv4.ip_forward=1


进入刚起的vm,获取ip
dhclient
ping 114.114.114.114
可观察
root@(none):/# ip route
default via 192.168.123.1 dev eth0 
default dev sit0  scope link 
default dev lo  scope link 
192.168.123.0/24 dev eth0  scope link 
192.168.123.0/24 dev eth0  proto kernel  scope link  src 192.168.123.37 


qemu的操作
ctl+a x 退出
ctl+a c 切换monitor


################################################
不用dhcp,用ifconfig和route手动建立route的方式

主机
brctl addbr br0
ip link set br0 up
ip link set tap1 up
brctl addif br0 tap1
ifconfig br0 192.168.124.1 netmask 255.255.255.0 broadcast 192.168.124.255
iptables -t nat -L
iptables -t nat -A POSTROUTING -s "192.168.124.0/255.255.255.0" ! -d "192.168.124.0/255.255.255.0" -j MASQUERADE 


客户端手动建ip
ip link set eth0 up
ifconfig eth0 192.168.124.2 netmask 255.255.255.0 broadcast 192.168.124.255
route add default gw 192.168.124.1 dev eth0



############################################
不用dhcp,用ip addr和 ip route手动建立route的方式

brctl addbr br0
ip link set br0 up
ip link set tap1 up
brctl addif br0 tap1
ip addr add 10.3.0.1/24 dev br0

brctl show
ip addr show br0

iptables -t nat -A POSTROUTING -s "10.3.0.0/24" ! -d "10.3.0.0/24" -j MASQUERADE 

进入vm
ip link set eth0 up
ip addr add 10.3.0.2/24 dev eth0

ip route add default via 10.3.0.1 
ping 114.114.114.114


############################
备注:
可能会用到
ifconfig br0 promisc up 
ifconfig eth0 promisc up
##########
ip route参考:
http://www.mamicode.com/info-detail-1412618.html
http://www.cnblogs.com/sammyliu/p/4713562.html

0#表: 系统保留表
253#表: default table 没特别指定的默认路由都放在改表
254#表: main table 没指明路由表的所有路由放在该表
255#表: locale table 保存本地接口地址,广播地址、NAT地址 由系统维护,用户不得更改

ip route list table 253
ip route list table main


cat /etc/iproute2/rt_tables

via是下一跳

ip route add default via 10.3.0.1 table 1 在一号表中添加默认路由为192.168.1.1
ip route add 192.168.0.0/24 via 192.168.1.2 table 1 在一号表中添加一条到192.168.0.0网段的路由为192.168.1.2


参考
http://haoningabc.iteye.com/blog/2306952
tap的方式使用qemu建立虚拟机NAT网络
分享到:
评论

相关推荐

    QEMU虚拟机网卡及网络配置

    4. **VDE (Virtual Distributed Ethernet)**:这种方式首先启动一个VDE进程,该进程管理一个TAP设备,各个虚拟机VLAN通过与VDE进程连接,从而实现通信。 #### TAP方式的配置详解 在四种通信模式中,TAP方式因为其...

    RT-Thread QEMU TAP 网卡驱动

    2. **配置QEMU**:启动QEMU时,需要指定使用TAP网卡,并连接到宿主机的TAP接口。这通常通过命令行参数完成,如`-nic tap,ifname=tap0,script=no,downscript=no`,其中`ifname`参数指定TAP接口的名称,可以根据实际的...

    qemu-2.11.0增加获取vm根目录磁盘使用率qga接口

    在QEMU 2.11.0版本中,引入了一个新的功能,即通过QEMU Guest Agent(QGA)接口获取虚拟机(VM)根目录的磁盘使用率。这一特性对于监控和管理虚拟环境非常重要,特别是对于云计算环境,因为资源监控是优化服务质量和...

    qemu 启动虚拟机流程分析

    ### QEMU启动虚拟机流程分析 #### 一、概述 QEMU(Quick Emulator)是一款开源的机器模拟器,能够实现完整的系统模拟,提供了一种高效的方法来运行多个操作系统环境而无需额外硬件支持。本文主要分析QEMU启动...

    Qemu启动测试器_win_非命令行

    4. **网络配置**:Qemu启动测试器可能会有网络配置选项,让用户选择虚拟机的网络模式,如桥接、NAT、主机-only等,以便虚拟机能连接到真实网络或者仅与主机通信。 5. **资源监控**:为了便于调试和性能分析,工具...

    Qemu启动测试器

    Qemu启动测试器。iso启动测试器。u盘启动测试器

    Qemu启动测试器(QemuBootTester)v2.0.0.2绿色免费版

    主要功能: Qemu增强版启动测试器是一款多功能的启动测试工具,功能很强大可以模拟标准VGA显示进行测试,支持磁盘测试、模拟光驱启动、PXE网络启动测试、LINUX内核测试、可以模拟启动磁盘镜像、光盘镜像、软盘镜像...

    Qemu使用手册中文版

    在Linux环境下,QEMU通常可以通过包管理器进行安装,如在Ubuntu或Debian上使用`sudo apt-get install qemu`,在CentOS或Fedora上使用`sudo yum install qemu`或`sudo dnf install qemu`。确保同时安装相应的库和依赖...

    QEMU在Windows上模拟ARM硬件平台并安装国产操作系统麒麟高级服务器版V10(基于OpenEuler)

    4. 配置QEMU命令行:根据麒麟高级服务器版V10的官方文档,编写QEMU启动命令,指定CPU类型(ARM架构)、内存大小、虚拟硬盘、网络设备(使用TAP驱动)以及引导固件(`QEMU_EFI.fd`)。 5. 启动QEMU:运行上述配置好...

    Qemu安装使用手册中文版

    QEMU提供了丰富的网络配置选项,包括使用用户模式网络堆栈(`-net user`),或配置TAP网络接口(`-net tap`)。这些选项使得QEMU能够在没有管理员权限的环境下运行网络应用。 ##### 4.3 虚拟多处理器系统 使用`-...

    qemu使用手册,支持各种平台

    QEMU 支持全屏方式,可以使用 `-full-screen` 选项来启动全屏模式。 进程 PID QEMU 支持记录进程 PID,可以使用 `-pidfile file` 选项来存储 QEMU 的进程 PID。 Windows 2000 安装 QEMU 支持安装 Windows 2000,...

    qemu启动测试器两款

    QEMU支持多种启动方式,包括从USB设备、光盘镜像和软硬盘镜像启动,这使得它成为软件开发、系统测试和虚拟化的重要工具。 这两款QEMU启动测试器——"Qemu启动测试器.exe"和"jianyi.exe",都是为了方便用户测试不同...

    qemu下u-boot+kernel+rootfs完整启动移植手册

    本篇文章主要讲述了如何在 QEMU 下完成 u-boot、Linux 内核以及 rootfs 的完整启动移植过程。 首先,我们需要确保拥有必要的软件包。对于 QEMU 的安装,你需要先安装一些依赖库,例如 zlib1g-dev 和 glib2.12。通过...

    Qemu模拟器运行AIX 7.2 系统.docx

    2. **启动QEMU虚拟机**:使用QEMU模拟PowerPC架构,并加载AIX ISO文件作为安装介质。 ```bash qemu-system-ppc64 -cpu POWER8 -machine pseries -m 4096 -serial stdio \ -drive file=hdisk0.qcow2,if=none,id=...

    Qemu使用手册

    ### QEMU使用手册详解 #### 一、简介 QEMU是一款开源的机器模拟器,能够模拟多种处理器架构和操作系统环境,被广泛应用于测试、开发、迁移等场景中。本手册旨在提供QEMU的基本使用方法及常见选项说明。 #### 二、...

    qemu-kvm配置bridge

    - 启动虚拟机:使用qemu-kvm命令启动虚拟机,并指定使用网卡设备tap0连接到桥接网络,实现虚拟机与宿主网络的互通。 5. 拷贝系统到U盘:安装完成后,可以使用dd命令将虚拟磁盘镜像复制到U盘,制作成启动U盘。 6. ...

    QEMU for windows+安装说明

    QEMU Manager通常提供一个图形用户界面,使得创建和管理虚拟机变得更加直观,比如创建虚拟硬盘、分配内存、设置网络接口等。 在QEMU中,您可以通过ISO映像文件安装各种操作系统,如Linux、Windows或其他自由软件...

    Qemu&Kvm虚拟计算机系统启动流程图

    4. 启动虚拟机:配置完成后,QEMU会启动虚拟机,此时虚拟机的操作系统开始启动,开始加载系统内核和初始化各种硬件设备。 5. 系统引导与用户登录:虚拟机内操作系统完成引导后,用户可以登录到虚拟机中,进行各种...

    GNS3 qemu使用完整教程

    GNS3使用Qemu模拟PC,防火墙,IPS教程

Global site tag (gtag.js) - Google Analytics