美文网首页
VXLAN OVS实践

VXLAN OVS实践

作者: 圣地亚哥_SVIP | 来源:发表于2019-10-28 20:00 被阅读0次

文章介绍了VXLAN的原理。本文介绍,如何基于OVS构建一个VXLAN的VPC。后续我们将基于Openstack Neutron的VXLAN机制手动构建VPC网络,并建立虚机。

基于OVS的简易VPC网络

原理图:

OVS-VXLAN

基于以上网络图,VPC网络构建。

SERVER 1:

方便后续的测试,将网卡enp2s0f0设置混杂模式,挂载在ovs桥上
br-mgmt为实际承载VXLAN业务的underlay网
#ovs-vsctl add-br br-mgmt
#ovs-vsctl add-port br-mgmt enp2s0f0

#cat /etc/sysconfig/network-scripts/ifcfg-br-mgmt:
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=br-mgmt
    DEVICE=br-mgmt
    ONBOOT=yes
    IPADDR=172.21.12.8
    NETMASK=255.255.255.0
    GATEWAY=172.21.12.1

#ifup br-mgmt
#ovs-vsctl set port br-mgmt tag=12
以上完成基础配置

配置overlay网络
#ovs-vsctl add-br ovs-vxlan
添加一个命名空间
#ip netns add ns-ser
添加一个veth口,连接ovs及namespace
#ip link add name veth1 type veth peer name veth1p
#ip link set dev veth1 netns ns-ser
#ovs-vsctl add-port ovs-vxlan veth1p

#ip link set veth1p up
#ip link set ovs-vxlan up

#ip netns exec ns-ser ip link set veth1 up
设置VPC IP
#ip netns exec ns-ser ip addr add 192.168.10.11/24 dev veth1

设置vxlan tunnel,其中vni=222,添加vxlan tunnel 对端的endpoint:172.21.12.163 
#ovs-vsctl add-port ovs-vxlan vxlan-tun -- set interface vxlan-tun type=vxlan options:remote_ip=172.21.12.163 options:key=222

SERVER 2上配置:

方便后续的测试,将网卡enp2s0f0设置混杂模式,挂载在ovs桥上
br-mgmt为实际承载VXLAN业务的underlay网
#ovs-vsctl add-br br-mgmt
#ovs-vsctl add-port br-mgmt enp2s0f0

#cat /etc/sysconfig/network-scripts/ifcfg-br-mgmt:
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=br-mgmt
    DEVICE=br-mgmt
    ONBOOT=yes
    IPADDR=172.21.12.163
    NETMASK=255.255.255.0
    GATEWAY=172.21.12.1

#ifup br-mgmt
#ovs-vsctl set port br-mgmt tag=12
以上完成基础配置

配置overlay网络
#ovs-vsctl add-br ovs-vxlan
添加一个命名空间
#ip netns add ns-ser
添加一个veth口,连接ovs及namespace
#ip link add name veth1 type veth peer name veth1p
#ip link set dev veth1 netns ns-ser
#ovs-vsctl add-port ovs-vxlan veth1p

#ip link set veth1p up
#ip link set ovs-vxlan up

#ip netns exec ns-ser ip link set veth1 up
设置VPC IP
#ip netns exec ns-ser ip addr add 192.168.10.11/24 dev veth1

设置vxlan tunnel,其中vni=222,添加vxlan tunnel 对端的endpoint:172.21.12.8
#ovs-vsctl add-port ovs-vxlan vxlan-tun -- set interface vxlan-tun type=vxlan options:remote_ip=172.21.12.8 options:key=222

Note,如果有防火墙,需要放开udp 4789端口:

#iptables -I INPUT -p udp --dport 4789 -j ACCEPT

测试:

SERVER 1上抓包:

#tcpdump -i enp2s0f0 udp

SERVER 2,ping:

# ip netns exe ns-ser ping 192.168.10.11
PING 192.168.10.11 (192.168.10.11) 56(84) bytes of data.
64 bytes from 192.168.10.11: icmp_seq=1 ttl=64 time=5.74 ms
64 bytes from 192.168.10.11: icmp_seq=2 ttl=64 time=1.53 ms
64 bytes from 192.168.10.11: icmp_seq=3 ttl=64 time=1.10 ms
64 bytes from 192.168.10.11: icmp_seq=4 ttl=64 time=1.47 ms

SERVER 1抓包结果如下,可以看到vxlan的包,其中vni:222:

19:41:42.399714 IP 172.21.12.163.41764 > 172.21.12.8.4789: VXLAN, flags [I] (0x08), vni 222
IP 192.168.10.12 > 192.168.10.11: ICMP echo request, id 11644, seq 1, length 64
19:41:42.400310 IP 172.21.12.8.39683 > 172.21.12.163.4789: VXLAN, flags [I] (0x08), vni 222
IP 192.168.10.11 > 192.168.10.12: ICMP echo reply, id 11644, seq 1, length 64
19:41:43.397934 IP 172.21.12.163.41764 > 172.21.12.8.4789: VXLAN, flags [I] (0x08), vni 222
IP 192.168.10.12 > 192.168.10.11: ICMP echo request, id 11644, seq 2, length 64
19:41:44.399117 IP 172.21.12.163.41764 > 172.21.12.8.4789: VXLAN, flags [I] (0x08), vni 222
IP 192.168.10.12 > 192.168.10.11: ICMP echo request, id 11644, seq 3, length 64

相关文章

  • 基于NEUTRON VXLAN网络实践01-VPC实现

    在文章介绍了VXLAN机制,同时在VXLAN OVS实践基于ovs手动构建了一个overlay网络。同时,在Neu...

  • VXLAN OVS实践

    在文章介绍了VXLAN的原理。本文介绍,如何基于OVS构建一个VXLAN的VPC。后续我们将基于Openstack...

  • OVS-各版本关键功能

    OVS 1.0 GRE tunneling OVS 1.1 Qos OVS 1.10 VXLAN OVS 2.2 ...

  • vpp vs ovs

    vpp 和 ovs 类似,都是sdn方案,也都支持vpc,比如基于vxlan实现。 vpp的性能比原生ovs性能好...

  • openvswitch vxlan 源码分析

    ovs对于vxlan的支持依赖datapath的类型,对于kernel space datapath来说,创建vx...

  • OpenStack OVS GRE/VXLAN

    OpenStackOVSGRE/VXLAN网络 学习或者使用OpenStack普遍有这样的现象:50%的时间花费在...

  • OVS+Linux Vxlan组网

    背景 因为科研需要做些小实验,涉及到交换机的网口数据的镜像转发。之前疫情在家使用一台本地虚拟机搭建OVS并作为KV...

  • v 版本 openstack 问题

    ovn fip mtu限制为1442 大包不通,非ovn无该限制,ovs vxlan 测试过 9000 巨包完全可以通。

  • Neutron学习与实践

    azeqjz OpenStack: Neutron学习与实践 Neutron学习 例子:虚拟机使用VXLAN内部网...

  • 最全 VxLAN 知识详解

    本文介绍了什么是VXLAN,以及VXLAN的基本概念和工作原理。 什么是VXLAN VXLAN(Virtual e...

网友评论

      本文标题:VXLAN OVS实践

      本文链接:https://www.haomeiwen.com/subject/tmpbvctx.html