实验摘要:
CE2是PC1和PC2的网关设备,CE3是PC3和PC4的网关设备 ,对VXLAN数据进行封装。CE1作为CE2和CE3的反射器,只对VXLAN数据进行转发。CE2和CE3的网关IP地址是一样的,因为要实现虚拟机的热迁移。
使用EVPN的方式动态的建立VXLAN分布式网关。
实现分布式跨子网通信相对于同子网通信,就多配置了一个三层VNI和EVPN实例。
本端的ERT要和对端的IRT一样来实现同子网互访,本端ERT和对端eIRT一样实现跨子网互访。
最后实现:
PC1和PC2本地跨子网通信,PC3和PC4本地跨子网通信,
PC1和PC3同子网通信,PC2和PC4同子网通信,
PC1和PC4跨子网通信,PC2和PC3跨子网通信。
实验拓扑:
配置命令:
CE2:
#
sysname ce2
#
evpn-overlay enable
#
ip vpn-instance A
ipv4-family
route-distinguisher 1:100
vpn-target 1:100 evpn
vxlan vni 1
#
bridge-domain 10
vxlan vni 10
evpn
route-distinguisher 1:1
vpn-target 1:1 both
vpn-target 1:100 export-extcommunity
#
bridge-domain 20
vxlan vni 20
evpn
route-distinguisher 1:2
vpn-target 1:2 both
vpn-target 1:100 export-extcommunity
#
interface Vbdif10
ip binding vpn-instance A
ip address 192.168.1.254 255.255.255.0
arp distribute-gateway enable
arp collect host enable
#
interface Vbdif20
ip binding vpn-instance A
ip address 192.168.2.254 255.255.255.0
arp distribute-gateway enable
arp collect host enable
#
interface GE1/0/0
undo portswitch
undo shutdown
ip address 10.1.12.2 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 GE1/0/1.20 mode l2
encapsulation dot1q vid 20
bridge-domain 20
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
interface Nve1
source 2.2.2.2
vni 10 head-end peer-list protocol bgp
vni 20 head-end peer-list protocol bgp
#
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
#
l2vpn-family evpn
policy vpn-target
peer 1.1.1.1 enable
peer 1.1.1.1 advertise irb
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.1.12.2 0.0.0.0
CE3:
#
sysname ce3
#
evpn-overlay enable
#
ip vpn-instance A
ipv4-family
route-distinguisher 1:100
vpn-target 1:100 evpn
vxlan vni 2
#
bridge-domain 10
vxlan vni 10
evpn
route-distinguisher 1:1
vpn-target 1:1 both
vpn-target 1:100 export-extcommunity
#
bridge-domain 20
vxlan vni 20
evpn
route-distinguisher 1:2
vpn-target 1:2 both
vpn-target 1:100 export-extcommunity
#
interface Vbdif10
ip binding vpn-instance A
ip address 192.168.1.254 255.255.255.0
arp distribute-gateway enable
arp collect host enable
#
interface Vbdif20
ip binding vpn-instance A
ip address 192.168.2.254 255.255.255.0
arp distribute-gateway enable
arp collect host enable
#
interface GE1/0/0
undo portswitch
undo shutdown
ip address 10.1.13.3 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 GE1/0/1.20 mode l2
encapsulation dot1q vid 20
bridge-domain 20
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
interface Nve1
source 3.3.3.3
vni 10 head-end peer-list protocol bgp
vni 20 head-end peer-list protocol bgp
#
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
#
l2vpn-family evpn
policy vpn-target
peer 1.1.1.1 enable
peer 1.1.1.1 advertise irb
#
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.1.13.3 0.0.0.0
CE1:
#
sysname ce1
#
evpn-overlay enable
#
interface GE1/0/0
undo portswitch
undo shutdown
ip address 10.1.12.1 255.255.255.0
#
interface GE1/0/1
undo portswitch
undo shutdown
ip address 10.1.13.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
peer 2.2.2.2 reflect-client
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface LoopBack0
peer 3.3.3.3 reflect-client
#
l2vpn-family evpn
undo policy vpn-target
peer 2.2.2.2 enable
peer 2.2.2.2 advertise irb
peer 2.2.2.2 reflect-client
peer 3.3.3.3 enable
peer 3.3.3.3 advertise irb
peer 3.3.3.3 reflect-client
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.1.12.1 0.0.0.0
network 10.1.13.1 0.0.0.0
SW1:
#
sysname sw1
#
vlan batch 10 20
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
SW2:
#
sysname sw2
#
vlan batch 10 20
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
实验效果: