Building basic BGP/OSPF network with AOS-CX

ArubaOS-CX software has highly scalable architecture and it can cover wide range of products from edge switch model (e.g. 6200) to DC core switch model (e.g. 8400). Consequently, the virtual version of AOS-CX also covers wide range of switch functions from edge authentication to BGP/EVPN for datacenter core. This time I build a basic core network running multiple dynamic routing protocols, OSPF and BGP.

We use this topology. All ports are routed ports.

Let’s configure BGP network first.

BGP-CORE config snippet

hostname BGP-CORE
interface 1/1/1
    no shutdown
    ip address 172.16.0.1/30
interface 1/1/2
    no shutdown
    ip address 172.16.0.5/30
interface loopback 0
    ip address 172.31.0.1/32
router bgp 65000
    neighbor 172.16.0.2 remote-as 65001
    neighbor 172.16.0.6 remote-as 65001
    address-family ipv4 unicast
        neighbor 172.16.0.2 activate
        neighbor 172.16.0.6 activate
        network 172.16.0.0/30
        network 172.16.0.4/30
        network 172.31.0.1/32

ASBR-1 config snippet

hostname ASBR-1
interface 1/1/1
    no shutdown
    ip address 172.16.0.2/30
interface 1/1/2
    no shutdown
    ip address 10.0.1.1/30
interface 1/1/3
    no shutdown
    ip address 10.0.1.5/30
interface 1/1/4
    no shutdown
    ip address 10.0.1.9/30
interface loopback 0
    ip address 1.1.1.1/32
router bgp 65001
    neighbor 10.0.1.2 remote-as 65001
    neighbor 172.16.0.1 remote-as 65000
    address-family ipv4 unicast
        neighbor 10.0.1.2 activate
        neighbor 172.16.0.1 activate
        network 10.0.1.0/30
        network 172.16.0.0/30
        redistribute ospf

ASBR-2 config snippet

hostname ASBR-2
interface 1/1/1
    no shutdown
    ip address 172.16.0.6/30
interface 1/1/2
    no shutdown
    ip address 10.0.1.2/30
interface 1/1/3
    no shutdown
    ip address 10.0.1.13/30
interface 1/1/4
    no shutdown
    ip address 10.0.1.17/30
interface loopback 0
    ip address 1.1.1.2/32
router bgp 65001
    neighbor 10.0.1.1 remote-as 65001
    neighbor 172.16.0.5 remote-as 65000
    address-family ipv4 unicast
        neighbor 10.0.1.1 activate
        neighbor 172.16.0.5 activate
        network 10.0.1.0/30
        network 172.16.0.4/30
        redistribute ospf

Then check the BGP status.

BGP-CORE# show bgp ipv4 unicast summary
VRF : default
BGP Summary
-----------
 Local AS               : 65000        BGP Router Identifier  : 172.31.0.1
 Peers                  : 2            Log Neighbor Changes   : No
 Cfg. Hold Time         : 180          Cfg. Keep Alive        : 60

 Neighbor        Remote-AS MsgRcvd MsgSent   Up/Down Time State        AdminStatus
 172.16.0.2      65001       37      38      00h:25m:04s  Established   Up
 172.16.0.6      65001       29      28      00h:19m:14s  Established   Up

BGP-CORE# show bgp ipv4 unicast
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
              i internal, e external S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

VRF : default
Local Router-ID 172.31.0.1

    Network            Nexthop         Metric     LocPrf     Weight Path
*>e 10.0.1.0/30        172.16.0.2      0          100        0       65001 i
*=e 10.0.1.0/30        172.16.0.6      0          100        0       65001 i
*>  172.16.0.0/30      0.0.0.0         0          100        0       i
* e 172.16.0.0/30      172.16.0.2      0          100        0       65001 i
* e 172.16.0.0/30      172.16.0.6      0          100        0       65001 i
*>  172.16.0.4/30      0.0.0.0         0          100        0       i
* e 172.16.0.4/30      172.16.0.2      0          100        0       65001 i
* e 172.16.0.4/30      172.16.0.6      0          100        0       65001 i
*>  172.31.0.1/32      0.0.0.0         0          100        0       i
Total number of entries 9

It looks good. Confirm ping works.

BGP-CORE# ping 10.0.1.1
PING 10.0.1.1 (10.0.1.1) 100(128) bytes of data.
108 bytes from 10.0.1.1: icmp_seq=1 ttl=63 time=6.70 ms
108 bytes from 10.0.1.1: icmp_seq=2 ttl=63 time=3.90 ms

BGP-CORE# ping 10.0.1.2
PING 10.0.1.2 (10.0.1.2) 100(128) bytes of data.
108 bytes from 10.0.1.2: icmp_seq=1 ttl=64 time=2.56 ms
108 bytes from 10.0.1.2: icmp_seq=2 ttl=64 time=3.03 ms

Configure OSPF network

Let’s proceed to OSPF.

ASBR-1 OSPF config snippet

router ospf 1
    router-id 1.1.1.1
    redistribute bgp
    area 0
interface loopback 0
    ip ospf 1 area 0
interface 1/1/2
    ip ospf 1 area 0
    ip ospf network point-to-point
interface 1/1/3
    ip ospf 1 area 0
    ip ospf network point-to-point
interface 1/1/4
    ip ospf 1 area 0
    ip ospf network point-to-point

ASBR-2 OSPF config snippet

router ospf 1
    router-id 1.1.1.2
    redistribute bgp
    area 0
interface loopback 0
    ip ospf 1 area 0
interface 1/1/2
    ip ospf 1 area 0
    ip ospf network point-to-point
interface 1/1/3
    ip ospf 1 area 0
    ip ospf network point-to-point
interface 1/1/4
    ip ospf 1 area 0
    ip ospf network point-to-point

OSPF-1 config snippet

hostname OSPF-1
router ospf 1
    router-id 1.1.2.1
    area 0
interface loopback 0
    ip address 1.1.2.1/32
    ip ospf 1 area 0
interface 1/1/1
    no shutdown
    ip address 10.0.1.6/30
    ip ospf 1 area 0
    ip ospf network point-to-point
interface 1/1/2
    no shutdown
    ip address 10.0.1.14/30
    ip ospf 1 area 0
    ip ospf network point-to-point

OSPF-2 config snippet

hostname OSPF-2
router ospf 1
    router-id 1.1.2.2
    area 0
interface loopback 0
    ip address 1.1.2.2/32
    ip ospf 1 area 0
interface 1/1/1
    no shutdown
    ip address 10.0.1.10/30
    ip ospf 1 area 0
    ip ospf network point-to-point
interface 1/1/2
    no shutdown
    ip address 10.0.1.18/30
    ip ospf 1 area 0
    ip ospf network point-to-point

Once done, confirm every IP address is reachable. Also you should check routing table, OSPF/BGP status, etc.

OSPF-2# ping 172.31.0.1
PING 172.31.0.1 (172.31.0.1) 100(128) bytes of data.
108 bytes from 172.31.0.1: icmp_seq=1 ttl=62 time=3.90 ms
108 bytes from 172.31.0.1: icmp_seq=2 ttl=62 time=3.65 ms

OSPF-2# ping 172.16.0.2
PING 172.16.0.2 (172.16.0.2) 100(128) bytes of data.
108 bytes from 172.16.0.2: icmp_seq=1 ttl=64 time=3.83 ms
108 bytes from 172.16.0.2: icmp_seq=2 ttl=64 time=2.28 ms

OSPF-2# show ip ospf routes
Codes: i - Intra-area route, I - Inter-area route
       E1 - External type-1, E2 - External type-2

OSPF Process ID 1 VRF default, Routing Table
---------------------------------------------

Total Number of Routes : 16

1.1.1.1/32         (i) area: 0.0.0.0
     via 10.0.1.9 interface 1/1/1, cost 100 distance 110
1.1.1.2/32         (i) area: 0.0.0.0
     via 10.0.1.17 interface 1/1/2, cost 100 distance 110
1.1.2.1/32         (i) area: 0.0.0.0
     via 10.0.1.9 interface 1/1/1, cost 200 distance 110
1.1.2.1/32         (i) area: 0.0.0.0
     via 10.0.1.17 interface 1/1/2, cost 200 distance 110
10.0.1.0/30        (i) area: 0.0.0.0
     via 10.0.1.9 interface 1/1/1, cost 200 distance 110
10.0.1.0/30        (i) area: 0.0.0.0
     via 10.0.1.17 interface 1/1/2, cost 200 distance 110
10.0.1.4/30        (i) area: 0.0.0.0
     via 10.0.1.9 interface 1/1/1, cost 200 distance 110
10.0.1.8/30        (i) area: 0.0.0.0
     directly attached to interface 1/1/1, cost 100 distance 110
10.0.1.12/30       (i) area: 0.0.0.0
     via 10.0.1.17 interface 1/1/2, cost 200 distance 110
10.0.1.16/30       (i) area: 0.0.0.0
     directly attached to interface 1/1/2, cost 100 distance 110
172.16.0.0/30      (E2)
     via 10.0.1.9 interface 1/1/1, cost 25 distance 110
172.16.0.0/30      (E2)
     via 10.0.1.17 interface 1/1/2, cost 25 distance 110
172.16.0.4/30      (E2)
     via 10.0.1.9 interface 1/1/1, cost 25 distance 110
172.16.0.4/30      (E2)
     via 10.0.1.17 interface 1/1/2, cost 25 distance 110
172.31.0.1/32      (E2)
     via 10.0.1.9 interface 1/1/1, cost 25 distance 110
172.31.0.1/32      (E2)
     via 10.0.1.17 interface 1/1/2, cost 25 distance 110