`
haoningabc
  • 浏览: 1476453 次
  • 性别: 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虚拟机网卡及网络配置

    这种方式类似于NAT,外部网络无法主动访问虚拟机。虚拟机VLAN中的网络接口只能位于10.0.2.0/24子网中,适合简单的内部通信需求。可以通过`-redir tcp:&lt;宿主机端口&gt;:tcp:&lt;虚拟机端口&gt;`等选项设置端口重定向,实现特定...

    stm32f407裸机程序在windows的qemu上跑

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

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

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

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

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

    stm32CubeMX生成qemu能跑的工程

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

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

    ### QEMU模拟器运行AIX 7.2系统的详细指南 #### AIX操作系统简介 AIX(Advanced Interactive Executive)是IBM公司开发的一款基于AT&T Unix System V的类UNIX操作系统,主要用于IBM Power架构的服务器和工作站上。...

    Qemu使用手册中文版

    QEMU(Quick Emulator)是一款强大的开源虚拟化软件,它能够模拟各种计算机硬件,使得用户可以在同一台物理机器上运行多种操作系统。QEMU的核心功能包括系统级虚拟化和用户级虚拟化,支持Linux、Windows以及其他多种...

    linux qemu离线安装包

    离线安装QEMU通常适用于没有网络连接或者网络环境受限的情况。以下是一个详细的离线安装步骤: 1. **下载QEMU离线安装包**:首先,你需要在有网络的环境中找到适用于你的Ubuntu版本的QEMU deb包,这通常可以在...

    详解QEMU网络配置的方法

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

    qemu6.0及汉化补丁

    4. **网络模拟**:QEMU支持多种网络模型,包括NAT、桥接、用户模式网络栈等,使得虚拟机可以接入网络并与真实世界交互。 5. **磁盘映像格式**:QEMU支持多种磁盘映像格式,如QCOW2、RAW、VMDK等,这些格式具有不同...

    Qemu安装使用手册中文版

    这些选项使得QEMU能够在没有管理员权限的环境下运行网络应用。 ##### 4.3 虚拟多处理器系统 使用`-smp n`选项可以模拟具有多个CPU的系统,这对于测试多线程应用程序或进行性能分析非常有帮助。 #### 五、总结 ...

    QEMU安装包.zip

    7. **配置网络**:QEMU支持多种网络模型,如用户模式网络(NAT)、桥接网络等。根据需求配置网络设置,例如,使用`-net nic,model=virtio`和`-net user`启用NAT连接。 8. **管理虚拟机**:QEMU可以与Libvirt等管理...

    启动脚本qemu-ifup

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

    QEMU for windows+安装说明

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

    qemu-0.12.2-windows

    这通常通过桥接或NAT模式实现,使得虚拟机可以与主机或其他网络设备通信。 5. **存储模拟**:QEMU支持多种磁盘格式,如RAW、QCOW2等,用于模拟虚拟硬盘。这些格式可以提供不同的特性,如快照、压缩和加密。 6. **...

    qemu-w64-setup-20220831.exe

    6. **网络模拟**:QEMU支持多种网络模型,包括用户空间的NAT、桥接以及模拟以太网设备等,使虚拟机可以接入实际网络或与其他虚拟机通信。 7. **磁盘映像管理**:QEMU支持多种磁盘映像格式,如qcow2、raw、vmdk等,...

    qemu-0.9.1-windows

    5. **网络模拟**:QEMU可以模拟各种网络环境,包括桥接、NAT、路由等,使得虚拟机可以连接到实际的网络或与其他虚拟机通信。 6. **磁盘映像管理**:用户可以创建和管理虚拟硬盘映像,支持多种格式,如RAW、Qcow2、...

    qemu-0.12.5.tar

    8. **网络模拟**:QEMU可以模拟多种网络环境,包括桥接、NAT和纯用户空间网络,让虚拟机可以与其他虚拟机或物理网络进行通信。 9. **命令行接口**:QEMU通过命令行界面进行操作,用户可以自定义启动参数,控制...

    linux下的qemu模块

    4. 网络模拟:QEMU可以模拟网络环境,支持桥接、NAT等多种网络配置,方便虚拟机接入网络。 5. 安全隔离:通过虚拟化技术,QEMU可以确保各个虚拟机之间的资源隔离和安全防护。 四、重新集成QEMU模块 如果你想在...

    Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows

    "Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows"这个标题表明我们讨论的是如何在Windows系统上安装和使用Qemu来模拟ARM架构和Windows系统。Qemu的跨平台特性使得它能在Windows这样的非Linux...

Global site tag (gtag.js) - Google Analytics