首页 文章

KVM,OVS,桥接网络 . 如何配置?

提问于
浏览
1

我'm completely new to KVM and bridging and need your help. I have a remote server with QEMU/KVM and only SSH connection is available to me. Host OS is RHEL 7. Guests must be connected to bridge(ovs), they see each other and don't可以访问外部网络 . 主机必须可以ping客人 . 物理网卡接口不能像主机那样查看来宾的每个虚拟接口,并且可以访问它们,并且客人可以通过网桥看到对方 . 我使用libvirt尝试按照此指令How to Use Open vSwitch with Libvirt配置它 . 请帮帮我 .

首先我需要创建桥:

sudo ovs-vsctl add-br ovsbr

然后我使用virsh配置域XML文件,如下所示:

<interface type='bridge'>
    <mac address='52:54:00:71:b1:b6'/>
    <source bridge='ovsbr'/>
    <virtualport type='openvswitch'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  </interface>

重新启动域桥后连接了guest虚拟机接口的vnet0接口 . 在这种情况下如何提供寻址?我可以通过主机给客人提供静态地址吗?

1 回答

  • 2

    创建网络接口:

    # cat /etc/sysconfig/network-scripts/ifcfg-br-int 
    DEVICE=br-int
    ONBOOT=yes
    DEVICETYPE=ovs
    TYPE=OVSBridge
    BOOTPROTO=static
    HOTPLUG=no
    IPADDR=10.17.0.1
    NETMASK=255.255.255.0
    

    接口:

    # ifup br-int
    

    它创建了openvswitch桥 .

    # ip -4 a show br-int
    5: br-int: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default 
    inet 10.17.0.1/24 brd 10.17.0.255 scope global br-int
       valid_lft forever preferred_lft forever
    

    创建一个libvirt网络:

    # cat ovsnet.xml 
    <network>
      <name>br-int</name>
      <forward mode='bridge'/>
      <bridge name='br-int'/>
      <virtualport type='openvswitch'/>
    </network>
    

    定义并启动网络:

    # virsh net-define ovsnet.xml
    # virsh net-start br-int
    # virsh net-autostart br-int
    

    创建vm:

    # qemu-img create -f qcow2 /opt/vm/test.qcow2 10G
    # virt-install \
      --ram 1024 \
      --accelerate \
      --disk path=/opt/vm/test.qcow2 \
      --name test \
      --network network:br-int \
      --vcpus 1 \
      --cpu core2duo \
      --cdrom /opt/iso/CentOS-7.0-1406-x86_64-DVD.iso
    

    完成安装,登录新虚拟机并配置网络:

    # cat /etc/sysconfig/network-scripts/ifcfg-ens3 
    DEVICE=ens3
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=10.17.0.2
    NETMASK=255.255.255.0
    GATEWAY=10.17.0.1
    

    Up网络接口:

    # ifup ens3
    

    检查来自主机的ping:

    # ping 10.17.0.2 -c 1
    PING 10.17.0.2 (10.17.0.2) 56(84) bytes of data.
    64 bytes from 10.17.0.2: icmp_seq=1 ttl=64 time=0.398 ms 
    
    --- 10.17.0.2 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.398/0.398/0.398/0.000 ms
    

    当前的openvswitch配置:

    # ovs-vsctl show
    73826453-249b-4558-9cf9-ad6cc169dec9
        Bridge br-int
            Port br-int
                Interface br-int
                   type: internal
            Port "vnet0"
                Interface "vnet0"
        ovs_version: "2.3.1-git4750c96"
    

相关问题