BGP in depth lab 3 of 14

One policy in four languages

Kestrel Fibre has bought three small ISPs, and each runs a different vendor. Take one written routing policy and implement it as an IOS route map, a Junos policy statement, an EOS route map and a RouterOS filter chain, then prove each edge treats the same routes in the same way.

Run this lab

It needs Lite: its 5 nodes are set to 6 vCPU and 7,424 MB in total. That fits the free demo too.

In your workspace: Shared, then BGP in depth guided labs, then 03 - One policy in four languages

Try it free for 30 minutesRun it on Lite from £3 a day

The free demo needs no card and no email. Every lab plan includes every guided lab.

Level
Advanced
Time
About 120 minutes
Nodes need
6 vCPU, 7,424 MB
Smallest plan
Lite

The scenario

Kestrel Fibre has grown by acquisition. Each of the four edges below belongs to a company it bought, and each runs a different vendor. The engineering lead has written a single routing policy, and you must implement it everywhere. The point isn't to make four configurations that look alike. It's to make four routers behave the same.

Policy KESTREL-EDGE-1

#DirectionRule
1InReject anything inside 10.0.0.0/8 (private address space)
2InReject anything longer than /24
3InRoutes that passed through partner AS 64777: local preference 150, add community 64500:777
4InAccept everything else unchanged
5OutAnnounce this edge's public /26 and nothing else
6OutOn that /26: add one extra copy of your own AS, and add community 64500:100

TRANSIT sends all four edges the same table:

PrefixAS pathExpected result
198.51.100.0/2464999 64777Accepted by rule 3
198.18.0.0/2464999 64888Accepted by rule 4
10.99.0.0/1664999Rejected by rule 1
198.18.1.128/2564999Rejected by rule 2
EdgeASPublic /26Internal network that must stay in
R164501203.0.113.0/2610.201.0.0/24
SRX164502203.0.113.64/2610.202.0.0/24
EOS164503203.0.113.128/2610.203.0.0/24
CHR164504203.0.113.192/2610.204.0.0/24
DeviceInterfaceAddressConnects to
TRANSITLoopback010.255.0.9/32
TRANSITLoopback1198.51.100.1/24
TRANSITLoopback2198.18.0.1/24
TRANSITGi0/010.1.1.1/30R1 Gi0/0
TRANSITGi0/110.1.2.1/30SRX1 ge-0/0/0
TRANSITGi0/210.1.3.1/30EOS1 Ethernet1
TRANSITGi0/310.1.4.1/30CHR1 ether1
R1Loopback010.255.0.1/32
R1Loopback1203.0.113.1/26
R1Loopback210.201.0.1/24
R1Gi0/010.1.1.2/30TRANSIT Gi0/0
SRX1ge-0/0/010.1.2.2/30TRANSIT Gi0/1
SRX1lo010.255.0.2/32, 203.0.113.65/26, 10.202.0.1/24
EOS1Ethernet110.1.3.2/30TRANSIT Gi0/2
EOS1Loopback010.255.0.3/32
EOS1Loopback1203.0.113.129/26
EOS1Loopback210.203.0.1/24
CHR1ether110.1.4.2/30TRANSIT Gi0/3
CHR1edge203.0.113.193/26
CHR1internal10.204.0.1/24

What you’ll practise

  • Translate prefix, prefix-length and AS-path matches between IOS, Junos, EOS and RouterOS
  • Set local preference, communities and AS-path prepends in all four languages
  • State what each vendor does with a route that reaches the end of a policy
  • Write AS-path regular expressions in each vendor's own style
  • Show the routes a policy rejected, on each vendor
  • Read a vSRX's zones and explain why BGP needs host-inbound traffic

The tasks

  1. The phrasebook
  2. Look at the mess first
  3. IOS
  4. Junos
  5. EOS
  6. RouterOS
  7. Prove all four agree

The Lab Tasks pane has the scenario, these tasks, the checks to run, hints and the full solution.

Topology and devices

The network as it opens in EVE-NG, drawn from the lab’s own canvas, and the image each node runs.

Topology of One policy in four languages5 nodes, 4 links. Every link is listed as text below the diagram.TRANSITR1SRX1EOS1CHR1Gi0/0Gi0/0Gi0/1ge-0/0/0Gi0/2Ethernet1Gi0/3ether1
5 nodes, with the interface names each link uses. On a narrow screen, scroll the diagram sideways.
Nodes in One policy in four languages, with the image each runs and the vCPU and RAM it’s set to
NodeDeviceImage in Add NodeSet to
TRANSITCisco IOSvvios-adventerprisek9-m.spa.159-3.m91 vCPU, 512 MB
R1Cisco IOSvvios-adventerprisek9-m.spa.159-3.m91 vCPU, 512 MB
SRX1Juniper vSRX NextGen templatevsrxng-23.4R2-S3.92 vCPU, 4,096 MB
EOS1Arista vEOSveos-4.33.1.1F1 vCPU, 2,048 MB
CHR1MikroTik RouterOSmikrotik-7.14.21 vCPU, 256 MB

How to open this lab

  1. Sign in to your workspace at lab.cloudlabbox.com.

  2. In File Manager, open Shared, then the folder BGP in depth guided labs.

  3. Open 03 - One policy in four languages and start its nodes, then open Lab Tasks for the scenario and the steps.

The lab is read-only. You can start the nodes and configure the devices, but changes to the topology can’t be saved. To change it, rebuild it in your own folder.

More BGP in depth labs

All BGP in depth labs

Related labs in other courses

CloudLabBox is independent of Arista Networks, Cisco, Juniper Networks and MikroTik. The lab follows exam topics and isn’t vendor training material; vendor names identify the exams and the images in the workspace.