Examples of Active-Active Connect to VXLAN

  • Home
  • News
  • Examples of Active-Active Connect to VXLAN
  1. Topology
    1. Networking environment

    From the diagram, Switch A/B/C are TOR switches, between them is Layer 3 network,

    the downlink HOST are tenement test, it requires to isolate with other tenements.

    To make sure the reliabilities, part of the servers need active-active connection, so

    it needs to configure MLAG and configure virtual ip as server’s gateway on SWITCH

    A/B. At the same time, making sure the gateway address is not changing after virtual

    machine migration, and then deploy distributed gateway on SWITCH A/B/C.

    1. Configuration Steps

    Configure MLAG on SWITCH A and B separately, is used for server active-active

    connection, SWITCH C uses single downlink interface

    SWITCH_A# configure terminal

    Enter configuration commands, one per line. End with CNTL/Z.

    SWITCH_A(config)# interface range eth-0-9 – 10

    SWITCH_A(config-if-range)# no shutdown

    SWITCH_A(config-if-range)# static-channel-group 55

    SWITCH_A(config-if-range)# exit

    SWITCH_A(config)# interface agg 55

    SWITCH_A(config-if)# switchport mode trunk

    SWITCH_A(config-if)# switchport trunk allowed vlan all

    SWITCH_A(config-if)# spanning-tree port disable

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# vlan database

    SWITCH_A(config-vlan)# vlan 4094

    SWITCH_A(config-vlan)# exit

    SWITCH_A(config)# interface vlan 4094

    SWITCH_A(config-if)# ip address 40.94.0.1/24

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# mlag configuration

    SWITCH_A(config-mlag)# peer-link agg 55

    SWITCH_A(config-mlag)# peer-address 40.94.0.2

    SWITCH_A(config)# vlan database

    SWITCH_A(config-vlan)# vlan 10,20

    SWITCH_A(config-vlan)# exit

    SWITCH_A(config)# interface eth-0-1

    SWITCH_A(config-if)# switchport mode trunk

    SWITCH_A(config-if)# switchport trunk allowed vlan add 10

    SWITCH_A(config-if)# no shutdown

    SWITCH_A(config-if)# static-channel-group 1

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# interface eth-0-2

    SWITCH_A(config-if)# switchport mode trunk

    SWITCH_A(config-if)# switchport trunk allowed vlan add 20

    SWITCH_A(config-if)# no shutdown

    SWITCH_A(config-if)# static-channel-group 2

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# interface agg 1

    SWITCH_A(config-if)# mlag 1

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# interface agg 2

    SWITCH_A(config-if)# mlag 2

    SWITCH_A(config-if)# end

    ########################################

    SWITCH_B# configure terminal

    Enter configuration commands, one per line. End with CNTL/Z.

    SWITCH_B(config)# interface range eth-0-9 – 10

    SWITCH_B(config-if-range)# no shutdown

    SWITCH_B(config-if-range)# static-channel-group 55

    SWITCH_B(config-if-range)# exit

    SWITCH_B(config)# interface agg 55

    SWITCH_B(config-if)# switchport mode trunk

    SWITCH_B(config-if)# switchport trunk allowed vlan all

    SWITCH_B(config-if)# spanning-tree port disable

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# vlan database

    SWITCH_B(config-vlan)# vlan 4094

    SWITCH_B(config-vlan)# exit

    SWITCH_B(config)# interface vlan 4094

    SWITCH_B(config-if)# ip address 40.94.0.2/24

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# mlag configuration

    SWITCH_B(config-mlag)# peer-link agg 55

    SWITCH_B(config-mlag)# peer-address 40.94.0.1

    SWITCH_B(config-mlag)# exit

    SWITCH_B(config)# vlan database

    SWITCH_B(config-vlan)# vlan 10,20

    SWITCH_B(config-vlan)# exit

    SWITCH_B(config)# interface eth-0-1

    SWITCH_B(config-if)# switchport mode trunk

    SWITCH_B(config-if)# switchport trunk allowed vlan add 10

    SWITCH_B(config-if)# static-channel-group 1

    SWITCH_B(config-if)# no shutdown

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# interface eth-0-2

    SWITCH_B(config-if)# switchport mode trunk

    SWITCH_B(config-if)# switchport trunk allowed vlan add 20

    SWITCH_B(config-if)# static-channel-group 2

    SWITCH_B(config-if)# no shutdown

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# interface agg 1

    SWITCH_B(config-if)# mlag 1

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# interface agg 2

    SWITCH_B(config-if)# mlag 2

    SWITCH_B(config-if)# end

    #####################################

    SWITCH_C# configure terminal

    Enter configuration commands, one per line. End with CNTL/Z.

    SWITCH_C(config)# vlan database

    SWITCH_C(config-vlan)# vlan 10

    SWITCH_C(config-vlan)# exit

    SWITCH_C(config)# interface eth-0-1

    SWITCH_C(config-if)# switchport mode trunk

    SWITCH_C(config-if)# switchport trunk allowed vlan add 10

    SWITCH_C(config-if)# no shutdown

    SWITCH_C(config-if)# end

    Configure the address of network gateway and enable distributed gateway, use

    virtual ip SWITCH_A

    SWITCH_A(config)# ip vrf test

    SWITCH_A(config-vrf)# exit

    SWITCH_A(config)# interface vlan 10

    SWITCH_A(config-if)# ip vrf forwarding test

    SWITCH_A(config-if)# ip address 192.168.10.253/24

    SWITCH_A(config-if)# ip virtual-router address 192.168.10.1

    SWITCH_A(config-if)# overlay distributed-gateway enable

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# interface vlan 20

    SWITCH_A(config-if)# ip vrf forwarding test

    SWITCH_A(config-if)# ip address 192.168.20.253/24

    SWITCH_A(config-if)# ip virtual-router address 192.168.20.1

    SWITCH_A(config-if)# overlay distributed-gateway enable

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# ip virtual-router mac 0.0.1

    SWITCH_A(config)# end

    ######################################

    SWITCH_B(config)# ip vrf test

    SWITCH_B(config-vrf)# exit

    SWITCH_B(config)# interface vlan 10

    SWITCH_B(config-if)# ip vrf forwarding test

    SWITCH_B(config-if)# ip address 192.168.10.254/24

    SWITCH_B(config-if)# ip virtual-router address 192.168.10.1

    SWITCH_B(config-if)# overlay distributed-gateway enable

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# interface vlan 20

    SWITCH_B(config-if)# ip vrf forwarding test

    SWITCH_B(config-if)# ip address 192.168.20.254/24

    SWITCH_B(config-if)# ip virtual-router address 192.168.20.1

    SWITCH_B(config-if)# overlay distributed-gateway enable

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# ip virtual-router mac 0.0.1

    SWITCH_B(config)# end

    #####################################

    SWITCH_C# configure terminal

    Enter configuration commands, one per line. End with CNTL/Z.

    SWITCH_C(config)# ip vrf test

    SWITCH_C(config-vrf)# exit

    SWITCH_C(config)# interface vlan 10

    SWITCH_C(config-if)# ip vrf forwarding test

    SWITCH_C(config-if)# ip address 192.168.10.1/24

    SWITCH_C(config-if)# overlay distributed-gateway enable

    SWITCH_C(config-if)# end

    Configure Layer 3 network between switches

    SWITCH_A(config)# interface loopback 0

    SWITCH_A(config-if)# ip address 10.1.1.1/32

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# interface eth-0-17

    SWITCH_A(config-if)# no switchport

    SWITCH_A(config-if)# no shutdown

    SWITCH_A(config-if)# ip address 192.168.17.1/24

    SWITCH_A(config-if)# exit

    SWITCH_A(config)# ip route 10.3.3.3/32 192.168.17.2

    SWITCH_A(config)# ip route 10.3.3.3/32 40.94.0.2 100

    SWITCH_A(config)#end

    ######################################

    SWITCH_B(config)# interface loopback 0

    SWITCH_B(config-if)# ip address 10.1.1.1/32

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# interface eth-0-13

    SWITCH_B(config-if)# no switchport

    SWITCH_B(config-if)# no shutdown

    SWITCH_B(config-if)# ip address 192.168.13.1/24

    SWITCH_B(config-if)# exit

    SWITCH_B(config)# ip route 10.3.3.3/32 192.168.13.2

    SWITCH_B(config)# ip route 10.3.3.3/32 40.94.0.1 100

    SWITCH_B(config)# end

    #######################################

    SWITCH_C(config)# interface loopback 0

    SWITCH_C(config-if)# ip address 10.3.3.3/32

    SWITCH_C(config-if)# exit

    SWITCH_C(config)# interface eth-0-9

    SWITCH_C(config-if)# no shutdown

    SWITCH_C(config-if)# no switchport

    SWITCH_C(config-if)# ip address 192.168.9.1/24

    SWITCH_C(config-if)# exit

    SWITCH_C(config)# ip route 10.1.1.1/32 192.168.9.2

    SWITCH_C(config)# end

    ######################################

    SWITCH_D(config)# interface eth-0-17

    SWITCH_D(config-if)# no shutdown

    SWITCH_D(config-if)# no switchport

    SWITCH_D(config-if)# ip address 192.168.17.2/24

    SWITCH_D(config-if)# exit

    SWITCH_D(config)# interface eth-0-13

    SWITCH_D(config-if)# no shutdown

    SWITCH_D(config-if)# no switchport

    SWITCH_D(config-if)# ip address 192.168.13.2/24

    SWITCH_D(config-if)# exit

    SWITCH_D(config)# interface eth-0-9

    SWITCH_D(config-if)# no shutdown

    SWITCH_D(config-if)# no switchport

    SWITCH_D(config-if)# ip address 192.168.9.2/24

    SWITCH_D(config-if)# exit

    SWITCH_D(config)# ip route 10.1.1.1/32 192.168.17.1

    SWITCH_D(config)# ip route 10.1.1.1/32 192.168.13.1

    SWITCH_D(config)# ip route 10.3.3.3/32 192.168.9.1

    SWITCH_D(config)# end

    Configure VXLAN tunnels

    SWITCH_A(config)# vlan database

    SWITCH_A(config-vlan)# vlan 10 overlay enable

    SWITCH_A(config-vlan)# vlan 20 overlay enable

    SWITCH_A(config-vlan)# exit

    SWITCH_A(config)# overlay

    SWITCH_A(config-overlay)# source 10.1.1.1

    SWITCH_A(config-overlay)# remote-vtep 1 ip-address 10.3.3.3 type vxlan

    SWITCH_A(config-overlay)# vlan 10 vni 10000

    SWITCH_A(config-overlay)# vlan 10 remote-vtep 1

    SWITCH_A(config-overlay)# vlan 20 vni 20000

    SWITCH_A(config-overlay)# vlan 20 remote-vtep 1

    SWITCH_A(config-overlay)# exit

    SWITCH_A(config)# interface eth-0-17

    SWITCH_A(config-if)# vxlan uplink enable

    SWITCH_A(config-if)# end

    ###############################################

    SWITCH_B(config)# vlan database

    SWITCH_B(config-vlan)# vlan 10 overlay enable

    SWITCH_B(config-vlan)# vlan 20 overlay enable

    SWITCH_B(config-vlan)# exit

    SWITCH_B(config)# overlay

    SWITCH_B(config-overlay)# source 10.1.1.1

    SWITCH_B(config-overlay)# remote-vtep 1 ip-address 10.3.3.3 type vxlan

    SWITCH_B(config-overlay)# vlan 10 vni 10000

    SWITCH_B(config-overlay)# vlan 10 remote-vtep 1

    SWITCH_B(config-overlay)# vlan 20 vni 20000

    SWITCH_B(config-overlay)# vlan 20 remote-vtep 1

    SWITCH_B(config-overlay)# exit

    SWITCH_B(config)# interface eth-0-13

    SWITCH_B(config-if)# vxlan uplink enable

    SWITCH_B(config-if)# end

    ########################################

    SWITCH_C(config)# vlan database

    SWITCH_C(config-vlan)# vlan 10 overlay enable

    SWITCH_C(config-vlan)# vlan 20

    SWITCH_C(config-vlan)# vlan 20 overlay enable

    SWITCH_C(config-vlan)# exit

    SWITCH_C(config)# overlay

    sSWITCH_C(config-overlay)# source 10.3.3.3

    SWITCH_C(config-overlay)# remote-vtep 1 ip-address 10.1.1.1 type vxlan

    SWITCH_C(config-overlay)# vlan 10 vni 10000

    SWITCH_C(config-overlay)# vlan 10 remote-vtep 1

    SWITCH_C(config-overlay)# vlan 20 vni 20000

    SWITCH_C(config-overlay)# vlan 20 remote-vtep 1

    SWITCH_C(config-overlay)# exit

    SWITCH_C(config)# interface eth-0-9

    SWITCH_C(config-if)# vxlan uplink enable

    SWITCH_C(config-if)# end

    configure DVR routing, make it interflows with different switches under different

    segments’ hosts.

    SWITCH_A# configure terminal

    Enter configuration commands, one per line. End with CNTL/Z.

    SWITCH_A(config)# ip route vrf test 192.168.10.20/32 remote-vtep 1 vni 10000 inner-macda

    b.b.b

    SWITCH_A(config)# end

    SWITCH_B# configure terminal

    Enter configuration commands, one per line. End with CNTL/Z.

    SWITCH_B(config)# ip route vrf test 192.168.10.20/32 remote-vtep 1 vni 10000 inner-macda

    b.b.b

    SWITCH_B(config)# end

    SWITCH_C# configure terminal

    Enter configuration commands, one per line. End with CNTL/Z.

    SWITCH_C(config)# ip route vrf test 192.168.20.10/32 remote-vtep 1 vni 20000 inner-macda

    c.c.c

    SWITCH_C(config)# end

    1. Verify Configuration

    #check the status of downlink interface on MLAG

    SWITCH_A# show mlag interface

    mlagid local-if local-state remote-state

    1 agg1 up up

    2 agg2 up up

     

    # check the status of VXLAN

    SWITCH_A# show overlay

    —————————————————————

    ECMP Mode : Normal

    Source VTEP : 10.1.1.1

    Vlan Vni Type Remote-vtep IP-Address

    —————————————————————

    10 10000 VxLAN 1 10.3.3.3

    20 20000 VxLAN 1 10.3.3.3

    # Check whether DVR routing is effective

    SWITCH_A# show ip route vrf test

    Codes: K – kernel, C – connected, S – static, R – RIP, B – BGP

    O – OSPF, IA – OSPF inter area

    N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2

    E1 – OSPF external type 1, E2 – OSPF external type 2

    i – IS-IS, L1 – IS-IS level-1, L2 – IS-IS level-2, ia – IS-IS inter area

    Dc – DHCP Client

    [*] – [AD/Metric]

    * – candidate default

    C 192.168.10.0/24 is directly connected, vlan10

    C 192.168.10.253/32 is in local loopback, vlan10

    C 192.168.10.1/32 is directly connected, vlan10

    S 192.168.10.20/32 is in overlay remote vxlan vtep:10.3.3.3, vni:10000

    C 192.168.20.0/24 is directly connected, vlan20

    C 192.168.20.253/32 is in local loopback, vlan20

    C 192.168.20.1/32 is directly connected, vlan20