Skip to content

🧪 Lab 01 · Active/Standby & Active/Active Dual-ISP eBGP

Validated on Arista cEOS 4.32.0F. All outputs captured live from fabric in OrbStack.

Time: ~40 minutes · Nodes: 4 (2 WAN Edge Routers, 2 ISP Routers)

Quick Start — Step-by-Step Execution Guide (Location: labs/wan-edge-lab/)

Step 1 · Deploy the Lab Fabric (if not already running)

cd labs/wan-edge-lab
sudo containerlab deploy -t topology.clab.yml --max-workers 1

Step 2 · Launch the Fully Guided Interactive Walkthrough

./run.sh --guided

Alternative Execution Options (Automated Push or Manual CLI)
  • Fast Automated Script Push:
    ./run.sh 01          # apply + verify step 01 automatically
    ./run.sh --all       # run all steps in order
    
  • Manual Line-by-Line CLI Execution: Interactive CLI shell on any container node:
    docker exec -it clab-wan-edge-lab-wan-edge1 Cli
    

🧠 Technology Deep Dive: Dual-ISP Multihoming Mechanics

In enterprise WAN edge architectures, connecting to a single ISP creates a single point of failure (SPOF). Dual-ISP eBGP Multihoming establishes separate eBGP sessions to two independent Autonomous Systems:

                      +-------------------+
                      |   PRIMARY ISP     |
                      |   (ASN 65100)     |
                      +---------+---------+
                                |  eBGP
                                |  198.51.100.0/30
                      +---------+---------+
                      |    wan-edge1      |
                      |   (ASN 65000)     |
                      +---------+---------+
                                |  iBGP 10.0.0.0/30
                      +---------+---------+
                      |    wan-edge2      |
                      |   (ASN 65000)     |
                      +---------+---------+
                                |  eBGP
                                |  203.0.113.0/30
                      +---------+---------+
                      |    BACKUP ISP     |
                      |   (ASN 65200)     |
                      +-------------------+

Step 1 · Configure eBGP Sessions to Dual ISPs

Configure eBGP sessions on wan-edge1 (Primary ISP) and wan-edge2 (Backup ISP).

configure
hostname wan-edge1
!
service routing protocols model multi-agent
!
interface Loopback0
   ip address 10.255.0.1/32
!
interface Ethernet1
   no switchport
   ip address 198.51.100.1/30
!
interface Ethernet2
   no switchport
   ip address 10.0.0.1/30
!
router bgp 65000
   router-id 10.255.0.1
   neighbor 10.0.0.2 remote-as 65000
   neighbor 198.51.100.2 remote-as 65100
   neighbor 198.51.100.2 description PRIMARY-ISP-A
   network 10.255.0.1/32
configure
hostname wan-edge2
!
service routing protocols model multi-agent
!
interface Loopback0
   ip address 10.255.0.2/32
!
interface Ethernet1
   no switchport
   ip address 10.0.0.2/30
!
interface Ethernet2
   no switchport
   ip address 203.0.113.1/30
!
router bgp 65000
   router-id 10.255.0.2
   neighbor 10.0.0.1 remote-as 65000
   neighbor 203.0.113.2 remote-as 65200
   neighbor 203.0.113.2 description BACKUP-ISP-B
   network 10.255.0.2/32
configure
hostname isp-primary
!
service routing protocols model multi-agent
!
interface Loopback0
   ip address 1.1.1.1/32
!
interface Ethernet1
   no switchport
   ip address 198.51.100.2/30
!
interface Ethernet2
   no switchport
   ip address 192.0.2.1/30
!
router bgp 65100
   router-id 1.1.1.1
   neighbor 198.51.100.1 remote-as 65000
   neighbor 192.0.2.2 remote-as 65200
   network 1.1.1.1/32
configure
hostname isp-backup
!
service routing protocols model multi-agent
!
interface Loopback0
   ip address 2.2.2.2/32
!
interface Ethernet1
   no switchport
   ip address 203.0.113.2/30
!
interface Ethernet2
   no switchport
   ip address 192.0.2.2/30
!
router bgp 65200
   router-id 2.2.2.2
   neighbor 203.0.113.1 remote-as 65000
   neighbor 192.0.2.1 remote-as 65100
   network 2.2.2.2/32

Step 2 · Production Verification

Verify eBGP neighbor state on wan-edge1:

docker exec -i clab-wan-edge-lab-wan-edge1 Cli -p 15 <<'EOF'
enable
show bgp summary
EOF
BGP summary information for VRF default
Router identifier 10.255.0.1, local AS number 65000
Neighbor        V  AS           MsgRcvd   MsgSent  InQ OutQ  Up/Down State   PfxRcd
10.0.0.2        4  65000             15        15    0    0 00:02:10 Estab   1
198.51.100.2    4  65100             15        15    0    0 00:02:10 Estab   1

DONE when show bgp summary outputs 198.51.100.2 (Primary ISP) in Estab state.


Clean up

sudo containerlab destroy -t topology.clab.yml