Carrier-of-Carriers with Internet Service Provider as the Customer on a vMX

Implementation description

In this article, I will build a Carrier-of-Carriers with Internet Service Provider as the customer setup on a single vMX. Each individual router will be configured as a logical router. The vMX router has a back-to-back connection between ge-0/0/0 and ge-0/0/1 ports. For each different link, a different VLAN number will be configured to separate the traffic generated based on router ID number.

Network Diagram

IP Allocation

  • AS 1: 192.168.0.0/16
    • CE 1: 192.168.0.1/32
    • CE 2: 192.168.0.2/32
    • Link 111: 192.168.1.0/31
    • Link 216: 192.168.1.2/31
  • AS 100: 10.10.0.0/16
    • PE 11: 10.10.0.11/32
    • P 12: 10.10.0.12/32
    • C-CE 13: 10.10.0.13/32
    • C-CE 14: 10.10.0.14/32
    • P 15: 10.10.0.15/32
    • PE 16: 10.10.0.16/32
    • Internal Links: 10.10.1.0/16
  • AS 200: 172.16.0.0/16
    • C-PE 21: 172.16.0.21/32
    • C-P 22: 172.16.0.22/32
    • C-PE 23: 172.16.0.23/32
    • Link 1321: 172.16.255.0/31
    • Link 1423: 172.16.255.2/31

Full Configuration

root@MX# show | no-more 
## Last changed: 2018-03-04 11:27:16 UTC
version 15.1F4.15;
groups {
    isis {
        logical-systems {
            <*> {
                protocols {
                    isis {
                        level 1 disable;
                        interface <*> {
                            point-to-point;
                        }
                    }
                }
            }
        }
    }
}
apply-groups isis;
system {
    host-name MX;
    root-authentication {
        encrypted-password "$5$L3F31155$kVyagZl2v/WM9s32/hi7VCXxM5o0vupYD.LO3uvCif4"; ## SECRET-DATA
    }
    services {
        ssh;
        netconf {
            ssh;
        }
    }
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
}
logical-systems {
    1-CE {
        interfaces {
            ge-0/0/0 {
                unit 111 {
                    vlan-id 111;
                    family inet {
                        address 192.168.1.0/31;
                    }
                }
            }
            lo0 {
                unit 1 {
                    family inet {
                        address 192.168.0.1/32;
                    }
                }
            }
        }
        protocols {
            bgp {
                group AS100 {
                    type external;
                    export to-bgp;
                    peer-as 100;
                    neighbor 192.168.1.1;
                }
            }
        }
        policy-options {
            policy-statement to-bgp {
                from protocol direct;
                then accept;
            }
        }
        routing-options {
            autonomous-system 1;
        }
    }
    11-PE {
        interfaces {
            ge-0/0/0 {
                unit 1112 {
                    vlan-id 1112;
                    family inet {
                        address 10.10.1.0/31;
                    }
                    family iso;
                }
            }
            ge-0/0/1 {
                unit 111 {
                    vlan-id 111;
                    family inet {
                        address 192.168.1.1/31;
                    }
                }
            }
            lo0 {
                unit 11 {
                    family inet {
                        address 10.10.0.11/32;
                    }
                    family iso {
                        address 49.0100.0100.1000.0011.00;
                    }
                }
            }
        }
        protocols {
            bgp {
                group internal {
                    type internal;
                    local-address 10.10.0.11;
                    export to-ibgp;
                    neighbor 10.10.0.12;
                    neighbor 10.10.0.13;
                    neighbor 10.10.0.14;
                    neighbor 10.10.0.15;
                    neighbor 10.10.0.16;
                }
                group to-customer {
                    type external;
                    peer-as 1;
                    as-override;
                    neighbor 192.168.1.0;
                }
            }
            isis {
                interface ge-0/0/0.1112;
                interface lo0.11;
            }
        }
        policy-options {
            policy-statement to-ibgp {
                term nhs {
                    from protocol bgp;
                    then {
                        next-hop self;
                    }
                }
            }
        }
        routing-options {
            autonomous-system 100;
        }
    }
    12-P {
        interfaces {
            ge-0/0/0 {
                unit 1213 {
                    vlan-id 1213;
                    family inet {
                        address 10.10.1.2/31;
                    }
                    family iso;
                }
            }
            ge-0/0/1 {
                unit 1112 {
                    vlan-id 1112;
                    family inet {
                        address 10.10.1.1/31;
                    }
                    family iso;
                }
            }
            lo0 {
                unit 12 {
                    family inet {
                        address 10.10.0.12/32;
                    }
                    family iso {
                        address 49.0100.0100.1000.0012.00;
                    }
                }
            }
        }
        protocols {
            bgp {
                group internal {
                    type internal;
                    local-address 10.10.0.12;
                    neighbor 10.10.0.11;
                    neighbor 10.10.0.13;
                    neighbor 10.10.0.14;
                    neighbor 10.10.0.15;
                    neighbor 10.10.0.16;
                }
            }
            isis {
                interface all;
            }
        }
        routing-options {
            autonomous-system 100;
        }
    }
    13-C-CE {
        interfaces {
            ge-0/0/0 {
                unit 1321 {
                    vlan-id 1321;
                    family inet {
                        address 172.16.255.0/31;
                    }
                    family mpls;
                }
            }
            ge-0/0/1 {
                unit 1213 {
                    vlan-id 1213;
                    family inet {
                        address 10.10.1.3/31;
                    }
                    family iso;
                }
            }
            lo0 {
                unit 13 {
                    family inet {
                        address 10.10.0.13/32;
                    }
                    family iso {
                        address 49.0100.0100.1000.0013.00;
                    }
                }
            }
        }
        protocols {
            mpls {
                interface ge-0/0/0.1321;
            }
            bgp {
                group to-isp {
                    type external;
                    export internal;
                    peer-as 200;
                    neighbor 172.16.255.1 {
                        family inet {
                            labeled-unicast;
                        }
                    }
                }
                group internal {
                    type internal;
                    local-address 10.10.0.13;
                    export to-ibgp;
                    neighbor 10.10.0.11;
                    neighbor 10.10.0.12;
                    neighbor 10.10.0.14;
                    neighbor 10.10.0.15;
                    neighbor 10.10.0.16;
                }
            }
            isis {
                interface all;
            }
        }
        policy-options {
            policy-statement internal {
                term internal {
                    from protocol [ isis direct ];
                    then accept;
                }
                term reject {
                    then reject;
                }
            }
            policy-statement to-ibgp {
                term nhs {
                    from protocol bgp;
                    then {
                        next-hop self;
                    }
                }
            }
        }
        routing-options {
            autonomous-system 100;
        }
    }
    14-C-CE {
        interfaces {
            ge-0/0/0 {
                unit 1415 {
                    vlan-id 1415;
                    family inet {
                        address 10.10.1.4/31;
                    }
                    family iso;
                }
                unit 1423 {
                    vlan-id 1423;
                    family inet {
                        address 172.16.255.2/31;
                    }
                    family mpls;
                }
            }
            lo0 {
                unit 14 {
                    family inet {
                        address 10.10.0.14/32;
                    }
                    family iso {
                        address 49.0100.0100.1000.0014.00;
                    }
                }
            }
        }
        protocols {
            mpls {
                interface ge-0/0/0.1423;
            }
            bgp {
                group to-isp {
                    type external;
                    export internal;
                    peer-as 200;
                    neighbor 172.16.255.3 {
                        family inet {
                            labeled-unicast;
                        }
                    }
                }
                group internal {
                    type internal;
                    local-address 10.10.0.14;
                    export to-ibgp;
                    neighbor 10.10.0.11;
                    neighbor 10.10.0.12;
                    neighbor 10.10.0.13;
                    neighbor 10.10.0.15;
                    neighbor 10.10.0.16;
                }
            }
            isis {
                interface all;
            }
        }
        policy-options {
            policy-statement internal {
                term internal {
                    from protocol [ isis direct ];
                    then accept;
                }
                term reject {
                    then reject;
                }
            }
            policy-statement to-ibgp {
                term nhs {
                    from protocol bgp;
                    then {
                        next-hop self;
                    }
                }
            }
        }
        routing-options {
            autonomous-system 100;
        }
    }
    15-P {
        interfaces {
            ge-0/0/0 {
                unit 1516 {
                    vlan-id 1516;
                    family inet {
                        address 10.10.1.6/31;
                    }
                    family iso;
                }
            }
            ge-0/0/1 {
                unit 1415 {
                    vlan-id 1415;
                    family inet {
                        address 10.10.1.5/31;
                    }
                    family iso;
                }
            }
            lo0 {
                unit 15 {
                    family inet {
                        address 10.10.0.15/32;
                    }
                    family iso {
                        address 49.0100.0100.1000.0015.00;
                    }
                }
            }
        }
        protocols {
            bgp {
                group internal {
                    type internal;
                    local-address 10.10.0.15;
                    neighbor 10.10.0.11;
                    neighbor 10.10.0.12;
                    neighbor 10.10.0.13;
                    neighbor 10.10.0.14;
                    neighbor 10.10.0.16;
                }
            }
            isis {
                interface all;
            }
        }
        routing-options {
            autonomous-system 100;
        }
    }
    16-PE {
        interfaces {
            ge-0/0/1 {
                unit 216 {
                    vlan-id 216;
                    family inet {
                        address 192.168.1.3/31;
                    }
                }
                unit 1516 {
                    vlan-id 1516;
                    family inet {
                        address 10.10.1.7/31;
                    }
                    family iso;
                }
            }
            lo0 {
                unit 16 {
                    family inet {
                        address 10.10.0.16/32;
                    }
                    family iso {
                        address 49.0100.0100.1000.0016.00;
                    }
                }
            }
        }
        protocols {
            bgp {
                group internal {
                    type internal;
                    local-address 10.10.0.16;
                    export to-ibgp;
                    neighbor 10.10.0.11;
                    neighbor 10.10.0.12;
                    neighbor 10.10.0.13;
                    neighbor 10.10.0.14;
                    neighbor 10.10.0.15;
                }
                group to-customer {
                    type external;
                    peer-as 1;
                    as-override;
                    neighbor 192.168.1.2;
                }
            }
            isis {
                interface ge-0/0/1.1516;
                interface lo0.16;
            }
        }
        policy-options {
            policy-statement to-ibgp {
                term nhs {
                    from protocol bgp;
                    then {
                        next-hop self;
                    }
                }
            }
        }
        routing-options {
            autonomous-system 100;
        }
    }
    2-CE {
        interfaces {
            ge-0/0/0 {
                unit 216 {
                    vlan-id 216;
                    family inet {
                        address 192.168.1.2/31;
                    }
                }
            }
            lo0 {
                unit 2 {
                    family inet {
                        address 192.168.0.2/32;
                    }
                }
            }
        }
        protocols {
            bgp {
                group AS100 {
                    type external;
                    export to-bgp;
                    peer-as 100;
                    neighbor 192.168.1.3;
                }
            }
        }
        policy-options {
            policy-statement to-bgp {
                from protocol direct;
                then accept;
            }
        }
        routing-options {
            autonomous-system 1;
        }
    }
    21-C-PE {
        interfaces {
            ge-0/0/0 {
                unit 2122 {
                    vlan-id 2122;
                    family inet {
                        address 172.16.1.0/31;
                    }
                    family iso;
                    family mpls;
                }
            }
            ge-0/0/1 {
                unit 1321 {
                    vlan-id 1321;
                    family inet {
                        address 172.16.255.1/31;
                    }
                    family mpls;
                }
            }
            lo0 {
                unit 21 {
                    family inet {
                        address 172.16.0.21/32;
                    }
                    family iso {
                        address 49.0200.1720.1600.0021.00;
                    }
                }
            }
        }
        protocols {
            mpls {
                interface all;
            }
            bgp {
                group pe-pe {
                    type internal;
                    local-address 172.16.0.21;
                    neighbor 172.16.0.23 {
                        family inet-vpn {
                            any;
                        }
                    }
                }
            }
            isis {
                interface all;
            }
            ldp {
                interface ge-0/0/0.2122;
                interface lo0.21;
            }
        }
        routing-instances {
            vpn-isp {
                instance-type vrf;
                interface ge-0/0/1.1321;
                route-distinguisher 172.16.0.21:100;
                vrf-target target:200:100;
                protocols {
                    bgp {
                        group to-isp {
                            peer-as 100;
                            neighbor 172.16.255.0 {
                                family inet {
                                    labeled-unicast;
                                }
                                as-override;
                            }
                        }
                    }
                    mpls {
                        interface all;
                    }
                }
            }
        }
        routing-options {
            autonomous-system 200;
        }
    }
    22-C-P {
        interfaces {
            ge-0/0/0 {
                unit 2223 {
                    vlan-id 2223;
                    family inet {
                        address 172.16.1.2/31;
                    }
                    family iso;
                    family mpls;
                }
            }
            ge-0/0/1 {
                unit 2122 {
                    vlan-id 2122;
                    family inet {
                        address 172.16.1.1/31;
                    }
                    family iso;
                    family mpls;
                }
            }
            lo0 {
                unit 22 {
                    family inet {
                        address 172.16.0.22/32;
                    }
                    family iso {
                        address 49.0200.1720.1600.0022.00;
                    }
                }
            }
        }
        protocols {
            mpls {
                interface all;
            }
            isis {
                interface all;
            }
            ldp {
                interface ge-0/0/0.2223;
                interface ge-0/0/1.2122;
                interface lo0.22;
            }
        }
    }
    23-C-PE {
        interfaces {
            ge-0/0/1 {
                unit 1423 {
                    vlan-id 1423;
                    family inet {
                        address 172.16.255.3/31;
                    }
                    family mpls;
                }
                unit 2223 {
                    vlan-id 2223;
                    family inet {
                        address 172.16.1.3/31;
                    }
                    family iso;
                    family mpls;
                }
            }
            lo0 {
                unit 23 {
                    family inet {
                        address 172.16.0.23/32;
                    }
                    family iso {
                        address 49.0200.1720.1600.0023.00;
                    }
                }
            }
        }
        protocols {
            mpls {
                interface all;
            }
            bgp {
                group pe-pe {
                    type internal;
                    local-address 172.16.0.23;
                    neighbor 172.16.0.21 {
                        family inet-vpn {
                            any;
                        }
                    }
                }
            }
            isis {
                interface all;
            }
            ldp {
                interface ge-0/0/1.2223;
                interface lo0.23;
            }
        }
        routing-instances {
            vpn-isp {
                instance-type vrf;
                interface ge-0/0/1.1423;
                route-distinguisher 172.16.0.23:100;
                vrf-target target:200:100;
                protocols {
                    bgp {
                        group to-isp {
                            peer-as 100;
                            neighbor 172.16.255.2 {
                                family inet {
                                    labeled-unicast;
                                }
                                as-override;
                            }
                        }
                    }
                    mpls {
                        interface all;
                    }
                }
            }
        }
        routing-options {
            autonomous-system 200;
        }
    }
}
interfaces {
    ge-0/0/0 {
        description "to ge-0/0/1";
        vlan-tagging;
    }
    ge-0/0/1 {
        description "to ge-0/0/0";
        vlan-tagging;
    }
    ge-0/0/2 {
        description "to ge-0/0/3";
        vlan-tagging;
    }
    ge-0/0/3 {
        description "to ge-0/0/2";
        vlan-tagging;
    }
    ge-0/0/4 {
        description "to ge-0/0/5";
        vlan-tagging;
    }
    ge-0/0/5 {
        description "to ge-0/0/4";
        vlan-tagging;
    }
    ge-0/0/6 {
        description "to ge-0/0/7";
        vlan-tagging;
    }
    ge-0/0/7 {
        description "to ge-0/0/6";
        vlan-tagging;
    }
    ge-0/0/8 {
        description "to eth1";
    }
    ge-0/0/9 {
        description "to eth2";
    }
    fxp0 {
        unit 0 {
            family inet {
                address 192.168.83.11/24;
            }
        }
    }
}

Verification

root@MX:1-CE> show route                             

inet.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.10.0.14/32      *[BGP/170] 00:17:04, localpref 100
                      AS path: 100 200 200 I, validation-state: unverified
                    > to 192.168.1.1 via ge-0/0/0.111
10.10.0.15/32      *[BGP/170] 00:17:04, localpref 100
                      AS path: 100 200 200 I, validation-state: unverified
                    > to 192.168.1.1 via ge-0/0/0.111
10.10.0.16/32      *[BGP/170] 00:17:04, localpref 100
                      AS path: 100 200 200 I, validation-state: unverified
                    > to 192.168.1.1 via ge-0/0/0.111
10.10.1.4/31       *[BGP/170] 00:17:04, localpref 100
                      AS path: 100 200 200 I, validation-state: unverified
                    > to 192.168.1.1 via ge-0/0/0.111
10.10.1.6/31       *[BGP/170] 00:17:04, localpref 100
                      AS path: 100 200 200 I, validation-state: unverified
                    > to 192.168.1.1 via ge-0/0/0.111
192.168.0.1/32     *[Direct/0] 03:17:20
                    > via lo0.1
192.168.0.2/32     *[BGP/170] 00:08:30, localpref 100
                      AS path: 100 100 I, validation-state: unverified
                    > to 192.168.1.1 via ge-0/0/0.111
192.168.1.0/31     *[Direct/0] 03:16:25
                    > via ge-0/0/0.111
192.168.1.0/32     *[Local/0] 03:16:25
                      Local via ge-0/0/0.111

root@MX:1-CE> ping 192.168.0.2 source 192.168.0.1 count 3 
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp_seq=0 ttl=46 time=12.347 ms
64 bytes from 192.168.0.2: icmp_seq=1 ttl=46 time=10.568 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=46 time=7.953 ms

--- 192.168.0.2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 7.953/10.289/12.347/1.805 ms

Label Operation

1. From router 1-CE to 13-C-CE will flow simple traffic.

root@MX:11-PE> show route 192.168.0.2 

inet.0: 15 destinations, 21 routes (15 active, 0 holddown, 1 hidden)
+ = Active Route, - = Last Active, * = Both

192.168.0.2/32     *[BGP/170] 00:10:57, localpref 100, from 10.10.0.16
                      AS path: 1 I, validation-state: unverified
                    > to 10.10.1.1 via ge-0/0/0.1112

2. Router 13-C-CE will push BGP-LU label.

root@MX:13-C-CE> show route 192.168.0.2 

inet.0: 15 destinations, 20 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

192.168.0.2/32     *[BGP/170] 00:11:33, localpref 100, from 10.10.0.16
                      AS path: 1 I, validation-state: unverified
                    > to 172.16.255.1 via ge-0/0/0.1321, Push 299952

3. Router 21-C-PE will swap BGP-LU label and will push an LDP label.

root@MX:21-C-PE> show route 192.168.0.2 

root@MX:21-C-PE> show route label 299952 

vpn-isp.mpls.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

299952             *[VPN/170] 00:35:44, metric2 1, from 172.16.0.23
                    > to 172.16.1.1 via ge-0/0/0.2122, Swap 299952, Push 299792(top)

root@MX:21-C-PE> show route label 299792    

mpls.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

299792             *[LDP/9] 03:22:12, metric 1
                    > to 172.16.1.1 via ge-0/0/0.2122, Swap 299792

root@MX:21-C-PE> show route 172.16.0.23/32 protocol ldp 

inet.0: 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)

inet.3: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

172.16.0.23/32     *[LDP/9] 03:24:05, metric 1
                    > to 172.16.1.1 via ge-0/0/0.2122, Push 299792

4. Router 22-C-P is PHP router and will pop the LDP label.

root@MX:22-C-P> show route label 299792 

mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

299792             *[LDP/9] 03:24:49, metric 1
                    > to 172.16.1.3 via ge-0/0/0.2223, Pop      
299792(S=0)        *[LDP/9] 03:24:49, metric 1
                    > to 172.16.1.3 via ge-0/0/0.2223, Pop   

5. Router 23-C-PE will swap BGP-LU label.

root@MX:23-C-PE> show route label 299952  

mpls.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

299952             *[VPN/170] 00:42:46
                    > to 172.16.255.2 via ge-0/0/1.1423, Swap 299936

6. Router 14-C-CE will pop the BGP-LU label and will forward simple traffic.

root@MX:14-C-CE> show route label 299936 

mpls.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

299936             *[VPN/170] 00:44:10
                    > to 10.10.1.5 via ge-0/0/0.1415, Pop      
299936(S=0)        *[VPN/170] 00:44:10
                    > to 10.10.1.5 via ge-0/0/0.1415, Pop      

root@MX:14-C-CE> show route 192.168.0.2 

inet.0: 15 destinations, 20 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

192.168.0.2/32     *[BGP/170] 00:21:54, localpref 100, from 10.10.0.16
                      AS path: 1 I, validation-state: unverified
                    > to 10.10.1.5 via ge-0/0/0.1415

Documentation

The VMware Tools installation after Easy Install Ubuntu 14.4.1

Components:

  • MacBook Pro with Sierra 10.12.6 as Host
  • VMWare Fusion PRO 10.1.1
  • Ubuntu Desktop 64-bits 14.4.1 LST as Guest

Problem description:
I have installed Ubuntu using Easy Install. After powering on the VM I can’t install VMware Tools. The option is grey/unavailable.

Observation:
The CD-ROM can not be connected because of one error.

Solution:
Open VMware Fusion application > right click on the corresponding VM > Show in Finder > right click on the corresponding .vmwarevm file > Show Package Contents:

  • If you have autoinst.flp in the VM directory – rename
  • If you have autoinst.iso in the VM directory – rename

Where these files are present and/or configured in the vmx – the virtual machine will be launched in automatic installation mode that prevents the connection files iso vmware-tools

VMware Tools Installation

From VMware Fusion application Menu > Virtual Machine > Reinstall VMware Tools > Install
Follow install window indications for further installation inside Ubuntu OS.

Enjoy!

Install Ubuntu Server on Fusion PRO

Software

  • VMWare Fusion PRO 10.0.1
  • Ubuntu package: ubuntu-14.04.1-server-amd64.iso

How to install a fresh Ubuntu Server

  • Open VMware Fusion > New > Install from disc or image > [ Continue ]
  • Drag and Drop the Ubuntu Image ubuntu-14.04.1-server-amd64.iso already stored into your computer > [ Continue ]
  • Use Easy Install (checked), Display Name: your_name, Account Name: ubuntu_user, Password: ubuntu_password, Confirm Password: ubuntu_password > [ Continue ]
  • [ Customize Settings ] > Save As: custom_name > [ Save ]
  • [ Finish ]
  • From menu chose Virtual Mashine > Setings…
  • Processors & Memory: 1 vCPU, 4G RAM, Advanced Options and check Enable hypervisor applications in this virtual machine
  • Existing NIC used for internet connectivity will be mapped to eth0: Network Adapter > Share with my Mac
  • New NIC used for other purposes will be mapped to eth1: [ Add Device ] >  Network Adapter > vmnet3
  • Delete Camera
  • Delete Printer
  • Power ON the VM and wait for the easy installation. Chose eth0 as the Primary network interface.

Connect using SSH >> ERROR

Check ifconfig

silvia@ubuntu :~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:5f:59:4b 
 inet addr:172.16.226.135 Bcast:172.16.226.255 Mask:255.255.255.0
               ^-- got this IP address form Fusion DHCP
 inet6 addr: fe80::20c:29ff:fe5f:594b/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
 RX packets:86448 errors:0 dropped:0 overruns:0 frame:0
 TX packets:11662 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000 
 RX bytes:118763956 (118.7 MB) TX bytes:1141495 (1.1 MB)

lo Link encap:Local Loopback 
 inet addr:127.0.0.1 Mask:255.0.0.0
 inet6 addr: ::1/128 Scope:Host
 UP LOOPBACK RUNNING MTU:65536 Metric:1
 RX packets:34 errors:0 dropped:0 overruns:0 frame:0
 TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0 
 RX bytes:2632 (2.6 KB) TX bytes:2632 (2.6 KB)

When trying to connect using ssh you will get an error. This is normal as ssh server is not installed.

Murgescus-MacBook-Pro:~ silvia$ ssh silvia@172.16.226.135

ssh: connect to host 172.16.226.135 port 22: Connection refused

Murgescus-MacBook-Pro:~ silvia$

Install a ssh-server

  • Update repositories
silvia@ubuntu :~$ sudo apt-get update
  • And again
silvia@ubuntu :~$ sudo apt-get upgrade
  • Install ssh-server
silvia@ubuntu :~$ apt-get install openssh-server

Connect using SSH >> SUCCESS

Murgescus-MacBook-Pro:~ silvia$ ssh silvia@172.16.226.135
The authenticity of host '172.16.226.135 (172.16.226.135)' can't be established.
ECDSA key fingerprint is SHA256:YCEkSF7rhHph60SRWGbfhHm2lRau5wUpPgjH2VqzMhA.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.226.135' (ECDSA) to the list of known hosts.
silvia@172.16.226.135's password:
Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)

* Documentation: https://help.ubuntu.com/
Last login: Wed Dec 13 06:07:12 2017
silvia@ubuntu:~$

Do you need to configure the network adapters? Find here the solution.

Hardware Limitation and Planning for My MacBook Virtual Network

LAB Diagram and Devices BOM

My intention is to build and test the labs presented in MPLS in SDN Era Book:

As shown in the network diagram the BOM consist of:

  • 10 x Junos Logical Systems Devices: 2xH, 2xCE, 2xPE, 2xBR, 1xRR, 1xP
  • 4 x IOS XRv Virtual Routers Devices: 2xPE, 1xRR, 1xP

Note: H/CE/BR devices can be built also using simple instance-type virtual routers as no additional inside virtualization is needed.

  • 6 x Junos Routing Instances instance-type virtual routers: 2xH, 2xCE, 2xBR
  • 4 x Junos Logical Systems Devices: 2xPE, 1xRR, 1xP
  • 4 x IOS XRv Virtual Routers Devices: 2xPE, 1xRR, 1xP

Continue reading

Full Clone XRv VM with Fusion PRO

For different labs we might need to duplicate VMs: more IOS XR virtual routers, more vSRX Firewalls, etc.

Here is the procedure needed to multiply IOS XRv VMs. The same procedure can be used for any VM we need to safe or multiply.

1. Full Clone XRv VM

1. Open VMWare Fusion UI > Right Click on existing IOS XRv VM > Create Full Clone

2. Rename the new created VM

3. Edit .vmx configuration file and modify the console port

serial0.fileName = "telnet://127.0.0.1:9002

Note: each cloned VM will have different generated MAC addresses.

4. Turn ON the cloned VM.

2. Problem

If I try to power ON too many VMs, I get the “Not Enough Memmory” error.

It is very important the order of the VM I turn ON and the hardware planification.

Cisco SDR and VDC Features

For the SkyLifter project I wish to implement some additional virtualization features. What are Cisco Virtualization options?

  • VRF Lite
  • SDR – Secure Domain Router
  • VDC – Virtual Device Context

VRF Lite

By default a router uses a single global routing table that contains all the directly connected networks and prefixes that it learned through static or dynamic routing protocols.

VRFs are like VLANs for routers, instead of using a single global routing table we can use multiple virtual routing tables. Each interface of the router is assigned to a different VRF.

VRFs are commonly used for MPLS deployments, when we use VRFs without MPLS then we call it VRF lite.

Secure Domain Router (SDR)

Cisco IOS XR Software includes support for an HVR technology known as Secure Domain Routers (SDRs).

The HVR technology dedicates both control plane and data plane resources on a per-module boundary to individual virtual entities, so there is no sharing of either control plane or data plane resources. It is sometimes said that the only resource HVRs share is sheet metal. A lightweight shim layer provides low-level communication between HVRs, who otherwise believe they are independent router entities. Because of dedicated control plane and data plane resources, software applications and forwarding hardware need not implement virtualization. This separation effectively eliminates arbitration for resources between virtual routing entities.

Secure domain routers (SDRs) provide a means of partitioning a router into multiple, independent routers. SDRs perform routing functions in the same manner as a physical router but share resources with the rest of the system. For example, the applications, configurations, protocols, and routing tables assigned to an SDR belong to that SDR only, but other functions such as chassis control, switch fabric, and partitioning are shared with the rest of the system.

SDRs provide full isolation between virtualized routing instances through the use of Distributed Route Processors (DRPs) for extra control plane resources. SDRs are defined on per-slot boundaries, with entire Route Processors (RPs) and Modular Services Cards (MSCs) dedicated to an SDR. Figure below depicts the deployment of SDRs on a Cisco CRS-1 Carrier Routing System running Cisco IOS XR Software.

 

Note: SDR is only available on IOS-XR devices 12K, ASR 9K, CRS. It isn’t usefull for my SkyLifter lab.

You can find more info about Cisco SDR on Cisco White Paper Router Virtualization in Service Providershttps://www.cisco.com/c/en/us/solutions/collateral/routers/carrier-routing-system/white_paper_c11-512753.html

Virtual Device Context

Cisco NX-OS introduces support for virtual device contexts (VDCs), which allows the switches to be virtualized at the device level. Each configured VDC presents itself as a unique device to connected users within the framework of that physical switch. The VDC runs as a separate logical entity within the switch, maintaining its own unique set of running software processes, having its own configuration, and being managed by a separate administrator.

Note: This feature looks like Juniper Logical System feature but it is not supported by IOS XRv. It isn’t usefull for my SkyLifter lab.

You can find more info about VDC on Cisco White Paper Technical Overview of Virtual Device Contextshttps://www.cisco.com/c/en/us/products/collateral/switches/nexus-7000-10-slot-switch/White_Paper_Tech_Overview_Virtual_Device_Contexts.html

Junos vMX Router on VMWare Fusion

I have successfully installed vMX and used it in my labs following the procedure describer into Day One: vMX Up and Running book. But I am curious to see if the installing procedure used for IOS XRv can be used also for the new Nested vMX router from Juniper Networks.

I am still having some trouble with some errors. Maybe it is a resource limitation. I will update the article if I find a solution to make it up and running.
Continue reading

Cisco IOS XRv Basic Info

Cisco IOS XRv Router Overview

The Cisco IOS XRv Router is a Virtual Machine (VM) based platform running 32-bit IOS XR software with the QNX microkernel. This VM contains a single route processor (RP) with control plane functionality, and line card (LC) network interfaces with their associated functionality. It is a representation of the IOS XR software and operating system, including manageability, control plane features, routing and forwarding functionality. The Cisco IOS XRv Router is not an emulation of any physical router or hardware component.
Continue reading