我对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接口。在这种情况下如何提供寻址?我可以通过主机给客人提供静态地址吗?
答案 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"