kvm网络管理

一、qemu-kvm支持的网络

        1.虚拟机的网络模式

                基于NAT(Network Address Translation)的虚拟网络

                基于网桥(Bridge)的虚拟网络

                用户自定义的隔离的虚拟网络 

                直接分配网络设备(包括VT-d和SR-IOV)

         2.虚拟机的网卡:

               RTL8139、e1000、.....

               virtio

二、virsh命令查看网卡

virsh net-list

  

 

 

 

virsh net-info  default

  

 

 

 

virsh net-dumpxml default

  

 

 

 三、基于NAT的虚拟网络

       1.KVM安装时默认的网络配置

        

 

 

      2.默认宿主机会有一个虚拟网卡virbr0,其实是一个虚拟交换机

ifconfig virbr0

  

 

 

     3.会绑定一个网卡virbr0-nic

brctl show virbr0

  

 

    4.查看iptables的nat表,可以看到做了SNAT

iptables -t nat -L

  

 

 

      5.可以看到从virbr0接口进来的DNS报文和DHCP报文是允许的

iptables -nvL

  

 

 

       6.当有虚拟机启动,如果采用的是默认NAT模式,那么virbr0交换机下就会增加接口,可以看 到有2个虚拟接口,代表有2个虚拟机接到了这个交换机上

brctl show virbr0

  

 

 

     7.以通过virsh命令查看虚拟机的网卡情况

virsh domiflist testvm01

  

virsh domif-getlink testvm02 vnet0

  

 

 

virsh domifstat testvm02 vnet0

  

 

 

   8.向虚拟机添加虚拟机网络

可以通过xml文档添加:
<interface type='network'>
   <mac address='52:54:00:aa:18:d1'/>
    <source network='default'/> //网络模式
    <model type='virtio'/> //网卡类型
    <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
    function='0x0'/>
</interface>

   9.  候主机就变成了一个路由器,可以看到路由功能已经打开 

cat /proc/sys/net/ipv4/ip_forward

  

 

 

  注意 如果是0  那是因为ip_forward没有开启

 启动ip_forward

vim  /etc/sysctl.conf 
net.ipv4.ip_forward = 1

  

 

 

 

四、基于网桥的虚拟网络

            

 

 

      1.Redhat/CentOS配置网桥的常用方法:

          nmcli:

         1.添加网桥

nmcli connection add  con-name virbr1 type bridge ifname virbr1

  

 

 

        2./桥接物理网卡

nmcli connection add type bridge-slave con-name virbr1 ifname virbr1 master virbr1

  

 

 

       

 

 

  3.激活连接

nmcli connection up virbr1

  

 

 

   4.验证

      ping真实主机    

     

 

 

       ping虚拟主机

          

   2. brctl (需要安装bridge-utils包)

        1.创建网桥

brctl addbr br10

   2.连接网桥

brctl addif br10 ens34

  3.brctl命令对网桥的配置需要以文件形式保存下来,这样系统再次启动后所有配置仍能生效。(修改配置文件达到连接网桥的功能)

        1.复制网卡配置文件

cp ifcfg-ens33  ifcfg-virbr1

         2.编写两个网卡配置文件

ens33网卡配置


TYPE="Ethernet"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=virbr1

         

virbr1网卡配置


TYPE="Bridge"
BOOTPROTO="static"
NAME="virbr1"
DEVICE="virbr1"
ONBOOT="yes"
IPADDR=192.174.1.20
GATAWEY=192.174.1.2
DNS1=114.114.114.114

   3.重新启动网络

systemctl restart network

  4..在虚拟主机上附加网桥卡 (如果想要连通外网 这一步用哪种方式都得使用)

virsh attach-interface testvm01 bridge virbr1 --mode virtio --current (立即生效不过在此重启就消失了)

virsh attach-interface testvm01 bridge virbr1 --model virtio --config (永久生效 因为写入配置文件了)

 

 五、用户自定义的隔离的虚拟网络

           逻辑视图:

     

 

     命令行添加网络:

      下次启动生效

virsh attach-interface domain --type bridge --source br1 --model virtio --config

          立即生效

virsh attach-interface domain --type bridge --source br1 --model virtio --current

         为了让每次开机都生效,新生成一次配置文件替换原来的配置文件

virsh dumpxml domain > domain.xml

  

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
KVM(Kernel-based Virtual Machine)是一个开源的虚拟化技术,它在Linux内核中实现了虚拟机功能。关于KVM网络管理实验,通常涉及以下几个步骤: 1. **网络配置**:实验中会配置虚拟机的网络接口,可以是桥接模式(bridged),将虚拟机的网络连接到物理主机的网络接口,或者是NAT(Network Address Translation)模式,提供私有IP给虚拟机。 2. **网络设备模拟**:KVM使用网桥设备QEMU virtio-net或e1000等驱动模拟网络适配器,为每个虚拟机提供独立的网络连接。 3. **网络性能测试**:实验可能包括测量和优化虚拟机之间的网络延迟、吞吐量,以及网络隔离的性能。 4. **安全组和防火墙**:研究如何在KVM环境中设置安全组规则,控制进出虚拟机的网络流量。 5. **网络驱动和虚拟交换机**:探究不同类型的网络驱动(如Open vSwitch、KVM自己的qemu-kvm-netdev)和它们对网络性能的影响。 6. **网络I/O模型**:了解KVM如何处理网络I/O,如用户空间的虚拟机监控程序(VMM)和内核模式的网络堆栈之间的通信。 7. **网络自动化**:使用脚本或工具自动化网络配置,比如libvirt和network-manager。 相关问题: 1. KVM中的网络设备是如何模拟的? 2. 如何在KVM中设置安全组以管理网络访问? 3. 使用libvirt进行网络管理时有哪些便利性? 4. 在高并发场景下,如何优化KVM的网络性能? 5. KVM网络配置中,如何选择合适的网络模式?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值