使用CentOS Linux Bridge搭建Vxlan环境

一、 基础环境
使用VmWare虚拟两台Linux机器。CentOS 7,Linux内核如下:
4.5.3-1.el7.elrepo.x86_64
如果内核版本太低,是不支持VxLan的。可以使用一下命令进行内核升级

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

  1. rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
  2. yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y

升级后重启选择新内核。

二、 组网图

使用CentOS Linux Bridge搭建Vxlan环境

两台虚机VM1和VM2,eth2为虚机上的网卡。vxlan10是创建的虚拟网卡,用来处理vxlan。veth1和veth0是创建的一对虚拟口。br-vx是创建的网桥。
三、 配置命令
VM1:

  1. #创建网桥br-vx并使其up
  2. brctl addbr br-vx
  3. ip link set br-vx up
  4. #增加一个类型为vxlan,vni-id为100的,名字为vxlan10的虚拟网卡,指明对端地址为192.168.233.190,
  5. #(此地址为VM2的eth2的地址)出接口为本端的eth2
  6. ip link add vxlan10 type vxlan id 100 remote 192.168.233.190 dstport 4789 dev eth2
  7. ip link set vxlan10 up
  8. #把vxlan10加入到网桥中
  9. brctl addif br-vx vxlan10
  10. #创建一对虚拟网卡,设置其中的veth0的地址为192.167.1.6,并把veth1绑到网桥br-vx中。从veth0
  11. #发出的报文将会发给veth1,由于veth1在网桥中,会被进入到vxlan10中通过vxlan隧道发送给对端
  12. ip link add type veth
  13. ifconfig veth0 192.167.1.6/24 up
  14. ifconfig veth0 mtu 1450
  15. ifconfig veth1 up
  16. ifconfig veth1 mtu 1450
  17. brctl addif br-vx veth1

VM2:

  1. #创建网桥br-vx并使其up
  2. brctl addbr br-vx
  3. ip link set br-vx up
  4. #增加一个类型为vxlan,vni-id为100的,名字为vxlan10的虚拟网卡,指明对端地址为192.168.233.180,
  5. #(此地址为VM2的eth2的地址)出接口为本端的eth2
  6. ip link add vxlan10 type vxlan id 100  remote 192.168.233.180 dstport 4789 dev eth2
  7. ip link set vxlan10 up
  8. #把vxlan10加入到网桥中
  9. brctl addif br-vx vxlan10
  10. #创建一对虚拟网卡,设置其中的veth0的地址为192.167.1.7,并把veth1绑到网桥br-vx中。从veth0
  11. #发出的报文将会发给veth1,由于veth1在网桥中,会被进入到vxlan10中通过vxlan隧道发送给对端
  12. ip link add type veth
  13. ifconfig veth0 192.167.1.7/24 up
  14. ifconfig veth0 mtu 1450
  15. ifconfig veth1 up
  16. ifconfig veth1 mtu 1450
  17. brctl addif br-vx veth1

四、 验证
搭建好后,可以在VM1上使用ping命令来验证:VM1: ping 192.167.1.7,通过tcpdump抓报文看结构。

参考文章:http://blog.csdn.net/xingyeping/article/details/51353321

上一篇:swift 定义枚举和结构体 及使用


下一篇:Neutron VxLAN + Linux Bridge 环境中的网络 MTU