Loading

华为VXLAN配置

一、网络架构图

image-20220410111637582

二、基于网络架构图分析VXLAN

​ VXLAN的作用是什么,他有点像GRE隧道。GRE隧道的作用可以帮助京某公司内部与淘某公司之间内网不同网段的私有IP进行通信,其原理就是将源私有和目标私有IP封装到出口网关IP的后面,如果中间跨域多个不同网段,其他设备查看数据包的时候只会查看网关IP的源目,而不会再往后面拆开看私有IP的源目录,所以可以顺利通过路由到达目的网关,目的网关接收到后就会拆开数据包头部,查看网关IP源目和私有IP的源目,目的网关在根据私有源目将数据转发到内部对应的主机。

​ GRE有一个缺点,那就是他不能将两个不同网络的内部同网段IP进行转发,因为在同网段的情况下,交换机会认为还是在内部网络,就会发送ARP报文。ARP只能在内网中传输,不能跨局域网,所以GRE就无法做到这一点,而我们VXLAN就可以做到。
特别注意一下,普通的三层交换无法实现VXLAN,得使用CE交换机

VXLAN原理及实现步骤:

	VXLAN的原理可以结合架构图分析VXLAN,假设京某公司的PC1想要ping淘某公司的PC5,这个时候PC1的ICMP包会到SW1交换机中,SW1交换的GE0/0/2口设置为了VLAN10,所以会将数据包封装上tag10的帧。
	SW1此时会查看自己的ARP表,发现并么有这个【192.168.1.1 源MAC 192.168.1.2 目MAC】这张对应表,所以就会发送未知的ARP【192.168.1.1 源MAC 192.168.1.2 FF-FF-FF-FF-FF-FF-FF-FF】,然后将ARP包扩散到其他同VLAN接入的主机包括CE1。
	CE1收到ARP包后如果配置了VXLAN,CE1就会将源有的tag10给抹掉,打上vni,CE1就会查看头端复制列表,这个列表中对应了转发规则,如果查到了对应关系,他就会将ARP转发给CE2,ARP封装成【源IP 10.0.0.11 目IP 10.0.0.12 源CE1MAC 目CE2MAC UDP VXLANVNID 私源IP 192.168.1.1 私源PC1MAC 目源IP 192.168.1.2 FF-FF-FF-FF-FF-FF-FF-FF】转发给CE2。
	CE2收到CE1发过来的数据包后,会拆开数据包,会根据GE1/0/1的子接口上绑定的vni来判断,如果vni标签相同,则交给对应绑定的子接口来转发,子接口在将vni标签撕掉,然后转发给SW2。
	SW2收到的数据包结构就变成了【源IP 192.168.1.1 目IP192.168.1.2 源MACPC1 目MAC FF-FF-FF-FF-FF-FF-FF-FF tag 10】,SW2就会将这个数据包放在VLAN10的接口上进行泛红,转发给其他主机后就会将tag帧剥离。
	最总PC5收到这个数据包,发现目IP是访问它的,他就会发送APR相应包【源IP 192.168.1.2 目的IP 192.168.1.1 源MACPC2 目的MACPC1】发送给SW2,SW2在打上tag 10,然后后面的步骤就和前面一样了。

VXLAN用于解决的问题:

	有人可能会问题,既然VXLAN可以根据分析的原理来实现,那为什么不直接在vlan的基础上去开发,而是重新整了一个vxlan呢?,原因是vlan的vid少,只有4096个,假设内网有超过4096个部门需要,那么vlan就不够用了,而我们的vxlan将近有160多万的vni。
	特别是我们公有云,公有云在做分布式架构时,云主机不可能都分配在一个服务器或者一个局域网内,需要将他们的分散到不同计算节点服务器上,那如果我们买了10个云主机,我需要它们10个云主机内网需要互通怎么办?这时候vni就起作用了,直接通过封装的形式搞定。
	有了vxlan,就可以让不同网络的同网段内网像是连接在同一个叫交换机一样的感觉。

VXLAN的数据包为什么还加了UDP协议

	可以取观察一下抓包分析,我们的源IP、目的IP、协议号,都是固定的不会变,假设流量除了外网,外网中出现负载均衡的情况,这个数据的这些全部都是固定的,那么基于什么来进行负载均衡呢?这样就会导致所有数据往一边走。如果我们加入了UDP,UDP源端口是通过head随机生成的,目的端口是固定的,这个时候负载均衡就可以根据UDP源端口进行负载均衡。

三、VXLAN实验

SW-1

stp disable
vlan batch 10 20 30 40
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan all
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/4
 port link-type access
 port default vlan 30
#
interface GigabitEthernet0/0/5
 port link-type access
 port default vlan 40

SW-2

stp disable
vlan batch 10 20 30 40
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan all
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/4
 port link-type access
 port default vlan 30
#
interface GigabitEthernet0/0/5
 port link-type access
 port default vlan 40

CE1

###################保存配置####################
system-view immediately
#它需要在用户模式下敲,CE你配置了东西他不会立即生效,需要使用commit保存配置,而这条命令的作用就是一直保存配置



###################vxlan配置###################
bridge-domain 10
 vxlan vni 10
#创建桥接域,一个桥接域等于一个局域网,桥接域可以和vni以及vid不一样
#在桥接域中绑定vni 10,这个vni 10可以和桥接域的id以及vid不一样
#
interface GE1/0/0
 undo portswitch
 #关闭交换功能,变成路由功能
 undo shutdown
 ip address 10.0.0.11 255.255.255.0
#
interface GE1/0/1
 undo shutdown
#
interface GE1/0/1.10 mode l2
#配置子接口,子接口模式需要改成l2
 encapsulation dot1q vid 10
#封装dot1q协议,vid必须和vlan的id一样
 bridge-domain 10
#绑定桥接域10
#
interface Nve1
#创建nve接口,类似GRE隧道接口差不多的作用
 source 10.0.0.11
 #指定源地址《指公网IP》
 vni 10 head-end peer-list 10.0.0.12
 #指定目的地址《指公网IP》



###################vxlan状态查看###################
[CE1]display vxlan tunnel 
Number of vxlan tunnel : 1
Tunnel ID   Source                Destination           State  Type     Uptime
--------------------------------------------------------------------------------
---
4026531842  10.0.0.11             10.0.0.12             up     static   00:17:44
#可以看到State是up的就可以了

[CE1]display vxlan peer 
Number of peers : 1
Vni ID    Source                  Destination            Type      Out Vni ID
-------------------------------------------------------------------------------
10        10.0.0.11               10.0.0.12              static    10
#这个就是前面讲的头端复制列表,他会将未知也就是目的MAC不知道的帧根据这个列表进行转发

CE2:

###################保存配置####################
#和CE1配置其实基本一致,只不过是nve接口的源目IP调换了一下
system-view immediately
#在用户模式敲
###################vxlan配置###################
bridge-domain 10
 vxlan vni 10
#
interface GE1/0/0
 undo portswitch
 undo shutdown
 ip address 10.0.0.12 255.255.255.0
#
interface GE1/0/1
 undo shutdown
#
interface GE1/0/1.10 mode l2
 encapsulation dot1q vid 10
 bridge-domain 10
#
interface Nve1
 source 10.0.0.12
 vni 10 head-end peer-list 10.0.0.11

四、VXLAN实验结果测试

image-20220410135157033

配置同IP,不需要配置网关,因为我们是一个VLAN一个局域网的形式来访问的

image-20220410135235179

能够ping通实验成功

五、抓包分析

image-20220410140007083

posted @ 2022-04-10 14:20  忽如一夜春风来~  阅读(1541)  评论(0编辑  收藏  举报