EVPN Multihoming Configuration on Asterfusion Virtual SONiC Switch (vAsterNOS)
- 1 Purpose
- 2 vAsterNOS introduction
- 3 EVPN Multihoming introduction
- 4 EVPN Multihoming typical scenario configuration
- 4.1 Requirements
- 4.2 Topology
- 4.3 Test environment
- 4.4 Device interconnection IP
- 4.5 Preparation before testing
- 4.6 Configuration steps
- 4.7 Verify network configuration
- 5 Conclusion
- Asterfusion CX-N data center switches as the links below
1 Purpose
This article mainly introduces the configuration implementation of EVPN Multihoming scenarios on Asterfusion virtual SONiC switch (vAsterNOS). By reading this article, users can quickly understand and master the configuration method of EVPN Multihoming on Asterfusion SONiC switch.
2 vAsterNOS introduction
vAsterNOS is a virtual operating system for sonic switches launched by Asterfusion. It inherits all the software features of AsterNOS and can run in network virtualization software such as GNS3 and EVE-NG. Users can better understand the characteristics of Asterfusion enterprise SONiC switches by using vAsterNOS, thereby providing strong support for building an efficient and stable network.
For information about setting up the usage environment of vAsterNOS, please read:
Asterfusion Virtual SONiC Switch Instructions
3 EVPN Multihoming introduction
EVPN Multihoming refers to a technology that uses multiple physical links and IP addresses to achieve redundancy and load balancing in a data center network built using Ethernet VPN (EVPN) technology. In EVPN Multihoming, each user can use multiple physical links to connect to the data center network, and these links can come from different switches. When a link or device fails, it can automatically switch to a backup link or device to ensure the availability of the data center network. You can also use load balancing to distribute network traffic to multiple links or addresses to improve network performance and efficiency. Multihoming technical standards can refer to RFC7432 and RFC4116, which have good compatibility.
4 EVPN Multihoming typical scenario configuration
4.1 Requirements
The user’s data center has a 2+4 spine-leaf network. Now it is necessary to deploy 3 servers in this network. It is required to use multihoming deployment method to ensure the high reliability of the network. For specific networking conditions, see Chapter 4.2 Topology.
4.2 Topology
4.3 Test environment
This configuration example is implemented using Asterfusion virtual SONiC switch (vAsterNOS), so a virtual environment running vAsterNOS is required. For specific environment construction, please refer to the relevant links in Chapter 2 of this article.
4.4 Device interconnection IP
|
4.5 Preparation before testing
Make sure that each vAsterNOS and server device is online correctly and connected correctly according to the topology.
4.6 Configuration steps
Step 1
Modify the mac addresses of 6 switches. Since the initial mac addresses are the same, you must modify the mac addresses before configuring the service. Only then can functions such as EVPN VXLAN operate normally.
sonic# system bash
admin@sonic:~$ sudo vi /etc/sonic/config_db.json
Modify the following location
Reload the configuration and exit system bash.
admin@sonic:~$ sudo config reload -yf
admin@sonic:~$ exit
Step 2
Configure the interconnection interfaces of each switch device.
Spine1
sonic# configure terminal
sonic(config)# interface ethernet 0/1
sonic(config-if-0/1)# ip address 172.16.11.1/24
sonic(config-if-0/1)# interface ethernet 0/2
sonic(config-if-0/2)# ip address 172.16.12.1/24
sonic(config-if-0/2)# interface ethernet 0/3
sonic(config-if-0/3)# ip address 172.16.13.1/24
sonic(config-if-0/3)# interface ethernet 0/4
sonic(config-if-0/4)# ip address 172.16.14.1/24
sonic(config-if-0/4)# exit
sonic(config)# interface loopback 0
sonic(config-loif-0)# ip address 10.1.0.210/32
sonic(config-loif-0)#exit
Spine2
sonic# configure terminal
sonic(config)# interface ethernet 0/1
sonic(config-if-0/1)# ip address 172.16.15.1/24
sonic(config-if-0/1)# interface ethernet 0/2
sonic(config-if-0/2)# ip address 172.16.16.1/24
sonic(config-if-0/2)# interface ethernet 0/3
sonic(config-if-0/3)# ip address 172.16.17.1/24
sonic(config-if-0/3)# interface ethernet 0/4
sonic(config-if-0/4)# ip address 172.16.18.1/24
sonic(config-if-0/4)# q
sonic(config)# interface loopback 0
sonic(config-loif-0)# ip address 10.1.0.211/32
sonic(config-loif-0)#exit
Leaf1
sonic# configure terminal
sonic(config)# interface ethernet 0/3
sonic(config-if-0/3)# ip address 172.16.11.2/24
sonic(config-if-0/3)# interface ethernet 0/4
sonic(config-if-0/4)# ip address 172.16.15.2/24
sonic(config-if-0/4)# exit
sonic(config)# interface loopback 0
sonic(config-loif-0)# ip address 10.1.0.212/32
Leaf2
sonic# configure terminal
sonic(config)# interface ethernet 0/3
sonic(config-if-0/3)# ip address 172.16.12.2/24
sonic(config-if-0/3)# interface ethernet 0/4
sonic(config-if-0/4)# ip address 172.16.16.2/24
sonic(config-if-0/4)# exit
sonic(config)# interface loopback 0
sonic(config-loif-0)# ip address 10.1.0.213/32
Leaf3
sonic# configure terminal
sonic(config)# interface ethernet 0/2
sonic(config-if-0/2)# ip address 172.16.13.2/24
sonic(config-if-0/2)# interface ethernet 0/3
sonic(config-if-0/3)# ip address 172.16.17.2/24
sonic(config-if-0/3)# exit
sonic(config)# interface loopback 0
sonic(config-loif-0)# ip address 10.1.0.214/32
Leaf4
sonic# configure terminal
sonic(config)# interface ethernet 0/2
sonic(config-if-0/2)# ip address 172.16.14.2/24
sonic(config-if-0/2)# interface ethernet 0/3
sonic(config-if-0/3)# ip address 172.16.18.2/24
sonic(config-if-0/3)# exit
sonic(config)# interface loopback 0
sonic(config-loif-0)# ip address 10.1.0.215/32
Step 3
Configure the aggregation port of the leaf device
Leaf1
sonic(config)# interface link-aggregation 5
sonic(config-lagif-5)# exit
sonic(config)# interface ethernet 0/1
sonic(config-if-0/1)# switchport
sonic(config-if-0/1)# link-aggregation-group 5
sonic(config-if-0/1)# exit
sonic(config)# interface link-aggregation 6
sonic(config-lagif-6)# exit
sonic(config)# interface ethernet 0/2
sonic(config-if-0/2)# switchport
sonic(config-if-0/2)# link-aggregation-group 6
sonic(config-if-0/2)# exit
sonic(config)# vlan 100
sonic(config-vlan-100)# vlan 200
sonic(config-vlan-200)# exit
sonic(config)# interface link-aggregation 5
sonic(config-lagif-5)# switchport access vlan 100
sonic(config-lagif-5)# lacp system-id 00:00:01:00:00:01
sonic(config-lagif-5)# exit
sonic(config)# interface link-aggregation 6
sonic(config-lagif-6)# switchport access vlan 200
sonic(config-lagif-6)# lacp system-id 00:00:01:00:00:02
sonic(config-lagif-6)# exit
sonic(config)# vrf 123
sonic(config-vrf)# exit
sonic(config)# interface vlan 100
sonic(config-vlanif-100)# ip address 100.0.0.1/24
sonic(config-vlanif-100)# mac-address 00:11:22:33:44:55
sonic(config-vlanif-100)# vrf 123
sonic(config-vlanif-100)# interface vlan 200
sonic(config-vlanif-200)# ip address 110.0.0.1/24
sonic(config-vlanif-200)# mac-address 00:11:22:33:44:66
sonic(config-vlanif-200)# vrf 123
sonic(config-vlanif-200)# exit
Leaf2
sonic(config)# interface link-aggregation 5
sonic(config-lagif-5)# exit
sonic(config)# interface ethernet 0/1
sonic(config-if-0/1)# switchport
sonic(config-if-0/1)# link-aggregation-group 5
sonic(config-if-0/1)# exit
sonic(config)# interface link-aggregation 6
sonic(config-lagif-6)# exit
sonic(config)# interface ethernet 0/2
sonic(config-if-0/2)# switchport
sonic(config-if-0/2)# link-aggregation-group 6
sonic(config-if-0/2)# exit
sonic(config)# vlan 100
sonic(config-vlan-100)# vlan 200
sonic(config-vlan-200)# exit
sonic(config)# interface link-aggregation 5
sonic(config-lagif-5)# switchport access vlan 100
sonic(config-lagif-5)# lacp system-id 00:00:01:00:00:01
sonic(config-lagif-5)# exit
sonic(config)# interface link-aggregation 6
sonic(config-lagif-6)# switchport access vlan 200
sonic(config-lagif-6)# lacp system-id 00:00:01:00:00:02
sonic(config-lagif-6)# exit
sonic(config)# vrf 123
sonic(config-vrf)# exit
sonic(config)# interface vlan 100
sonic(config-vlanif-100)# ip address 100.0.0.1/24
sonic(config-vlanif-100)# mac-address 00:11:22:33:44:55
sonic(config-vlanif-100)# vrf 123
sonic(config-vlanif-100)# interface vlan 200
sonic(config-vlanif-200)# ip address 110.0.0.1/24
sonic(config-vlanif-200)# mac-address 00:11:22:33:44:66
sonic(config-vlanif-200)# vrf 123
sonic(config-vlanif-200)# exit
Leaf3
sonic(config)# interface link-aggregation 7
sonic(config-lagif-7)# exit
sonic(config)# interface ethernet 0/1
sonic(config-if-0/1)# switchport
sonic(config-if-0/1)# link-aggregation-group 7
sonic(config-if-0/1)# exit
sonic(config)# vlan 300
sonic(config-vlan-300)# exit
sonic(config)# interface link-aggregation 7
sonic(config-lagif-7)# switchport access vlan 300
sonic(config-lagif-7)# lacp system-id 00:00:01:00:00:03
sonic(config-lagif-7)# exit
sonic(config)# vrf 456
sonic(config-vrf)# exit
sonic(config)# interface vlan 300
sonic(config-vlanif-300)# ip address 120.0.0.1/24
sonic(config-vlanif-300)# mac-address 00:11:22:33:44:77
sonic(config-vlanif-300)# vrf 456
sonic(config-vlanif-300)# exit
Leaf4
sonic(config)# interface link-aggregation 7
sonic(config-lagif-7)# exit
sonic(config)# interface ethernet 0/1
sonic(config-if-0/1)# switchport
sonic(config-if-0/1)# link-aggregation-group 7
sonic(config-if-0/1)# exit
sonic(config)# vlan 300
sonic(config-vlan-300)# exit
sonic(config)# interface link-aggregation 7
sonic(config-lagif-7)# switchport access vlan 300
sonic(config-lagif-7)# lacp system-id 00:00:01:00:00:03
sonic(config-lagif-7)# exit
sonic(config)# vrf 456
sonic(config-vrf)# exit
sonic(config)# interface vlan 300
sonic(config-vlanif-300)# ip address 120.0.0.1/24
sonic(config-vlanif-300)# mac-address 00:11:22:33:44:77
sonic(config-vlanif-300)# vrf 456
sonic(config-vlanif-300)# exit
Step 4
Configure BGP
Spine1
sonic(config)# router bgp 65200
sonic(config-router)# bgp router-id 10.1.0.210
sonic(config-router)# no bgp ebgp-requires-policy
sonic(config-router)# neighbor PEER_V4_EBGP peer-group
sonic(config-router)# neighbor 172.16.11.2 remote-as 65202
sonic(config-router)# neighbor 172.16.11.2 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.12.2 remote-as 65203
sonic(config-router)# neighbor 172.16.12.2 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.13.2 remote-as 65204
sonic(config-router)# neighbor 172.16.13.2 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.14.2 remote-as 65205
sonic(config-router)# neighbor 172.16.14.2 peer-group PEER_V4_EBGP
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 10.1.0.210/32
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# redistribute connected
sonic(config-router-af)#exit
sonic(config-router)# address-family l2vpn evpn
sonic(config-router-af)# advertise-all-vni
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)#end
sonic#write
sonic#reload
Spine2
sonic(config)# router bgp 65201
sonic(config-router)# bgp router-id 10.1.0.211
sonic(config-router)# no bgp ebgp-requires-policy
sonic(config-router)# neighbor PEER_V4_EBGP peer-group
sonic(config-router)# neighbor 172.16.15.2 remote-as 65202
sonic(config-router)# neighbor 172.16.15.2 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.16.2 remote-as 65203
sonic(config-router)# neighbor 172.16.16.2 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.17.2 remote-as 65204
sonic(config-router)# neighbor 172.16.17.2 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.18.2 remote-as 65205
sonic(config-router)# neighbor 172.16.18.2 peer-group PEER_V4_EBGP
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 10.1.0.211/32
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# redistribute connected
sonic(config-router-af)#exit
sonic(config-router)# address-family l2vpn evpn
sonic(config-router-af)# advertise-all-vni
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)#end
sonic# write
sonic# reload
Leaf1
sonic(config)# router bgp 65202
sonic(config-router)# bgp router-id 10.1.0.212
sonic(config-router)# no bgp ebgp-requires-policy
sonic(config-router)# neighbor PEER_V4_EBGP peer-group
sonic(config-router)# neighbor 172.16.11.1 remote-as 65200
sonic(config-router)# neighbor 172.16.11.1 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.15.1 remote-as 65201
sonic(config-router)# neighbor 172.16.15.1 peer-group PEER_V4_EBGP
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 10.1.0.212/32
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# redistribute connected
sonic(config-router-af)# exit
sonic(config-router)# address-family l2vpn evpn
sonic(config-router-af)# advertise-all-vni
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)#exit
sonic(config-router)#exit
Leaf2
sonic(config)# router bgp 65203
sonic(config-router)# bgp router-id 10.1.0.213
sonic(config-router)# no bgp ebgp-requires-policy
sonic(config-router)# neighbor PEER_V4_EBGP peer-group
sonic(config-router)# neighbor 172.16.12.1 remote-as 65200
sonic(config-router)# neighbor 172.16.12.1 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.16.1 remote-as 65201
sonic(config-router)# neighbor 172.16.16.1 peer-group PEER_V4_EBGP
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 10.1.0.213/32
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# redistribute connected
sonic(config-router-af)# exit
sonic(config-router)# address-family l2vpn evpn
sonic(config-router-af)# advertise-all-vni
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)#exit
sonic(config-router)#exit
Leaf3
sonic(config)# router bgp 65204
sonic(config-router)# bgp router-id 10.1.0.214
sonic(config-router)# no bgp ebgp-requires-policy
sonic(config-router)# neighbor PEER_V4_EBGP peer-group
sonic(config-router)# neighbor 172.16.13.1 remote-as 65200
sonic(config-router)# neighbor 172.16.13.1 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.17.1 remote-as 65201
sonic(config-router)# neighbor 172.16.17.1 peer-group PEER_V4_EBGP
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 10.1.0.214/32
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# redistribute connected
sonic(config-router-af)# exit
sonic(config-router)# address-family l2vpn evpn
sonic(config-router-af)# advertise-all-vni
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# exit
sonic(config-router)# exit
Leaf4
sonic(config)# router bgp 65205
sonic(config-router)# bgp router-id 10.1.0.215
sonic(config-router)# no bgp ebgp-requires-policy
sonic(config-router)# neighbor PEER_V4_EBGP peer-group
sonic(config-router)# neighbor 172.16.14.1 remote-as 65200
sonic(config-router)# neighbor 172.16.14.1 peer-group PEER_V4_EBGP
sonic(config-router)# neighbor 172.16.18.1 remote-as 65201
sonic(config-router)# neighbor 172.16.18.1 peer-group PEER_V4_EBGP
sonic(config-router)# address-family ipv4 unicast
sonic(config-router-af)# network 10.1.0.215/32
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# redistribute connected
sonic(config-router-af)# exit
sonic(config-router)# address-family l2vpn evpn
sonic(config-router-af)# advertise-all-vni
sonic(config-router-af)# neighbor PEER_V4_EBGP activate
sonic(config-router-af)# exit
sonic(config-router)# exit
Step 5
Configure evpn multihoming
Leaf1
sonic(config)# interface vxlan 0
sonic(config-vxlanif-0)# source 10.1.0.212
sonic(config-vxlanif-0)# exit
sonic(config)# vlan 100
sonic (config-vlan-100)# vni 100
sonic (config-vlan-100)# exit
sonic(config)# vlan 200
sonic (config-vlan-200)# vni 200
sonic (config-vlan-200)# exit
sonic(config)# vrf 123
sonic(config-vrf)# vni 1000
sonic(config-vrf)# exit
sonic(config)# evpn mh redirect-off
sonic(config)# evpn mh mac-holdtime 0
sonic(config)# evpn mh neigh-holdtime 0
sonic(config)# interface ethernet 0/3
sonic(config-if-0/3)# evpn mh uplink
sonic(config-if-0/3)# exit
sonic(config)# interface ethernet 0/4
sonic(config-if-0/4)# evpn mh uplink
sonic(config-if-0/4)# exit
sonic(config)# interface link-aggregation 5
sonic(config-lagif-5)# evpn mh es-id 100
sonic(config-lagif-5)# evpn mh es-sys-mac 00:00:01:00:00:01
sonic(config-lagif-5)# interface link-aggregation 6
sonic(config-lagif-6)# evpn mh es-id 200
sonic(config-lagif-6)# evpn mh es-sys-mac 00:00:01:00:00:02
sonic(config-lagif-6)#end
sonic# write
sonic# reload
Leaf2
sonic(config)# interface vxlan 0
sonic(config-vxlanif-0)# source 10.1.0.213
sonic(config-vxlanif-0)# exit
sonic(config)# vlan 100
sonic (config-vlan-100)# vni 100
sonic (config-vlan-100)# exit
sonic(config)# vlan 200
sonic (config-vlan-200)# vni 200
sonic (config-vlan-200)# exit
sonic(config)# vrf 123
sonic(config-vrf)# vni 1000
sonic(config-vrf)# exit
sonic(config)# evpn mh redirect-off
sonic(config)# evpn mh mac-holdtime 0
sonic(config)# evpn mh neigh-holdtime 0
sonic(config)# interface ethernet 0/3
sonic(config-if-0/3)# evpn mh uplink
sonic(config-if-0/3)# exit
sonic(config)# interface ethernet 0/4
sonic(config-if-0/4)# evpn mh uplink
sonic(config-if-0/4)# exit
sonic(config)# interface link-aggregation 5
sonic(config-lagif-5)# evpn mh es-id 100
sonic(config-lagif-5)# evpn mh es-sys-mac 00:00:01:00:00:01
sonic(config-lagif-5)# interface link-aggregation 6
sonic(config-lagif-6)# evpn mh es-id 200
sonic(config-lagif-6)# evpn mh es-sys-mac 00:00:01:00:00:02
sonic(config-lagif-6)#end
sonic# write
sonic# reload
Leaf3
sonic(config)# interface vxlan 0
sonic(config-vxlanif-0)# source 10.1.0.214
sonic(config-vxlanif-0)# exit
sonic(config)# vlan 300
sonic (config-vlan-300)# vni 300
sonic (config-vlan-300)# exit
sonic(config)# vrf 456
sonic(config-vrf)# vni 1000
sonic(config-vrf)# exit
sonic(config)# evpn mh redirect-off
sonic(config)# evpn mh mac-holdtime 0
sonic(config)# evpn mh neigh-holdtime 0
sonic(config)# interface ethernet 0/2
sonic(config-if-0/2)# evpn mh uplink
sonic(config-if-0/2)# exit
sonic(config)# interface ethernet 0/3
sonic(config-if-0/3)# evpn mh uplink
sonic(config-if-0/3)# exit
sonic(config)# interface link-aggregation 7
sonic(config-lagif-7)# evpn mh es-id 300
sonic(config-lagif-7)# evpn mh es-sys-mac 00:00:01:00:00:03
sonic(config-lagif-7)#end
sonic# write
sonic# reload
Leaf4
sonic(config)# interface vxlan 0
sonic(config-vxlanif-0)# source 10.1.0.215
sonic(config-vxlanif-0)# exit
sonic(config)# vlan 300
sonic (config-vlan-300)# vni 300
sonic (config-vlan-300)# exit
sonic(config)# vrf 456
sonic(config-vrf)# vni 1000
sonic(config-vrf)# exit
sonic(config)# evpn mh redirect-off
sonic(config)# evpn mh mac-holdtime 0
sonic(config)# evpn mh neigh-holdtime 0
sonic(config)# interface ethernet 0/2
sonic(config-if-0/2)# evpn mh uplink
sonic(config-if-0/2)# exit
sonic(config)# interface ethernet 0/3
sonic(config-if-0/3)# evpn mh uplink
sonic(config-if-0/3)# exit
sonic(config)# interface link-aggregation 7
sonic(config-lagif-7)# evpn mh es-id 300
sonic(config-lagif-7)# evpn mh es-sys-mac 00:00:01:00:00:03
sonic(config-lagif-7)#end
sonic# write
sonic# reload
Step 6
Configure bond interfaces of 3 servers
Server-1
#configure bond0
[root@localhost /]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
TYPE=bond
ONBOOT=yes
BONDING_OPTS=”miimon=100 mode=4 lacp_rate=fast xmit_hash_policy=layer3+4 fail_over_mac=1 “
IPADDR=100.0.0.12
NETMASK=255.255.255.0
GATEWAY=100.0.0.1
MASTER=yes
#configure eth0
[root@localhost network-scripts]# vi ifcfg-eth0
DEVICE=”eth0″
BOOTPROTO=none
ONBOOT=”yes”
MASTER=bond0
SLAVE=yes
#configure eth1
[root@localhost network-scripts]# vi ifcfg-eth1
DEVICE=”eth1″
BOOTPROTO=none
ONBOOT=”yes”
MASTER=bond0
SLAVE=yes
Server-2
#configure bond0
[root@localhost /]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
TYPE=bond
ONBOOT=yes
BONDING_OPTS=”miimon=100 mode=4 lacp_rate=fast xmit_hash_policy=layer3+4 fail_over_mac=1 “
IPADDR=110.0.0.12
NETMASK=255.255.255.0
GATEWAY=110.0.0.1
MASTER=yes
#configure eth0
[root@localhost network-scripts]# vi ifcfg-eth0
DEVICE=”eth0″
BOOTPROTO=none
ONBOOT=”yes”
MASTER=bond0
SLAVE=yes
#configure eth1
[root@localhost network-scripts]# vi ifcfg-eth1
DEVICE=”eth1″
BOOTPROTO=none
ONBOOT=”yes”
MASTER=bond0
SLAVE=yes
Server-3
#configure bond0
[root@localhost /]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
TYPE=bond
ONBOOT=yes
BONDING_OPTS=”miimon=100 mode=4 lacp_rate=fast xmit_hash_policy=layer3+4 fail_over_mac=1 “
IPADDR=120.0.0.12
NETMASK=255.255.255.0
GATEWAY=120.0.0.1
MASTER=yes
#configure eth0
[root@localhost network-scripts]# vi ifcfg-eth0
DEVICE=”eth0″
BOOTPROTO=none
ONBOOT=”yes”
MASTER=bond0
SLAVE=yes
#configure eth1
[root@localhost network-scripts]# vi ifcfg-eth1
DEVICE=”eth1″
BOOTPROTO=none
ONBOOT=”yes”
MASTER=bond0
SLAVE=yes
The server interface status after completing the configuration is as follows:
4.7 Verify network configuration
1.Each server can ping each other successfully.
2.Check the bgp status of each switch. taking spine1 and leaf1 as examples:
Spine1
sonic# show bgp summary
Leaf1
sonic# show bgp summary
From the results, we can see that the bgp status of each switch is normal.
3.Check the aggregation port status of each leaf, taking leaf1 and leaf3 as examples:
Leaf1
sonic# show link-aggregation summary
Leaf3
sonic# show link-aggregation summary
It can be seen from the results that the lag port status of each leaf is normal.
4.Check the vxlan tunnels of each leaf, taking leaf1 and leaf3 as examples:
Leaf1
sonic# show vxlan tunnel
Leaf3
sonic# show vxlan tunnel
It can be seen from the results that the status of each leaf vxlan tunnel is normal.
5.Check the evpn multihoming status of each leaf
Leaf1
sonic# show evpn es detail
Leaf2
sonic# show evpn es detail
Leaf3
sonic# show evpn es detail
Leaf4
sonic# show evpn es detail
It can be seen from the results that the status of the four leaves is normal, among which leaf1 and leaf3 are DF devices.
6.Use server1 to ping server3, bring down the ethernet0/1 interface of leaf1, check the DF device status of lag5, and check whether the ping of server1 is interrupted.
sonic(config-if-0/1)# shutdown
sonic# show evpn es detail
From the results, after downing the 0/1 interface, leaf1 of lag5 changes to the non-df state, and leaf2 changes to the df state.And Server1’s ping is not interrupted.
5 Conclusion
In this case, after using vAsterNOS and server device to network and configure the EVPN Multihoming network, the servers can communicate with each other normally, vxlan tunnels can be correctly established between leaves, and related routing also works normally. When one of the server’s access links is disconnected, data will be seamlessly switched to another link to continue transmission, and the DF device switches normally. When the disconnected link is reconnected normally, the DF device will also switch back to the original device, and the data will be transmitted back to the original link. It shows that the EVPN Multihoming function works normally and meets the user’s high network reliability requirements.
Asterfusion CX-N data center switches as the links below
If you have more technical questions, feel free to propose a ticket on our https://help.cloudswit.ch/portal/en/signin