• 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
    

      

    桥接网卡配置
    
    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
    

      

  • 相关阅读:
    树莓派使用一些技巧总结
    在Win8上安装pyinstaller打包python成为可执行文件
    DOM对象(js对象)与jq对象
    jQuery初体验
    jQuery的入口函数
    二、Java面向对象(8)_继承思想——继承关系
    二、Java面向对象(7)_封装思想——判断点和圆的关系
    二、Java面向对象(7)_封装思想——构造器和setter方法选用
    二、Java面向对象(7)_封装思想——this关键字
    二、Java面向对象(7)_封装思想——JavaBean规范
  • 原文地址:https://www.cnblogs.com/mo-xiao-tong/p/12858980.html
Copyright © 2020-2023  润新知