VXLAN配置示例
組網(wǎng)需求
如下圖所示,企業(yè)的服務(wù)器位于不同的位置,Server1和Server3屬于相同的網(wǎng)段,Server2和Server4屬于相同的網(wǎng)段。現(xiàn)需要通過VXLAN隧道實現(xiàn)相同網(wǎng)段的服務(wù)器之間二層互通,不同網(wǎng)段的服務(wù)器之間三層互通。
數(shù)據(jù)規(guī)劃
?BGP EVPN相關(guān)數(shù)據(jù)
VPN實例相關(guān)數(shù)據(jù)
操作步驟
1.VTEP1、VTEP2和VTEP3配置路由協(xié)議,實現(xiàn)VTEP1、VTEP2和VTEP3之間Loopback接口的IP地址互通。
# 配置VTEP2如下:
[VTEP2] interface loopback 1
[VTEP2-LoopBack1] ip address 10.2.2.2 32
[VTEP2-LoopBack1] quit
[VTEP2] interface gigabitethernet 1/0/1
[VTEP2-GigabitEthernet1/0/1]undo portswitch
[VTEP2-GigabitEthernet1/0/1]ip address 192.168.1.1 24
[VTEP2-GigabitEthernet1/0/1]quit
[VTEP2] ospf router-id 10.2.2.2
[VTEP2-ospf-1] area 0
[VTEP2-ospf-1-area-0.0.0.0]network 10.2.2.2 0.0.0.0
[VTEP2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[VTEP2-ospf-1-area-0.0.0.0]quit
[VTEP2-ospf-1] quit
VTEP1和VTEP3的配置與VTEP2類似。
2.分別在Switch2、Switch3上進行VLAN接入的配置,在VTEP2、VTEP3上配置VXLAN業(yè)務(wù)接入點
# 分別在Switch2、Switch3上進行VLAN接入的配置。
配置Switch2配置如下:
[Switch2] vlan batch 10 20
[Switch2] interface gigabitethernet 1/0/2
[Switch2-GigabitEthernet1/0/2]port link-type access
[Switch2-GigabitEthernet1/0/2]port default vlan 10
[Switch2-GigabitEthernet1/0/2]quit
[Switch2] interface gigabitethernet 1/0/3
[Switch2-GigabitEthernet1/0/3]port link-type access
[Switch2-GigabitEthernet1/0/3]port default vlan 20
[Switch2-GigabitEthernet1/0/3]quit
[Switch2] interface gigabitethernet 1/0/1
[Switch2-GigabitEthernet1/0/1]port link-type trunk
[Switch2-GigabitEthernet1/0/1]port trunk allow-pass vlan 10 20
[Switch2-GigabitEthernet1/0/1]quit
Switch3的配置與Switch2配置一樣。
# 在VTEP2、VTEP3上配置VXLAN業(yè)務(wù)接入點。
VTEP2配置如下:
[VTEP2] bridge-domain 10
[VTEP2-bd10] quit
[VTEP2] bridge-domain 20
[VTEP2-bd20] quit
[VTEP2] vcmp role silent
[VTEP2] interface gigabitethernet 1/0/2
[VTEP2-GigabitEthernet1/0/2] port link-type trunk
[VTEP2-GigabitEthernet1/0/2] quit
[VTEP2] interface gigabitethernet 1/0/2.1 mode l2
[VTEP2-GigabitEthernet1/0/2.1] encapsulation dot1q vid 10
[VTEP2-GigabitEthernet1/0/2.1] bridge-domain 10
[VTEP2-GigabitEthernet1/0/2.1] quit
[VTEP2] interface gigabitethernet 1/0/2.2 mode l2
[VTEP2-GigabitEthernet1/0/2.2] encapsulation dot1q vid 20
[VTEP2-GigabitEthernet1/0/2.2] bridge-domain 20
[VTEP2-GigabitEthernet1/0/2.2] quit
VTEP3的配置與VTEP2配置相同。
3.分別在VTEP2、VTEP3上配置EVPN實例并綁定BD域。
EVPN實例可以用來管理接收和發(fā)布EVPN路由。在通過BGP EVPN部署VXLAN網(wǎng)絡(luò)的場景中,需要創(chuàng)建EVPN實例,通過BGP路由協(xié)議在EVPN實例間進行路由的傳遞。
配置VTEP2如下:
[VTEP2] evpn vpn-instance evpn10 bd-mode?
[VTEP2-evpn-instance-evpn10] route-distinguisher 1:10
[VTEP2-evpn-instance-evpn10] vpn-target 10:1 both
[VTEP2-evpn-instance-evpn10] vpn-target 1:100 export-extcommunity
[VTEP2-evpn-instance-evpn10] quit
[VTEP2] bridge-domain 10
[VTEP2-bd10] vxlan vni 10
[VTEP2-bd10] evpn binding vpn-instance evpn10
[VTEP2-bd10] quit
[VTEP2] evpn vpn-instance evpn20 bd-mode
[VTEP2-evpn-instance-evpn20] route-distinguisher 1:20
[VTEP2-evpn-instance-evpn20] vpn-target 20:1 both
[VTEP2-evpn-instance-evpn20] vpn-target 1:100 export-extcommunity
[VTEP2-evpn-instance-evpn20] quit
[VTEP2] bridge-domain 20
[VTEP2-bd20] vxlan vni 20
[VTEP2-bd20] evpn binding vpn-instance evpn20
[VTEP2-bd20] quit
VTEP3的配置中,除RD值需改成VTEP3 EVPN實例中RD規(guī)劃值外,其他配置與VTEP2配置一樣。
4.在VTEP1、VTEP2、VTEP3上配置VPN實例,并在VTEP2、VTEP3配置VPN實例綁定VBDIF接口
# 配置VTEP1
[VTEP1] ip vpn-instance vpn1
[VTEP1-vpn-instance-vpn1]ipv4-family
[VTEP1-vpn-instance-vpn1-af-ipv4]route-distinguisher 1:100
[VTEP1-vpn-instance-vpn1-af-ipv4]vpn-target 1:100 both evpn
[VTEP1-vpn-instance-vpn1-af-ipv4]quit
[VTEP1-vpn-instance-vpn1]vxlan vni 100
[VTEP1-vpn-instance-vpn1]quit
# 配置VTEP2
[VTEP2] ip vpn-instance vpn1
[VTEP2-vpn-instance-vpn1]ipv4-family
[VTEP2-vpn-instance-vpn1-af-ipv4]route-distinguisher 2:100
[VTEP2-vpn-instance-vpn1-af-ipv4]vpn-target 1:100 both evpn
[VTEP2-vpn-instance-vpn1-af-ipv4]quit
[VTEP2-vpn-instance-vpn1]vxlan vni 100
[VTEP2-vpn-instance-vpn1]quit
[VTEP2] interface vbdif 10
[VTEP2-Vbdif10] ip binding vpn-instance vpn1
[VTEP2-Vbdif10] quit
[VTEP2] interface vbdif 20
[VTEP2-Vbdif20] ip binding vpn-instance vpn1
[VTEP2-Vbdif20] quit
VTEP3的配置中RD值需改成VTEP3 VPN實例中RD規(guī)劃值外,其他配置與VTEP2配置一樣。
5.配置VTEP1、VTEP2、VTEP3之間的BGP EVPN對等體關(guān)系。通過在VXLAN網(wǎng)關(guān)之間配置BGP EVPN對等體關(guān)系可以使不同網(wǎng)關(guān)相互發(fā)送EVPN路由。
# 配置VTEP2。
[VTEP2] bgp 100
[VTEP2-bgp] router-id 10.2.2.2
[VTEP2-bgp] peer 10.1.1.1 as-number 100
[VTEP2-bgp] peer 10.1.1.1 connect-interface LoopBack1
[VTEP2-bgp] peer 10.3.3.3 as-number 100
[VTEP2-bgp] peer 10.3.3.3 connect-interface LoopBack1
[VTEP2-bgp] l2vpn-family evpn
[VTEP2-bgp-af-evpn]peer 10.1.1.1 enable
[VTEP2-bgp-af-evpn]peer 10.1.1.1 advertise irb
[VTEP2-bgp-af-evpn]peer 10.3.3.3 enable
[VTEP2-bgp-af-evpn]peer 10.3.3.3 advertise irb
[VTEP2-bgp-af-evpn]quit
[VTEP2-bgp] ipv4-family vpn-instance vpn1
[VTEP2-bgp-vpn1] advertise l2vpn evpn? //使能VPN實例向BGP-EVPN地址族發(fā)布IP路由功能,使VPN實例收集的路由可以發(fā)送給EVPN地址族,然后通過EVPN對等體關(guān)系發(fā)送給遠端VTEP設(shè)備。
[VTEP2-bgp-vpn1] import-route direct
[VTEP2-bgp-vpn1] quit
[VTEP2-bgp] quit
VTEP1和VTEP3的配置與VTEP2類似。
6.在VTEP1、VTEP2、VTEP3上配置VXLAN隧道目的端地址
# 配置VTEP1。
[VTEP1] interface nve 1
[VTEP1-Nve1] source 10.1.1.1
[VTEP1-Nve1] quit
# 配置VTEP2。
[VTEP2] interface nve 1
[VTEP2-Nve1] source 10.2.2.2
[VTEP2-Nve1] vni 10 head-end peer-list protocol bgp??//指定動態(tài)建立VXLAN二層隧道的BGP路由協(xié)議
[VTEP2-Nve1] vni 20 head-end peer-list protocol bgp
[VTEP2-Nve1] quit
# 配置VTEP3。
[VTEP3] interface nve 1
[VTEP3-Nve1] source 10.3.3.3
[VTEP3-Nve1] vni 10 head-end peer-list protocol bgp
[VTEP3-Nve1] vni 20 head-end peer-list protocol bgp
[VTEP3-Nve1] quit
7.在VTEP2、VTEP3上配置VXLAN分布式網(wǎng)關(guān)
# 配置VTEP2。
[VTEP2] interface vbdif 10
[VTEP2-Vbdif10] ip address 192.168.10.1 24
[VTEP2-Vbdif10] arp distribute-gateway enable
[VTEP2-Vbdif10] arp collect host enable??//為了抑制ARP廣播請求報文給網(wǎng)絡(luò)帶來的廣播風(fēng)暴,可在VXLAN二層網(wǎng)關(guān)設(shè)備上使能ARP廣播抑制功能。但是,ARP廣播抑制功能的實現(xiàn)依賴于三層網(wǎng)關(guān)上的主機信息表(包括主機IP地址、MAC地址、VTEP地址和VNI ID)。
為了使二層網(wǎng)關(guān)能夠獲取主機信息表,需要在VBDIF接口視圖下執(zhí)行該命令,使能BGP EVPN進行主機信息搜集的功能。
[VTEP2-Vbdif10] mac-address 0000-5e00-0101
[VTEP2-Vbdif10] quit
[VTEP2] interface vbdif 20
[VTEP2-Vbdif20] ip address 192.168.20.1 24
[VTEP2-Vbdif20] arp distribute-gateway enable
[VTEP2-Vbdif20] arp collect host enable
[VTEP2-Vbdif20] mac-address 0000-5e00-0102
[VTEP2-Vbdif20] quit
# 配置VTEP3。
[VTEP3] interface vbdif 10
[VTEP3-Vbdif10] ip address 192.168.10.1 24
[VTEP3-Vbdif10] arp distribute-gateway enable
[VTEP3-Vbdif10] arp collect host enable
[VTEP3-Vbdif10] mac-address 0000-5e00-0101
[VTEP3-Vbdif10] quit
[VTEP3] interface vbdif 20
[VTEP3-Vbdif20] ip address 192.168.20.1 24
[VTEP3-Vbdif20] arp distribute-gateway enable
[VTEP3-Vbdif20] arp collect host enable
[VTEP3-Vbdif20] mac-address 0000-5e00-0102
[VTEP3-Vbdif20] quit
8.在VTEP1配置缺省路由,并引入BGP
# 配置VTEP1。
[VTEP1] ip route-static vpn-instance vpn1 0.0.0.0 0 NULL0
[VTEP1] bgp 100
[VTEP1-bgp] ipv4-family vpn-instance vpn1
[VTEP1-bgp-vpn1] import-route static
[VTEP1-bgp-vpn1] default-route imported
[VTEP1] quit
9.驗證配置結(jié)果
#在VTEP1、VTEP2、VTEP3上執(zhí)行命令display vxlan vni可查看到VNI的狀態(tài)是Up;以VTEP2顯示為例。
#執(zhí)行命令display vxlan tunnel可查看到VXLAN隧道的信息。以VTEP2顯示為例。
#相同網(wǎng)段用戶之間可以二層互通。以Server1上的VM1 ping Server3上的VM1的顯示為例。
# 不同網(wǎng)段用戶之間可以三層互通。以Server1上的VM1 ping Server4上的VM1的顯示為例。
10.驗證虛擬機遷移結(jié)果
以Server1上的VM1(IP地址:192.168.10.10)遷移到Server3為例,比對遷移前后VTEP2和VTEP3的ARP表項,以及遷移前后VTEP1的路由表來驗證遷移結(jié)果。
遷移前:
# 查看VTEP1上VPN實例vpn1的路由表。
# 查看VTEP2上VPN實例vpn1的ARP表。
# 查看VTEP3上VPN實例vpn1的ARP表。
遷移后:
# 查看VTEP1上VPN實例vpn1的路由表。
# 查看VTEP2上VPN實例vpn1的ARP表。
# 查看VTEP3上VPN實例vpn1的ARP表。
通過對比可以發(fā)現(xiàn)遷移后虛擬機在VTEP2的ARP表項被刪除,并被VTEP3重新獲得,VTEP1關(guān)于虛擬機的主機路由也從VTEP2切換到VTEP3,保證了遷移后網(wǎng)絡(luò)的互通。
總結(jié)
- 上一篇: eCos编译Synthethic Tar
- 下一篇: 零基础该怎样开始学编程?