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

qemu nat网络跑gentoo

阅读更多
yum install bridge-utils iptables dnsmasq

lsmod|grep tun
modprobe tun

chmod 777 /etc/qemu-ifup
[root@host-10-6-6-4 gentoo]# cat /etc/qemu-ifup 
#!/bin/sh
#
# Copyright IBM, Corp. 2010  
#
# Authors:
#  Anthony Liguori <aliguori@us.ibm.com>
#
# This work is licensed under the terms of the GNU GPL, version 2.  See
# the COPYING file in the top-level directory.

# Set to the name of your bridge
BRIDGE=br0

# Network information
NETWORK=192.168.53.0
NETMASK=255.255.255.0
GATEWAY=192.168.53.1
DHCPRANGE=192.168.53.2,192.168.53.254

# Optionally parameters to enable PXE support
TFTPROOT=
BOOTP=

do_brctl() {
    brctl "$@"
}

do_ifconfig() {
    ifconfig "$@"
}

do_dd() {
    dd "$@"
}

do_iptables_restore() {
    iptables-restore "$@"
}

do_dnsmasq() {
    dnsmasq "$@"
}

check_bridge() {
    if do_brctl show | grep "^$1" > /dev/null 2> /dev/null; then
        return 1
    else
        return 0
    fi
}

create_bridge() {
    do_brctl addbr "$1"
    do_brctl stp "$1" off
    do_brctl setfd "$1" 0
    do_ifconfig "$1" "$GATEWAY" netmask "$NETMASK" up
}

enable_ip_forward() {
    echo 1 | do_dd of=/proc/sys/net/ipv4/ip_forward > /dev/null
}

add_filter_rules() {
do_iptables_restore <<EOF
# Generated by iptables-save v1.3.6 on Fri Aug 24 15:20:25 2007
*nat
:PREROUTING ACCEPT [61:9671]
:POSTROUTING ACCEPT [121:7499]
:OUTPUT ACCEPT [132:8691]
-A POSTROUTING -s $NETWORK/$NETMASK -j MASQUERADE 
COMMIT
# Completed on Fri Aug 24 15:20:25 2007
# Generated by iptables-save v1.3.6 on Fri Aug 24 15:20:25 2007
*filter
:INPUT ACCEPT [1453:976046]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1605:194911]
-A INPUT -i $BRIDGE -p tcp -m tcp --dport 67 -j ACCEPT 
-A INPUT -i $BRIDGE -p udp -m udp --dport 67 -j ACCEPT 
-A INPUT -i $BRIDGE -p tcp -m tcp --dport 53 -j ACCEPT 
-A INPUT -i $BRIDGE -p udp -m udp --dport 53 -j ACCEPT 
-A FORWARD -i $1 -o $1 -j ACCEPT 
-A FORWARD -s $NETWORK/$NETMASK -i $BRIDGE -j ACCEPT 
-A FORWARD -d $NETWORK/$NETMASK -o $BRIDGE -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -o $BRIDGE -j REJECT --reject-with icmp-port-unreachable 
-A FORWARD -i $BRIDGE -j REJECT --reject-with icmp-port-unreachable 
COMMIT
# Completed on Fri Aug 24 15:20:25 2007
EOF
}

start_dnsmasq() {
    do_dnsmasq \
        --strict-order \
        --except-interface=lo \
        --interface=$BRIDGE \
        --listen-address=$GATEWAY \
        --bind-interfaces \
        --dhcp-range=$DHCPRANGE \
        --conf-file="" \
        --pid-file=/var/run/qemu-dnsmasq-$BRIDGE.pid \
        --dhcp-leasefile=/var/run/qemu-dnsmasq-$BRIDGE.leases \
        --dhcp-no-override \
        ${TFTPROOT:+"--enable-tftp"} \
        ${TFTPROOT:+"--tftp-root=$TFTPROOT"} \
        ${BOOTP:+"--dhcp-boot=$BOOTP"}
}

setup_bridge_nat() {
    if check_bridge "$1" ; then
        create_bridge "$1"
        enable_ip_forward
        add_filter_rules "$1"
        start_dnsmasq "$1"
    fi
}

setup_bridge_vlan() {
    if check_bridge "$1" ; then
        create_bridge "$1"
        start_dnsmasq "$1"
    fi
}

setup_bridge_nat "$BRIDGE"

if test "$1" ; then
    do_ifconfig "$1" 0.0.0.0 up
    do_brctl addif "$BRIDGE" "$1"
fi
[root@host-10-6-6-4 gentoo]# 


qemu-system-i386 -hda gentoo.img -boot order=d -cdrom install-x86-minimal-20141125.iso -m 1024 -net nic,macaddr=00:16:3e:22:22:22 -net tap -localtime -vnc 10.6.6.4:1 &
#dnsmasq --strict-order --except-interface=lo --interface=br0 --listen-address=192.168.53.1 --bind-interfaces --dhcp-range=192.168.53.2,192.168.53.254 --conf-file= --pid-file=/var/run/qemu-dnsmasq-br0.pid --dhcp-leasefile=/var/run/qemu-dnsmasq-br0.leases --dhcp-no-override


参考
http://wiki.qemu.org/Documentation/Networking/NAT#Overview
分享到:
评论

相关推荐

    QEMU虚拟机网卡及网络配置

    介绍了多种QEMU虚拟机的网卡虚拟化技术和具体实现方法,同时给出了相应的网络配置步骤

    stm32f407裸机程序在windows的qemu上跑

    stm32f407裸机程序在windows的qemu上跑,而且控制台可以输出打印信息。里面还包含了qemu-system-arm.exe,直接开箱即用,这个是我的对应博客教程 ...

    实例讲解虚拟机3种网络模式(桥接、nat、Host-only)

    实例讲解虚拟机3种网络模式(桥接、nat、Host-only),请用notepad 或Uedit32打开

    stm32CubeMX生成qemu能跑的工程

    stm32CubeMX生成qemu能跑的工程,是用gcc,自己命令行操作的,完全ok

    arm cortex-a9程序在windows的qemu上跑

    arm cortex-a9程序在windows的qemu上跑,而且控制台可以输出打印信息。里面还包含了qemu-system-arm.exe,直接开箱即用,这个是我的对应博客教程 ...

    启动脚本qemu-ifup

    在启动虚拟机时创建和打开指定的TAP接口,并将该接口添加到虚拟网桥中---

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

    Qemu模拟器运行AIX 7.2 系统

    Qemu Manager v7.0 (April 2010) with Qemu 0.11.1 and KQEMU Support

    Qemu Manager v7.0 (April 2010) with Qemu 0.11.1 and KQEMU Support ------ windows下的qemu模拟器 QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不...

    详解QEMU网络配置的方法

    今天给大家介绍一下QEMU网络配置的方法。 qemu两种上网方式: user mode network : 这种方式实现虚拟机上网很简单,类似vmware里的nat,qemu启动时加入-user-net参数,虚拟机里使用dhcp方式,即可与互联网通信,...

    QEMU 作为PLC虚拟化平台 -- 从网络安全角度分析

    网络安全审计通常很难对操作工业信息和控制系统(ICS)进行,因为这些系统通常会在社会关键服务中实现中断。因此,许多研究人员正在探索虚拟化作为实现ICS系统高保真模拟的一种手段,在该系统中可以安全地执行网络...

    银河麒麟QEMUARM架构虚拟机

    下载qemu5.x D:\software\QEMU\qemu-system-aarch64.exe -m 6333 -cpu cortex-a72 -smp 2,cores=2,threads=1,sockets=1 -M virt -bios D:\software\QEMU\bios\QEMU_EFI_desktop.fd -net nic,model=pcnet -device nec...

    Qemu虚拟机安装教程

    Qemu虚拟机安装 我们先装Qemu虚拟机吧..先安装这个软件QemuInstall-0.7.2安装.我这里安装完了.就不安了! 具体步骤自己看喽. 装QEMU虚拟机的时候可卡.QEMU虚拟机是命令试的.具体命令你自己看我设置吧. 按我的设置...

    Qemu使用手册中文版

    Qemu使用手册中文版,安装以及使用详细教程,命令详解

    RT-Thread QEMU TAP 网卡驱动

    使用 RT-Thread QEMU BSP 的时候,如果需要用到网络,需要使用 TAP 网卡来为 QEMU 提供网络支持。

    QEMU for windows+安装说明

    因为玩操作系统的需要,我觉得开源免费虚拟机,比较好用就是QE了。这个是界面版,容易操作。QEMU 3.0觉得比5.0好用。里面有安装说明

    QEMU PCIe设备实现

    PCIe 设备虚拟化QEMU中的实现 包括处理中断的硬件以及Linux如何响应和处理终端。技术分析分享

    gentoo-cloud-image-builder:创建与gentoo openstack兼容的映像

    高级过程包括将vm(使用qemu)引导到gentoo安装CD /环境,然后自动执行完整安装。 为了构建映像,您只需要克隆存储库并确保您的主机上有一些标准的dep,包括: qemu / kvm 卷曲 mkisofs 互联网连接(已为您下载...

    qemu-8.0.0.tar.xz qemu源码

    qemu源码分享

    qemu代码分析.pdf

    qemu 是使用动态二进制翻译的 cpu 模拟器,它支持两种运行模式:全系统模拟和用户态模拟。在全系统模拟下,qemu 可以模拟处理器和各种外设,可以运行操作系统。用户态可以运行为另外一种 cpu 编译的进程,前提是两者...

    qemu-5.1.0.tar.xz

    qemu5.1版本源码,开源,开源作虚拟机或者仿真开发板。 QEMU 5.0 Supports Recent Armv8.x Features, Cortex-M7 CPU, Host Directory Access, and More

Global site tag (gtag.js) - Google Analytics