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

时间:2015-06-03 14:14:26

标签: kvm libvirt bridge

我对KVM和桥接都很陌生,需要你的帮助。我有一个带QEMU / KVM的远程服务器,我只能使用SSH连接。主机操作系统是RHEL 7.访客必须连接到桥(ov),他们互相看到,并且无法访问网络外部。主机必须可以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 个答案:

答案 0 :(得分: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

创建虚拟机:

# 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"