ITGeeksHub

Cisco SD-WAN Lab Documentation for CCIE

Cisco Catalyst SD-WAN Lab Documentation

A Comprehensive Guide for CCIE Enterprise Infrastructure Preparation

Introduction to Cisco SD-WAN

Cisco Catalyst SD-WAN (formerly Viptela) is a software-defined wide area network solution that simplifies WAN management, enhances application performance, and improves security. It creates an overlay network over various transports (e.g., MPLS, Internet, LTE) using centralized management and policy enforcement.

Key components include:

  • vManage: Centralized management for configuration, monitoring, and analytics.
  • vBond: Orchestrator for device onboarding and controller discovery.
  • vSmart: Control plane controller for routing and policy distribution via Overlay Management Protocol (OMP).
  • WAN Edge Devices: Physical or virtual routers (e.g., vEdge, Cisco IOS XE SD-WAN) forming the data plane.
  • OMP: Proprietary protocol for exchanging routes, TLOCs (Transport Locators), and policies.
  • TLOC: Identifier combining system IP, color, and encapsulation (e.g., IPsec).
  • Color: Label for transport types (e.g., MPLS, public-internet).

This lab deploys a functional SD-WAN environment, demonstrates certificate installation using Linux, and covers CCIE-relevant configurations.

Lab Objectives

  • Deploy and configure SD-WAN controllers (vManage, vBond, vSmart).
  • Onboard two WAN Edge routers (Edge1, Edge2) and establish the overlay network.
  • Install certificates on controllers and WAN Edge devices using a Linux OS.
  • Configure control and data plane policies.
  • Verify connectivity and troubleshoot issues.
  • Understand SD-WAN concepts and certificate management.

Lab Topology

Controllers:

  • vManage: Management IP 192.168.1.1 (VPN 512), Transport IP 10.0.0.1 (VPN 0).
  • vBond: Management IP 192.168.1.2, Transport IP 10.0.0.2.
  • vSmart: Management IP 192.168.1.3, Transport IP 10.0.0.3.

WAN Edge Routers:

  • Edge1: System IP 192.168.1.11, Site ID 100, Transport IP 10.0.1.11 (public-internet), LAN IP 172.16.100.1 (VPN 10).
  • Edge2: System IP 192.168.1.12, Site ID 200, Transport IP 10.0.1.12 (mpls), LAN IP 172.16.200.1 (VPN 10).

Transport: Simulated public Internet and MPLS (VPN 0).

Service VPN: VPN 10 for LAN connectivity.

Linux System: Ubuntu 20.04 LTS, IP 192.168.1.100, for certificate management.

Assumptions: Virtualized environment (VMware ESXi/KVM), Cisco SD-WAN Release 20.12, DNS resolves vbond.example.com to 10.0.0.2, Symantec/DigiCert or enterprise CA certificates available.

SD-WAN Concepts Explained

Overlay Network

A virtual network over physical transports, using tunnels to connect sites securely. Example: Edge1 and Edge2 form IPsec tunnels over public-internet and MPLS.

Control Plane

vSmart uses OMP to advertise routes and policies. vBond facilitates initial device connections. OMP is lightweight, similar to BGP, but optimized for SD-WAN.

Data Plane

WAN Edge devices establish tunnels with BFD to monitor path quality (latency, loss, jitter). Policies influence traffic forwarding (e.g., preferring MPLS for critical apps).

Certificates

Certificates authenticate devices and secure DTLS/IPsec connections. Each device requires a root CA certificate and a signed device certificate. In this lab, a Linux system generates and signs certificates.

Policies

Control Policies: Modify OMP route attributes (e.g., prefer MPLS paths).

Data Policies: Control forwarding based on application or SLA requirements.

Localized Policies: Device-specific configurations (e.g., ACLs).

VPN Segmentation

VPN 0: Transport for control/data plane traffic.

VPN 512: Out-of-band management.

Service VPNs (e.g., VPN 10): Isolate user traffic, akin to VRFs.

Lab Prerequisites

Hardware/Software:

  • vManage: 16 vCPUs, 32 GB RAM, 100 GB disk.
  • vBond: 2 vCPUs, 4 GB RAM, 20 GB disk.
  • vSmart: 4 vCPUs, 8 GB RAM, 20 GB disk.
  • WAN Edge: Cisco IOS XE SD-WAN routers (e.g., ISR 1100) or vEdge.
  • Software: Cisco SD-WAN Release 20.12 (viptela-20.12.qcow2, isr1100-ucmk9.17.12.01a.bin).
  • Linux: Ubuntu 20.04 LTS, IP 192.168.1.100, with OpenSSL installed.

Licensing: Cisco Smart Licensing account with DNA Advantage licenses.

Network: Simulated Internet/MPLS via lab switch/router. Open ports: DTLS (UDP 12346), IPsec (UDP 4500), HTTPS (TCP 443).

Tools: SSH client (e.g., PuTTY), browser for vManage GUI, Linux system with SCP and OpenSSL.

Step-by-Step Configuration

1. Deploy and Configure Controllers

1.1 vManage Setup

Purpose: vManage provides centralized management for the SD-WAN fabric.

1. Deploy vManage VM: Download viptela-20.12.qcow2. Deploy on ESXi/KVM with two NICs (eth0: VPN 0, eth1: VPN 512). Boot and set persona:

Persona: vmanage

2. Configure vManage:

config
 system
  host-name vmanage
  system-ip 192.168.1.1
  site-id 1
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface eth0
   ip address 10.0.0.1/24
   tunnel-interface
   no shutdown
  ip route 0.0.0.0/0 10.0.0.254
 vpn 512
  interface eth1
   ip address 192.168.1.1/24
   no shutdown
commit
                

Explanation: system-ip is a unique identifier. site-id groups devices by location. vbond points to vBond. vpn 0 is for transport, vpn 512 for management.

3. Access vManage GUI: Open https://192.168.1.1:8443, log in with admin/admin, and change the password.

1.2 vBond Setup

Purpose: vBond orchestrates device onboarding and controller discovery.

1. Deploy vBond VM: Use vBond image with 2 vCPUs, 4 GB RAM. One NIC for VPN 0.

2. Configure vBond:

config
 system
  host-name vbond
  system-ip 192.168.1.2
  site-id 1
  organization-name "CCIE-Lab"
  vbond 10.0.0.2 local
 vpn 0
  interface ge0/0
   ip address 10.0.0.2/24
   tunnel-interface
   no shutdown
  ip route 0.0.0.0/0 10.0.0.254
commit
                

Explanation: vbond local designates this as the orchestrator. tunnel-interface enables DTLS.

1.3 vSmart Setup

Purpose: vSmart manages the control plane, distributing OMP routes and policies.

1. Deploy vSmart VM: Use vSmart image with 4 vCPUs, 8 GB RAM. One NIC for VPN 0.

2. Configure vSmart:

config
 system
  host-name vsmart
  system-ip 192.168.1.3
  site-id 1
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface ge0/0
   ip address 10.0.0.3/24
   tunnel-interface
   no shutdown
  ip route 0.0.0.0/0 10.0.0.254
commit
                
2. Certificate Management Using Linux

Purpose: Certificates secure SD-WAN communications. Use Ubuntu 20.04 to generate a root CA, create CSRs, sign certificates, and install them.

2.1 Set Up Linux Environment

1. Install OpenSSL:

sudo apt update
sudo apt install openssl
                

2. Create Directory Structure:

mkdir -p ~/sdwan-certs/{ca,certs,csr}
cd ~/sdwan-certs
                

2.2 Create Root CA

1. Generate Root CA Private Key:

openssl genrsa -out ca/root-ca.key 4096
                

Explanation: Creates a 4096-bit private key.

2. Create Root CA Certificate:

openssl req -x509 -new -nodes -key ca/root-ca.key -sha256 -days 3650 -out ca/root-ca.crt -subj "/C=US/ST=CA/O=CCIE-Lab/CN=RootCA"
                

Explanation: Creates a self-signed certificate valid for 10 years.

2.3 Generate and Sign Certificates

Repeat for vManage, vBond, vSmart, Edge1, Edge2.

1. Generate Device Private Key (e.g., vManage):

openssl genrsa -out certs/vmanage.key 2048
                

2. Create CSR:

openssl req -new -key certs/vmanage.key -out csr/vmanage.csr -subj "/C=US/ST=CA/O=CCIE-Lab/CN=vmanage"
                

3. Sign CSR:

echo -e "[v3_ca]\nsubjectAltName=IP:10.0.0.1" > v3.ext
openssl x509 -req -in csr/vmanage.csr -CA ca/root-ca.crt -CAkey ca/root-ca.key -CAcreateserial -out certs/vmanage.crt -days 1825 -sha256 -extfile v3.ext
                

Explanation: Adds transport IP as SAN, signs certificate for 5 years.

4. Repeat: Use SAN IPs 10.0.0.2 (vBond), 10.0.0.3 (vSmart), 10.0.1.11 (Edge1), 10.0.1.12 (Edge2).

2.4 Transfer Certificates

1. Enable SCP on Devices:

config
 ip scp server enable
commit
                

2. Copy Files:

scp ca/root-ca.crt certs/vmanage.crt certs/vmanage.key admin@192.168.1.1:/home/admin
scp ca/root-ca.crt certs/vbond.crt certs/vbond.key admin@192.168.1.2:/home/admin
scp ca/root-ca.crt certs/vsmart.crt certs/vsmart.key admin@192.168.1.3:/home/admin
scp ca/root-ca.crt certs/edge1.crt certs/edge1.key admin@10.0.1.11:/home/admin
scp ca/root-ca.crt certs/edge2.crt certs/edge2.key admin@10.0.1.12:/home/admin
                

2.5 Install Certificates

1. Install Root CA:

request root-cert-chain install /home/admin/root-ca.crt
                

2. Install Device Certificate (vManage, vBond, vSmart):

request certificate install /home/admin/.crt
                

(Edge1, Edge2):

request platform software sdwan certificate install /home/admin/.crt
                

3. Verify:

show sdwan certificate status
                

2.6 Add Controllers to vManage

In vManage GUI (Configuration > Devices > Controllers):

  • Add vBond (IP: 10.0.0.2, Type: vBond).
  • Add vSmart (IP: 10.0.0.3, Type: vSmart).
  • Verify certificates in Configuration > Certificates.
3. Onboard WAN Edge Devices

3.1 Prepare WAN Edge Devices

Use Cisco IOS XE SD-WAN routers (e.g., ISR 1100). Download isr1100-ucmk9.17.12.01a.bin.

3.2 Configure Edge1

1. Bootstrap Configuration:

config
 system
  host-name edge1
  system-ip 192.168.1.11
  site-id 100
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface ge0/0/0
   ip address 10.0.1.11/24
   tunnel-interface
   encapsulation ipsec
   color public-internet
   no shutdown
  ip route 0.0.0.0/0 10.0.1.254
 vpn 10
  interface ge0/0/1
   ip address 172.16.100.1/24
   no shutdown
commit
                

2. Install Software:

copy scp://admin@192.168.1.100/isr1100-ucmk9.17.12.01a.bin bootflash:
request platform software install bootflash:isr1100-ucmk9.17.12.01a.bin
reload
                

3.3 Configure Edge2

1. Bootstrap Configuration:

config
 system
  host-name edge2
  system-ip 192.168.1.12
  site-id 200
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface ge0/0/0
   ip address 10.0.1.12/24
   tunnel-interface
   encapsulation ipsec
   color mpls
   no shutdown
  ip route 0.0.0.0/0 10.0.1.254
 vpn 10
  interface ge0/0/1
   ip address 172.16.200.1/24
   no shutdown
commit
                

2. Install Software: Repeat steps from Edge1.

3. Onboard to vManage: In vManage (Configuration > Devices > Unclaimed WAN Edges), claim Edge1 and Edge2.

4. Configure Templates

1. System Template:

System IP: {{system-ip}}
Site ID: {{site-id}}
Hostname: {{hostname}}
Organization Name: CCIE-Lab
vBond: 10.0.0.2
                

2. VPN 0 Template:

VPN 0
  Interface: ge0/0/0
    IP Address: {{ip-address}}/24
    Tunnel-Interface
    Encapsulation: ipsec
    Color: {{color}}
    Allow-Service: all
  Default Gateway: {{gateway}}
                

3. VPN 10 Template:

VPN 10
  Interface: ge0/0/1
    IP Address: {{lan-ip}}/24
                

4. Attach Templates:

  • Edge1: system-ip 192.168.1.11, site-id 100, ip-address 10.0.1.11, color public-internet, lan-ip 172.16.100.1, gateway 10.0.1.254.
  • Edge2: system-ip 192.168.1.12, site-id 200, ip-address 10.0.1.12, color mpls, lan-ip 172.16.200.1, gateway 10.0.1.254.
5. Configure Policies

1. Control Policy (MPLS Preference):

policy
  control-policy MPLS-Preferred
    sequence 10
      match route
        site-id 200
        prefix-list LAN-Networks
      action accept
        set preference 100
    default-action accept
prefix-list LAN-Networks
  ip-prefix 172.16.0.0/16
                

2. Data Policy (Application-Aware Routing):

policy
  app-route-policy MS365-Priority
    sequence 10
      match
        app-list MS365
      action
        sla-class Critical
        preferred-color mpls
    default-action sla-class Best-Effort
lists
  app-list MS365
    app teams
    app outlook
  sla-class Critical
    latency 150
    loss 2
    jitter 30
                

3. Apply Policies: In vManage, activate the centralized policy.

Verification and Troubleshooting

1. Verify Control Connections:

show sdwan control connections

2. Verify Data Plane:

show sdwan bfd sessions

3. Verify Routing:

show sdwan omp routes vpn 10

4. Test Connectivity: Ping from 172.16.100.1 to 172.16.200.1.

5. Troubleshooting:

  • Certificate Issues: show sdwan certificate status
  • a>Control Connection Failures: show sdwan control connections-history

Additional Resources

Lab Configuration Artifact

# vManage Configuration
config
 system
  host-name vmanage
  system-ip 192.168.1.1
  site-id 1
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface eth0
   ip address 10.0.0.1/24
   tunnel-interface
   no shutdown
  ip route 0.0.0.0/0 10.0.0.254
 vpn 512
  interface eth1
   ip address 192.168.1.1/24
   no shutdown
commit

# vBond Configuration
config
 system
  host-name vbond
  system-ip 192.168.1.2
  site-id 1
  organization-name "CCIE-Lab"
  vbond 10.0.0.2 local
 vpn 0
  interface ge0/0
   ip address 10.0.0.2/24
   tunnel-interface
   no shutdown
  ip route 0.0.0.0/0 10.0.0.254
commit

# vSmart Configuration
config
 system
  host-name vsmart
  system-ip 192.168.1.3
  site-id 1
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface ge0/0
   ip address 10.0.0.3/24
   tunnel-interface
   no shutdown
  ip route 0.0.0.0/0 10.0.0.254
commit

# Edge1 Configuration
config
 system
  host-name edge1
  system-ip 192.168.1.11
  site-id 100
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface ge0/0/0
   ip address 10.0.1.11/24
   tunnel-interface
   encapsulation ipsec
   color public-internet
   no shutdown
  ip route 0.0.0.0/0 10.0.1.254
 vpn 10
  interface ge0/0/1
   ip address 172.16.100.1/24
   no shutdown
commit

# Edge2 Configuration
config
 system
  host-name edge2
  system-ip 192.168.1.12
  site-id 200
  organization-name "CCIE-Lab"
  vbond 10.0.0.2
 vpn 0
  interface ge0/0/0
   ip address 10.0.1.12/24
   tunnel-interface
   encapsulation ipsec
   color mpls
   no shutdown
  ip route 0.0.0.0/0 10.0.1.254
 vpn 10
  interface ge0/0/1
   ip address 172.16.200.1/24
   no shutdown
commit

# Control Policy
policy
 control-policy MPLS-Preferred
  sequence 10
   match route
    site-id 200
    prefix-list LAN-Networks
   action accept
    set preference 100
  default-action accept
prefix-list LAN-Networks
 ip-prefix 172.16.0.0/16

# Data Policy
policy
 app-route-policy MS365-Priority
  sequence 10
   match
    app-list MS365
   action
    sla-class Critical
    preferred-color mpls
  default-action sla-class Best-Effort
lists
 app-list MS365
  app teams
  app outlook
 sla-class Critical
  latency 150
  loss 2
  jitter 30

# Linux Certificate Commands
# Install OpenSSL
sudo apt update
sudo apt install openssl

# Create Directory Structure
mkdir -p ~/sdwan-certs/{ca,certs,csr}
cd ~/sdwan-certs

# Generate Root CA
openssl genrsa -out ca/root-ca.key 4096
openssl req -x509 -new -nodes -key ca/root-ca.key -sha256 -days 3650 -out ca/root-ca.crt -subj "/C=US/ST=CA/O=CCIE-Lab/CN=RootCA"

# Generate vManage Certificate
openssl genrsa -out certs/vmanage.key 2048
openssl req -new -key certs/vmanage.key -out csr/vmanage.csr -subj "/C=US/ST=CA/O=CCIE-Lab/CN=vmanage"
echo -e "[v3_ca]\nsubjectAltName=IP:10.0.0.1" > v3.ext
openssl x509 -req -in csr/vmanage.csr -CA ca/root-ca.crt -CAkey ca/root-ca.key -CAcreateserial -out certs/vmanage.crt -days 1825 -sha256 -extfile v3.ext

# Generate vBond Certificate
openssl genrsa -out certs/vbond.key 2048
openssl req -new -key certs/vbond.key -out csr/vbond.csr -subj "/C=US/ST=CA/O=CCIE-Lab/CN=vbond"
echo -e "[v3_ca]\nsubjectAltName=IP:10.0.0.2" > v3.ext
openssl x509 -req -in csr/vbond.csr -CA ca/root-ca.crt -CAkey ca/root-ca.key -CAcreateserial -out certs/vbond.crt -days 1825 -sha256 -extfile v3.ext

# Generate vSmart Certificate
openssl genrsa -out certs/vsmart.key 2048
openssl req -new -key certs/vsmart.key -out csr/vsmart.csr -subj "/C=US/ST=CA/O=CCIE-Lab/CN=vsmart"
echo -e "[v3_ca]\nsubjectAltName=IP:10.0.0.3" > v3.ext
openssl x509 -req -in csr/vsmart.csr -CA ca/root-ca.crt -CAkey ca/root-ca.key -CAcreateserial -out certs/vsmart.crt -days 1825 -sha256 -extfile v3.ext

# Generate Edge1 Certificate
openssl genrsa -out certs/edge1.key 2048
openssl req -new -key certs/edge1.key -out csr/edge1.csr -subj "/C=US/ST=CA/O=CCIE-Lab/CN=edge1"
echo -e "[v3_ca]\nsubjectAltName=IP:10.0.1.11" > v3.ext
openssl x509 -req -in csr/edge1.csr -CA ca/root-ca.crt -CAkey ca/root-ca.key -CAcreateserial -out certs/edge1.crt -days 1825 -sha256 -extfile v3.ext

# Generate Edge2 Certificate
openssl genrsa -out certs/edge2.key 2048
openssl req -new -key certs/edge2.key -out csr/edge2.csr -subj "/C=US/ST=CA/O=CCIE-Lab/CN=edge2"
echo -e "[v3_ca]\nsubjectAltName=IP:10.0.1.12" > v3.ext
openssl x509 -req -in csr/edge2.csr -CA ca/root-ca.crt -CAkey ca/root-ca.key -CAcreateserial -out certs/edge2.crt -days 1825 -sha256 -extfile v3.ext

# Transfer Certificates
scp ca/root-ca.crt certs/vmanage.crt certs/vmanage.key admin@192.168.1.1:/home/admin
scp ca/root-ca.crt certs/vbond.crt certs/vbond.key admin@192.168.1.2:/home/admin
scp ca/root-ca.crt certs/vsmart.crt certs/vsmart.key admin@192.168.1.3:/home/admin
scp ca/root-ca.crt certs/edge1.crt certs/edge1.key admin@10.0.1.11:/home/admin
scp ca/root-ca.crt certs/edge2.crt certs/edge2.key admin@10.0.1.12:/home/admin
            

Conclusion

This lab provides a complete SD-WAN deployment with detailed certificate management using Linux, covering CCIE objectives like overlay networking, policy configuration, and security. The Linux-based certificate process ensures secure authentication, a critical SD-WAN component. For advanced scenarios (e.g., BGP, Cloud OnRamp), refer to Cisco documentation or request further configurations.