Juniper Apstra 4.2.
1
EVE-NG Virtual Lab Demo
Video series companion guide
VIDEO 8: DAY-1 DCI ADDENDUM – DIRECT
PEERING
Colin Doyle, Sr. CE AMER
See the complete video walkthrough on YouTube
at: https://www.youtube.com/@5minutejunos
Ask questions at the Juniper Elevate Community
using the hashtag #5minutejunos
Adapted from v4.0.0 documentation originally
compiled by:
© 2024 Juniper Networks - Raymond Lam, SSE APAC
Agenda
Prepping your Lab
Day-0 Fabric Onboarding Day-1 Service Provisioning
• Virtual Device Profile Verification • Create Routing Zones
• Virtual Device Profile Cloning • Create Virtual Networks
• Onboarding Virtual Nodes • Assign Virtual Network to Switchports
• Create ASN Pool and IP Pools • Add Server Links
• Create Logical Devices and Interface Maps • Data Center Interconnect
• Create Rack Types • DCI Addendum: Direct Peering
• Create Templates • Core/WAN Connectivity
• Create Blueprints • Internet Connectivity
Day-2 Operational Scenarios Future Documentation
• Incorrect Cable Patch (RCA, LLDP Link • Firewall Service Chaining
Discovery, Time Voyager) • Cluster with Service Block
• Config Deviation Checking • Type-5 Route (fabric integrated)
• Apply custom config through Configlet with MNHA
• View Telemetry Data • VLAN Stitching
• Hardware Replacement • vEvo Fabric
© 2024 Juniper Networks 2
Day-1 Service
Provisioning
• Create Routing Zones
• Create Virtual Networks
• Assign Virtual Network to Switchports
• Add Testing Hosts
• Data Center Interconnect (OTT)
• DCI Addendum – Direct Peering
• Core Connectivity
• Internet Connectivity
© 2024 Juniper Networks
DCI Addendum: Direct Peering –
Underlay
While working with a customer to build a physical lab, I was asked about direct
DCI between fabrics. Like our lab, the customer has two fabrics. Unlike our lab,
rather than having OTT DCI with intermediate layer-3 routers, their border leafs
were directly connected. In a production scenario, you might see this design when
two fabrics are physically adjacent to each other in the same data center, or if the
DCI link between geographically separated fabrics is a Layer-2 service.
The workflow to do this is different than the OTT workflow and is worth reviewing.
In our lab, we’ll create a single link between spines in DC-A and DC-B, something
we can do since we don’t need any VXLAN gateway functionality for this to work
(NOTE: this works on leafs as well). Once the the underlay is built, the overlay
configuration will use the same workflow defined in the previous section to share
type-2/3 routes between fabrics.
A- A- B- B-
border1 border2 border1 border2
ge-0/0/5
A-spine1 A-spine2 B-spine1 B-spine2
ge-0/0/5
A-leaf1 A-leaf2 B-leaf1 B-leaf2
© 2024 Juniper Networks 4
DCI Addendum: Direct Peering – Underlay
• Start by creating a link between:
• DC-A-spine2: ge-0/0/5
• DC-B-spine1: ge-0/0/5
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Physical >
Topology, and click “spine2”
• Click the checkbox for the border rack node and
select “Add external generic system”
• Create a new external generic system called DC-B-
Spine1, select “None” for the device representation,
and click Next
• Select port 5 on spine2, click the port icon followed
by the “Add Link” button, then click “Create”
• Click “DC-B-Spine1”, open the properties page to
edit the ASN, and set it to 65200. You can verify this
by navigating to Blueprints > DC-B > Staged >
Physical > Nodes and viewing the ASN assignment
for spine1
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Physical >
Topology, and click “spine2”
• Click the checkbox for the border rack node and
select “Add external generic system”
• Create a new external generic system called DC-B-
Spine1, select “None” for the device representation,
and click Next
• Select port 5 on spine2, click the port icon followed
by the “Add Link” button, then click “Create”
• Click “DC-B-Spine1”, open the properties page to
edit the ASN, and set it to 65200. You can verify this
by navigating to Blueprints > DC-B > Staged >
Physical > Nodes and viewing the ASN assignment
for spine1
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Physical >
Topology, and click “spine2”
• Click the checkbox for the border rack node and
select “Add external generic system”
• Create a new external generic system called DC-B-
Spine1, select “None” for the device representation,
and click “Next”
• Select port 5 on spine2, click the port icon followed
by the “Add Link” button, then click “Create”
• Click “DC-B-Spine1”, open the properties page to
edit the ASN, and set it to 65200. You can verify this
by navigating to Blueprints > DC-B > Staged >
Physical > Nodes and viewing the ASN assignment
for spine1
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Physical >
Topology, and click “spine2”
• Click the checkbox for the border rack node and
select “Add external generic system”
• Create a new external generic system called DC-B-
Spine1, select “None” for the device representation,
and click Next
• Select port 5 on spine2, click the port icon followed
by the “Add Link” button, then click “Create”
• Click “DC-B-Spine1”, open the properties page to
edit the ASN, and set it to 65200. You can verify this
by navigating to Blueprints > DC-B > Staged >
Physical > Nodes and viewing the ASN assignment
for spine1
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Physical >
Topology, and click “spine2”
• Click the checkbox for the border rack node and
select “Add external generic system”
• Create a new external generic system called DC-B-
Spine1, select “None” for the device representation,
and click Next
• Select port 5 on spine2, click the port icon followed
by the “Add Link” button, then click “Create”
• Click “DC-B-Spine1”, open the properties page to
edit the ASN, and set it to 65200. You can verify this
by navigating to Blueprints > DC-B > Staged >
Physical > Nodes and viewing the ASN assignment
for spine1
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged >
Connectivity Templates and create a new template
called DCI-Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must not
reside within an IP resource pool that is
assigned to an existing blueprint!
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must not
reside within an IP resource pool that is
assigned to an existing blueprint!
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must not
reside within an IP resource pool that is
assigned to an existing blueprint!
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must not
reside within an IP resource pool that is
assigned to an existing blueprint!
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must not
reside within an IP resource pool that is
assigned to an existing blueprint!
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must
not reside within an IP resource pool that is
assigned to an existing blueprint!
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must not NOTE: We cannot use a pool assignment for interface IP addressing.
reside within an IP resource pool that is Apstra will reserve both available IP’s in a dynamic /31 allocation
from a pool. This renders the remote IP unavailable for assignment
assigned to an existing blueprint!
© 2024 Juniper Networks to the spine1 in DC-B.
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must not NOTE: We cannot use a pool assignment for interface IP addressing.
reside within an IP resource pool that is Apstra will reserve both available IP’s in a dynamic /31 allocation
from a pool. This renders the remote IP unavailable for assignment
assigned to an existing blueprint!
© 2024 Juniper Networks to the spine1 in DC-B.
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-A > Staged > Connectivity
Templates and create a new template called DCI-
Direct
• Follow the screenshots to create the connectivity
template
• Assign the connectivity template to the ge-0/0/5
interface of both border leaf switches
• After assigning the connectivity template, we need to
manually assign a static /31 transit network
• Blueprints > DC-A > Staged > Virtual >
Routing Zones and click the “default” VRF
Name
• Scroll to the bottom of the page, check the box
for the spine2 ge-0/0/5 interface, and click the
“edit” button
• Assign the following IP’s
• Interface 1: 192.168.3.0/31
• Interface 2: 192.168.3.1/31
NOTE: The transit net IP’s you define must NOTE: We cannot use a pool assignment for interface IP addressing.
not reside within an IP resource pool that is Apstra will reserve both available IP’s in a dynamic /31 allocation
from a pool. This renders the remote IP unavailable for assignment
assigned to an existing blueprint!
© 2024 Juniper Networks to the spine1 in DC-B.
DCI Addendum: Direct Peering – Underlay
• Go to Blueprints > DC-B and repeat the steps:
• New generic external system connected to
spine1 on ge-0/0/5 named DC-A-Spine2
• Assign ASN 65101 to the DC-A-Spine2
generic system
• Create a DCI-Direct Connectivity Template that
matches the template created in DC-A
• Assign the DCI-Direct Connectivity Template
to ge-0/0/5 on spine1
• Assign the following IP’s to the ge-0/0/5
interface in the default Routing Zone
configuration
• Interface 1: 192.168.3.1/31
• Interface 2: 192.168.3.0/31
• Commit the changes to the DC-B
Blueprint
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Underlay
Verification
• Verify no anomalies in DC-A or DC-B
• CLI on DC-A-spine2
• show bgp summary (verify 192.168.3.1 peer is
up)
• show route advertising-protocol bgp
192.168.3.1 (verify DC-A loopbacks are being
advertised)
• show route receive-protocol bgp 192.168.3.1
(verify DC-B loopbacks are being received)
• CLI on DC-B-spine1
• same commands as above with “192.168.3.0”
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Overlay
• Go to Blueprints > DC-B > Active > Physical >
Nodes and note the Loopback IP and ASN for the
spine1 switch
• Go to Blueprints > DC-A > Staged > DCI > Over
the Top or External Gateways, click “Create Over
the Top or External Gateway” button, then define
the spine1 switch in DC-B as the remote EVPN
Name IP Address ASN Local Gateway
gateway using the following table
B-spine1 192.168.2.0 65200 spine2 (DC-A)
• Commit the Blueprint
Repeat for DC-B by recording DC-A’s loopback and ASN assignments
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Overlay
• Go to Blueprints > DC-B > Active > Physical >
Nodes and note the Loopback IP and ASN for the
spine1 switch
• Go to Blueprints > DC-A > Staged > DCI > Over
the Top or External Gateways, click “Create Over
the Top or External Gateway” button, then define
the spine1 switch in DC-B as the remote EVPN
Name IP Address ASN Local Gateway
gateway using the following table
B-spine1 192.168.2.0 65200 spine2 (DC-A)
• Commit the Blueprint
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Overlay
• Go to Blueprints > DC-B > Active > Physical >
Nodes and note the Loopback IP and ASN for the
spine1 switch
• Go to Blueprints > DC-A > Staged > DCI > Over
the Top or External Gateways, click “Create Over
the Top or External Gateway” button, then define
the spine1 switch in DC-B as the remote EVPN
Name IP Address ASN Local Gateway
gateway using the following table
B-spine1 192.168.2.0 65200 spine2 (DC-A)
• Commit the Blueprint
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Overlay
• Go to Blueprints > DC-B > Active > Physical >
Nodes and note the Loopback IP and ASN for the
spine1 switch
• Go to Blueprints > DC-A > Staged > DCI > Over
the Top or External Gateways, click “Create Over
the Top or External Gateway” button, then define
the spine1 switch in DC-B as the remote EVPN
Name IP Address ASN Local Gateway
gateway using the following table
B-spine1 192.168.2.0 65200 spine2 (DC-A)
• Commit the Blueprint
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Overlay
• Go to Blueprints > DC-B > Active > Physical >
Nodes and note the Loopback IP and ASN for the
spine1 switch
• Go to Blueprints > DC-A > Staged > DCI > Over
the Top or External Gateways, click “Create Over
the Top or External Gateway” button, then define
the spine1 switch in DC-B as the remote EVPN
Name IP Address ASN Local Gateway
gateway using the following table
B-spine1 192.168.2.0 65200 spine2 (DC-A)
• Commit the Blueprint
© 2024 Juniper Networks
DCI Addendum: Direct Peering – Overlay
• Go to Blueprints > DC-B > Staged > DCI > Over
the Top or External Gateways and create EVPN
BGP sessions between the local spine1 and spine2 in
DC-A
Name IP Address ASN Local Gateway
A-spine2 192.168.1.1 65101 spine1 (DC-B)
• Commit the Blueprint
© 2024 Juniper Networks
DCI Addendum: Direct Peering– Restoring the Lab
Because this Direct Peering use-case is adjacent to the
lab design, I will remove the link from the eve-ng
topology and use the Time Voyager feature in Apstra to
restore the configuration to the previous state.
I’ve been adding descriptions to my commits, so
restoring a previous state is easy. You can add a
description to any previous revision after you commit,
so if you forgot, no worries.
© 2024 Juniper Networks