Ubuntu14.04 Vxlan实验

来源:互联网 发布:常见的网络进攻形式 编辑:程序博客网 时间:2024/06/11 23:41

Vxlan实验
实验目的:
主要是通过vxlan隧道将不同网段的主机实现互通,实验中主要包括ovs虚拟交换机的建立,拓扑环境的配置,使用ovs创建vxlan隧道,最终实现跨网段主机的互通。实验中主要有个难点,需要理解OVS网桥的桥接功能,以及网口与网桥的挂接,虚拟机与网桥的挂接,理解以上便可以用ovs创建各种拓扑完成实验。
1.环境安装:
Ubuntu 14.04 uname –kernel-release:3.13.0-57-generic
Libvirt version 1.2.2
OVS 2.3.0
其中关于OVS的安装,KVM的配置在附录部分,注意Linux内核版本与OVS版本的问题

2.实验中环境的配置:
主要使用两台主机host1,host2,并在两台在面安装KVM虚拟机,kvm虚拟机
Host1 有两块网卡,eth0,eth1,其中eth0用以连接外网,与host2进行通信,eth1则在未建立Vxlan之前不能与host1进行通信。
其中OVS创建的网桥br0,br1:
Br0主要负责连接内网,给其分配ip:10.0.1.6
Br1则负责与另一端主机互通,给其分配ip:192.168.146.131
Vm1 是host1下的虚拟机, Ip地址:10.0.1.3在未建立隧道前,它可以与br0互ping
Host2 也有两块网卡,eth0,eth1,其中eth0用以连接外网,与host2进行通信,eth1则在未建立Vxlan之前不能与host1进行通信。
其中OVS创建的网桥br0,br1:
Br0主要负责连接内网,给其分配ip:10.0.2.6
Br1则负责与另一端主机互通,给其分配ip:192.168.146.136
Vm3 是host2下的虚拟机, Ip地址:10.0.2.3在未建立隧道前,它可以与br0互ping
这里写图片描述

Kvm虚拟机建立过程中使用OVS创建的网桥br0
这里写图片描述
创建过程中可能出现以下错误:

这里写图片描述
解决方案参照以下网址:
Re: [libvirt-users] Libvirt 1.0.5 with Openvswitch 1.11.90: unable to ad
https://www.redhat.com/archives/libvirt-users/2013-May/msg00043.html
使用OVS建立网桥:
Ovs-vsctl add-br br0,建立vxlan隧道,可以使用ovs-vsctl show命令查看创建的网桥和。
这里写图片描述

附录:
OVS-2.3.0安装与配置

# apt-get install -y build-essential# apt-get install -y uml-utilities libtool python-qt4 python-twisted-conch debhelper python-all# wget http://openvswitch.org/releases/openvswitch-2.3.0.tar.gz# tar -xzf openvswitch-2.3.0.tar.gz# cd openvswitch-2.3.0# make clean# ./configure --with-linux=/lib/modules/`uname -r`/build# make && make install# modprobe gre# insmod datapath/linux/openvswitch.ko  //这一步貌似不通使用下面命令替代----------------------------------------------------------------------------------------------------cd datapath/linuxmodprobe openvswitch----------------------------------------------------------------------------------------------------make modules_installmkdir -p /usr/local/etc/openvswitchovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema ovsdb-server -v --remote=punix:/usr/local/var/run/openvswitch/db.sock \             --remote=db:Open_vSwitch,Open_vSwitch,manager_options \             --private-key=db:Open_vSwitch,SSL,private_key \             --certificate=db:Open_vSwitch,SSL,certificate \             --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \             --pidfile --detachovs-vsctl --no-wait initovs-vswitchd --pidfile --detachovs-vsctl showdepmod -A openvswitchKVM虚拟机的创建,这里安装KVM虚拟机不做介绍大家可以自行百度 cd /etc/libvirt/qemu/networksdefault.xmlcat default.xml <network>  <name>default</name>  <bridge name="virbr0"/>  <forward/>  <ip address="192.168.122.1" netmask="255.255.255.0">    <dhcp>      <range start="192.168.122.2" end="192.168.122.254"/>    </dhcp>  </ip></network>仿照default.xml来创建一个新网络,将br0(OVS创建的)包含进来,创建ovsnet.xml<network>      <name>ovs-br1</name>      <forward mode='bridge'/>      <bridge name='ovs-br1'/>      <virtualport type='openvswitch'/></network>使用如下命令在libvirt中创建网络,启动网络,设置自动启动网络virsh net-define ovsnet.xmlvirsh net-start br0virsh net-autostart br0这个就可以在创建虚拟机时刚刚创建和启动的br0:sudo virt-install --name test2 --ram 1024 --vcpus 1 --disk path=/home/fay/kvm/ubuntu14.10.img.,format=qcow2 --network network:br0 KVM虚拟机:配置guest网络使其与host主机中的OVS交换机的br0的ip地址处于同一个网段可以ping通 参考资料:搭建基于Open vSwitch的VxLAN隧道实验 | SDNLAB | 专注网络创新技术http://www.sdnlab.com/5365.htmlConnecting VMs Using Tunnelshttp://openvswitch.org/support/config-cookbooks/port-tunneling使用 Virtual Machine Manager 管理虚拟机http://www.ibm.com/developerworks/cn/cloud/library/cl-managingvms/
0 0
原创粉丝点击