Ubuntu14.04 Vxlan实验

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/linux
modprobe openvswitch
----------------------------------------------------------------------------------------------------
make modules_install
mkdir -p /usr/local/etc/openvswitch
ovsdb-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 --detach

ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach
ovs-vsctl show
depmod -A openvswitch
KVM虚拟机的创建,这里安装KVM虚拟机不做介绍大家可以自行百度
 cd /etc/libvirt/qemu/networks
default.xml
cat 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.html
Connecting VMs Using Tunnels
http://openvswitch.org/support/config-cookbooks/port-tunneling
使用 Virtual Machine Manager 管理虚拟机
http://www.ibm.com/developerworks/cn/cloud/library/cl-managingvms/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值