Qemu-kvm的网络模式

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

qemu-kvm之桥接模式

桥接原理图 
这里写图片描述 
在qemu-kvm的桥接方式中,将宿主机的物理网卡桥接在br0,虚拟网卡vnet1,vnet0链接在eth0上,eth0相当于交换机。客户机从网卡前驱上将信息发送早网卡后驱上,网卡后驱通过eth0将信息发送给br0,在此将信息发送出去。

桥接的配置

 1. 下载并安装tunctl     [root@Clone4 ~]# yum install tunctl  2. 创建桥接     [root@Clone4 ~]# brctl addbr br0  3. 链接桥接     [root@Clone4 ~]# brctl addif br0 eth0  4. 桥接网卡启用stp协议     [root@Clone4 ~]# brctl stp br0 up  5. 设置eth0ip     [root@Clone4 ~]# ifconfig eth0 0 up  6. 自动配置br0     [root@Clone4 ~]# dhchlient br0  7. 设置qemu—ifup脚本         if [ -n  "$1" ]     then         ip link set $1 up         brctl addif br0 $1         exit0     fi  8. 设置qemu-dump脚本            if [ -n "$1" ]     then         tunctl -d $1         brctl delif br0 eth0         ip link set $1 down        exit0     fi  9. 命令配置     [root@Clone4 ~]# qemu-kvm -m 1024 -smp 2 kvm.img -net nic -net tap,ifname=tap1,script=/../qemu-ifup,downscript=/../qemu-down

qemu-kvm之NAT模式


Qemu-kvm的NAT原理图 
这里写图片描述
DHCP服务器为客户机分配IP地址,并与客户机链接在桥接网卡上,宿主机通过NAT将桥接网卡与物理网卡eth0相连。

Qemu-kvm的NAT配置

 1. 检查是否还有NAT模块     [root@Clone4 ~]# iptables -t NAT -L -niptables v1.4.7: can't initialize iptables table `NAT': Table does not exist (do you need to insmod?) 请编译安装模块 2. 创建桥接     [root@Clone4 ~]#  brctl addbr br0  3. 桥接网卡启用stm协议     [root@Clone4 ~]#  brctl stm br0 up  4. 设置桥向延时     [root@Clone4 ~]# brctl setfd br0 0  5. 设置桥接网卡的IP     [root@Clone4 ~]# ifconfig br0 192.168.100.1 up  6. 安装DHCP     [root@Clone4 ~]# yum install dhcpd  7. 编辑/etc/dhcp/dhcpd.conf     subnet 192.168.100.0 netmask 255.255.255.0{       range 192.168.100.2 192.168.100.200;       option routers 192.168.100.1;     } 8. 编辑qemu-ifup脚本        if [ -n "$1" ]     then         ifconfig $1 0.0.0.0 up         brctl addif br0 $1         exit 0     fi  9. 编辑qemu-dump脚本        if [ -n "$1" ]     then         ip link set $1 down         brctl delif br0 $1         ip link br0 dowm         brctl delif br0         exit 0     fi  10. 配置NAT     [root@Clone4 ~]# iptables -t NAT -A POSTROUTING -d 192.168.100.0/25 -j MASQUERADE  11. 启动     [root@Clone4 ~]# qemu-kvm -m 1024 -smp 2 kvm.img -net nic -net tap,ifname=tap1,script=/../qemu-ifup,downscript=/../qemu-down  12. 进入客户机中并配置客户机的IP     [KVM@vir ~]# dhclient eth0  13. 在宿主机中配置端口映射     [root@Clone4 ~]# iptables -t NAT -A POSTROUTING -d VIP -p tcp --port 80 -j NAT --to KVM_VIT_IP:8088


qemu-kvm之用户模式

用户模式 
用户模式网络是qemu自身实现的,不需要替他工具来辅助,同时使用slirp实现一整套的TCP/IP协议,并且使用你这个协议实现了虚拟NAT网络。 
缺点: 
性能差,不支持部分功能(如ICMP),不能从宿主机或者外部网络访问客户机

用户模式网络的配置

 1. 命令参数解释     [root@Clone4 kvm]# qemu-kvm -net user[,option][,option...]     vlan=n:链接值vlan,默认伪0     name=name:指定接口显示的名字     net=ip/mask:设定虚拟机中可见的ip哇昂罗     host=add:指定虚拟机中看到的物理机ip地址,默认伪指定网络中第二个地址,即x.x.x.2     dhcpstart=addr:指定DHCP服务地址池中16个地址的起始ip,默认伪第15-31个,即x.x.x.16-x.x.x.31     dns=addr:指定dns地址,默认伪虚拟机地址中的第三个地址,及x.x.x.3     tftp=dir:激活内置的tftp服务器     bootfile=file:bootp文件名称,实现网络引导     hostfwd= [TCP|UDP]:[hostaddr]:port-[guestaddr]:geustport  :将宿主机的端口定向到客户机上,guestadd默认为DHCP分配的第一个客户机,*.*.*.15.  2. 启动一个将客户机22端口映射到宿主机5022,800-5080     [root@Clone4 kvm]# qemu-kvm -m 1024 -smp 2 kvm.img --net nic --net user,hostfwd =tcp::5022-:22,hostfwd=tcp::5080-:80  3. 进入客户机,是客户机能够连接网络     [kvm@virt ~]# dhclient eth0     [kvm@virt ~]# ssh 10.0.2.2     [root@Clone4 ~]# exit     [kvm@virt ~]# wget www.baidu.com  4. 在客户机中启动http


用户模式网络测试 
这里写图片描述

这里写图片描述


:qemu-kvm默认使用用户模式网络启动客户机

本文转自lnsaneLlinux博客51CTO博客,原文链接http://blog.51cto.com/lnsane784/1958356如需转载请自行联系原作者


Insane_linux

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
3月前
|
存储 安全 JavaScript
云计算浪潮中的网络安全之舵探索Node.js中的异步编程模式
【8月更文挑战第27天】在数字化时代的风帆下,云计算如同一片广阔的海洋,承载着企业与个人的数据梦想。然而,这片海洋并非总是风平浪静。随着网络攻击的波涛汹涌,如何确保航行的安全成为了每一个船员必须面对的挑战。本文将探索云计算环境下的网络安全策略,从云服务的本质出发,深入信息安全的核心,揭示如何在云海中找到安全的灯塔。
|
3月前
|
负载均衡 安全 网络协议
|
8天前
|
域名解析 网络协议 虚拟化
vmware 提供的三种网络工作模式
本文介绍了VMware虚拟机的三种网络工作模式:Bridged(桥接模式)、NAT(网络地址转换模式)和Host-Only(仅主机模式)。桥接模式将虚拟机与主机通过虚拟网桥连接,实现与物理网络的直接通信;NAT模式通过虚拟NAT设备和DHCP服务器使虚拟机联网;Host-Only模式则将虚拟机与外网隔离,仅与主机通信。此外,文章还简要介绍了网络相关的基础知识,包括主机名、IP地址、子网掩码、默认网关和DNS服务器。
25 3
|
1月前
|
安全 定位技术 数据安全/隐私保护
|
23天前
|
负载均衡 应用服务中间件 数据安全/隐私保护
docker swarm 创建 Swarm 模式下的网络
【10月更文挑战第14天】
23 6
|
7天前
|
Docker 容器
【赵渝强老师】Docker的None网络模式
Docker容器在网络方面实现了逻辑隔离,提供了四种网络模式:bridge、container、host和none。其中,none模式下容器具有独立的网络命名空间,但不包含任何网络配置,仅能通过Local Loopback网卡(localhost或127.0.0.1)进行通信。适用于不希望容器接收任何网络流量或运行无需网络连接的特殊服务。
|
7天前
|
Docker 容器
【赵渝强老师】Docker的Host网络模式
Docker容器在网络环境中是隔离的,可通过配置不同网络模式(如bridge、container、host和none)实现容器间或与宿主机的网络通信。其中,host模式使容器与宿主机共享同一网络命名空间,提高性能但牺牲了网络隔离性。
|
7天前
|
Kubernetes Docker 容器
【赵渝强老师】Docker的Container网络模式
Docker容器在网络环境中彼此隔离,但可通过配置不同网络模式实现容器间通信。其中,container模式使容器共享同一网络命名空间,通过localhost或127.0.0.1互相访问,提高传输效率。本文介绍了container模式的特点及具体示例。
|
7天前
|
Linux Docker 容器
【赵渝强老师】Docker的Bridge网络模式
本文介绍了Docker容器的网络隔离机制及其四种网络模式:bridge、container、host和none。重点讲解了默认的bridge模式,通过示例演示了如何创建自定义bridge网络并配置容器的网络信息。文中还附有相关图片和视频讲解,帮助读者更好地理解Docker网络的配置和使用方法。
|
29天前
|
存储 前端开发 JavaScript
链动模式融合排队免单:扩散用户裂变网络、提高复购
将链动2+1与排队免单结合的模式及链动3+1模式转化为可运行代码涉及多个技术领域,包括后端开发、前端开发、数据库设计等。本文提供了一个简化的技术框架,涵盖用户管理、订单处理、奖励计算、团队结构等核心功能,并提供了示例代码。同时,强调了安全性、测试与部署的重要性,以确保系统的稳定性和合规性。

热门文章

最新文章