PE1 @ 16 – Seamless MPLS

## Last commit: 2014-07-07 00:30:35 CEST by kszarkowicz
version “14.1I20140611_0655_minto [minto]”;
groups {
    GR-CORE-INTF {
        interfaces {
             {
                traps;
                hold-time up 5000 down 0;
                unit 0 {
                    family inet;
                    family mpls {
                        maximum-labels 5;
                    }
                }
            }
             {
                speed 1g;
                link-mode full-duplex;
                gigether-options {
                    auto-negotiation;
                }
            }
        }
    }
    GR-LSP {
        protocols {
            mpls {
                label-switched-path  {
                    least-fill;
                    adaptive;
                }
            }
        }
    }
    GR-OSPF {
        protocols {
            ospf {
                area  {
                    interface “” {
                        interface-type p2p;
                        authentication {
                            md5 0 key “$9$sngaGk.569pDi9p0BSys24”; ## SECRET-DATA
                        }
                        bfd-liveness-detection {
                            minimum-interval 2000;
                            multiplier 3;
                        }
                    }
                    interface  {
                        passive;
                        metric 1;
                    }
                }
            }
        }
    }
    GR-RSVP {
        protocols {
            rsvp {
                interface “” {
                    authentication-key “$9$OyXSIhyM87s2alK2aZU.mO1R”; ## SECRET-DATA
                    aggregate;
                    reliable;
                    subscription 90;
                }
            }
        }
    }
}
system {
    host-name 02-PE1;
    time-zone Europe/Vienna;
    arp {
        purging;
        gratuitous-arp-on-ifup;
        gratuitous-arp-delay 6;
    }
    root-authentication {
        encrypted-password “$1$kBnCFAVv$yCkmUO5F6Nef2KjXXFg6c.”; ## SECRET-DATA
    }
    login {
        user kszarkowicz {
            full-name “Krzysztof Grzegorz Szarkowicz”;
            uid 2000;
            class super-user;
            authentication {
                encrypted-password “$1$OlGAxJOb$VCpfftbRCvhSvLsEZoY.T0”; ## SECRET-DATA
                ssh-rsa “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNrYGXXiIQNeB5ai/dQs7S5ua7FNMLbItfV/jRxNQzARRzeEYTe+kqWdyEftH1PBrFag5KAe/pZ/TmWyvM1TB5Qlbg7viQ2so3ITNXoXKpk+q1h1MYUgISE3F7dZ1a6TpF6uegEhduorvLHrrXH/77o+dzGEY9MTxAjaf00sH+MF3O/yXVH82fPpMAVu52Wviibo3xSX3y1I9fj4qTDqyuWdRBuEhOKTxehyn7fm5B93tfhz7Y0efkadypEvZlx9YpPSE3Jb8uNxMp3jCAYicoPwxU60RO7ouY3gfvL5pF61oP3efMUQAm9Hc7OxUHAKLuAyBS+JI5LE0MNYyZEjnX kszarkowicz@juniper.net”; ## SECRET-DATA
            }
        }
    }
    static-host-mapping {
        ABR1 inet [ 172.16.20.10 10.0.20.5 10.0.20.12 10.0.21.1 10.0.21.13 ];
        ABR2 inet [ 172.16.20.20 10.0.20.7 10.0.20.13 10.0.21.3 10.0.21.15 ];
        ASBR1 inet [ 172.16.10.101 10.0.10.1 10.0.10.6 10.0.10.11 10.1.2.0 ];
        ASBR2 inet [ 172.16.10.102 10.0.10.3 10.0.10.7 10.0.10.9 10.1.2.2 ];
        ASBR3 inet [ 172.16.20.103 10.0.20.1 10.0.20.8 10.1.2.1 ];
        ASBR4 inet [ 172.16.20.104 10.0.20.3 10.0.20.9 10.1.2.3 ];
        P1 inet [ 172.16.20.1 10.0.20.0 10.0.20.4 10.0.20.10 ];
        P2 inet [ 172.16.20.2 10.0.20.2 10.0.20.6 10.0.20.11 ];
        P3 inet [ 172.16.21.3 10.0.21.0 10.0.21.4 10.0.21.8 10.0.21.14 10.0.21.16 ];
        P4 inet [ 172.16.21.4 10.0.21.2 10.0.21.6 10.0.21.9 10.0.21.12 10.0.21.18 ];
        PE1 inet [ 172.16.10.11 10.0.10.0 10.0.10.4 10.0.10.8 ];
        PE1-VRF-A inet 192.168.1.11;
        PE1-VRF-B inet [ 192.168.2.11 10.2.1.1 10.2.5.1 ];
        PE1-VRF-C inet [ 192.168.3.11 10.3.1.1 10.3.5.1 ];
        PE2 inet [ 172.16.10.22 10.0.10.2 10.0.10.5 10.0.10.10 ];
        PE2-VRF-A inet 192.168.1.22;
        PE2-VRF-B inet [ 192.168.2.22 10.2.2.1 10.2.5.2 ];
        PE2-VRF-C inet [ 192.168.3.22 10.3.2.1 10.3.5.2 ];
        PE3 inet [ 172.16.21.33 10.0.21.5 10.0.21.10 10.0.21.19 ];
        PE3-VRF-A inet 192.168.1.33;
        PE3-VRF-B inet [ 192.168.2.33 10.2.3.1 10.2.6.3 ];
        PE3-VRF-C inet [ 192.168.3.33 10.3.3.1 10.3.6.3 ];
        PE4 inet [ 172.16.21.44 10.0.21.7 10.0.21.11 10.0.21.17 ];
        PE4-VRF-A inet 192.168.1.44;
        PE4-VRF-B inet [ 192.168.2.44 10.2.4.1 10.2.6.4 ];
        PE4-VRF-C inet [ 192.168.3.44 10.3.4.1 10.3.6.4 ];
        CE1-B inet [ 192.168.2.1 10.2.1.0 ];
        CE2-B inet [ 192.168.2.2 10.2.2.0 ];
        CE3-B inet [ 192.168.2.3 10.2.3.0 ];
        CE4-B inet [ 192.168.2.4 10.2.4.0 ];
        CE5-B inet [ 192.168.2.5 10.2.5.5 ];
        CE6-B inet [ 192.168.2.6 10.2.6.6 ];
        CE1-C inet [ 192.168.3.1 10.3.1.0 ];
        CE2-C inet [ 192.168.3.2 10.3.2.0 ];
        CE3-C inet [ 192.168.3.3 10.3.3.0 ];
        CE4-C inet [ 192.168.3.4 10.3.4.0 ];
        CE5-C inet [ 192.168.3.5 10.3.5.5 ];
        CE6-C inet [ 192.168.3.6 10.3.6.6 ];
    }
    services {
        ftp;
        ssh;
        telnet;
    }
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
        time-format year millisecond;
    }
    compress-configuration-files;
    commit synchronize;
}
chassis {
    network-services enhanced-ip;
}
interfaces {
    ge-0/0/0 {
        description Management;
        mac 00:50:56:8b:0a:77;
        unit 0 {
            family inet {
                address 10.255.2.11/16;
            }
        }
    }
    ge-0/0/2 {
        apply-groups GR-CORE-INTF;
        description ASBR1:ge-0/0/2;
        mac 00:50:56:8b:16:bb;
        unit 0 {
            family inet {
                address 10.0.10.0/31;
            }
        }
    }
    ge-0/0/3 {
        apply-groups GR-CORE-INTF;
        description ASBR2:GigabitEthernet0/0/0/3;
        mac 00:50:56:8b:86:bd;
        unit 0 {
            family inet {
                address 10.0.10.8/31;
            }
        }
    }
    ge-0/0/4 {
        apply-groups GR-CORE-INTF;
        description PE2:GigabitEthernet0/0/0/4;
        mac 00:50:56:8b:64:10;
        unit 0 {
            family inet {
                address 10.0.10.4/31;
            }
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address 172.16.10.11/32 {
                    primary;
                }
            }
        }
        unit 1 {
            family inet {
                address 192.168.1.11/32;
            }
        }
    }
}
routing-options {
    interface-routes {
        rib-group inet RG-LOCAL-LOOPBACK;
    }
    rib-groups {
        RG-LOCAL-LOOPBACK {
            import-rib [ inet.0 inet.3 ];
            import-policy PL-LOCAL-LOOPBACK;
        }
        RG-REMOTE-LOOPBACKS {
            import-rib [ inet.3 inet.0 ];
            import-policy PL-REMOTE-LOOPBACKS;
        }
    }
    router-id 172.16.10.11;
    autonomous-system 65001;
    forwarding-table {
        export PL-LOAD-BALANCE;
    }
}
protocols {
    rsvp {
        apply-groups GR-RSVP;
        interface ge-0/0/2.0;
        interface ge-0/0/3.0;
        interface ge-0/0/4.0;
        interface fxp0.0 {
            disable;
        }
    }
    mpls {
        apply-groups GR-LSP;
        optimize-aggressive;
        smart-optimize-timer 60;
        icmp-tunneling;
        optimize-timer 60;
        label-switched-path PE1—>PE2 {
            to 172.16.10.22;
        }
        label-switched-path PE1—>ASBR1 {
            to 172.16.10.101;
        }
        label-switched-path PE1—>ASBR2 {
            to 172.16.10.102;
        }
        interface fxp0.0 {
            disable;
        }
        interface all;
    }
    bgp {
        precision-timers;
        path-selection external-router-id;
        advertise-inactive;
        log-updown;
        group IBGP-RR {
            type internal;
            local-address 172.16.10.11;
            family inet {
                labeled-unicast {
                    rib-group RG-REMOTE-LOOPBACKS;
                    aigp;
                    per-prefix-label;
                    rib {
                        inet.3;
                    }
                }
            }
            family inet-vpn {
                unicast;
            }
            export PL-BGP-UP-LU-EXP;
            neighbor 172.16.10.101;
            neighbor 172.16.10.102;
        }
    }
    ospf {
        apply-groups GR-OSPF;
        spf-options {
            delay 50;
            holddown 2000;
            rapid-runs 5;
        }
        traffic-engineering;
        reference-bandwidth 1000g;
        area 0.0.0.0 {
            interface lo0.0 {
                passive;
            }
            interface ge-0/0/2.0;
            interface ge-0/0/3.0;
            interface ge-0/0/4.0;
        }
    }
    lldp {
        interface all;
    }
}
policy-options {
    policy-statement PL-BGP-UP-LU-EXP {
        term LOCAL-LOOPBACK {
            from {
                protocol direct;
                rib inet.3;
                community CM-LOOPBACKS-100;
            }
            then {
                aigp-originate;
                next-hop self;
                accept;
            }
        }
        from rib inet.3;
        then reject;
    }
    policy-statement PL-LOAD-BALANCE {
        then {
            load-balance per-packet;
        }
    }
    policy-statement PL-LOCAL-LOOPBACK {
        term LOCAL-LOOPBACK {
            from {
                protocol direct;
                interface lo0.0;
                route-filter 0.0.0.0/0 prefix-length-range /32-/32;
            }
            then {
                metric 0;
                origin incomplete;
                community add CM-LOOPBACKS-100;
                accept;
            }
        }
        then reject;
    }
    policy-statement PL-REMOTE-LOOPBACKS {
        term ALL-LOOPBACKS {
            from {
                protocol bgp;
                community CM-LOOPBACKS-ALL;
            }
            then {
                community add CM-NO-ADVERTISE;
                accept;
            }
        }
        then reject;
    }
    community CM-LOOPBACKS-100 members 65000:11100;
    community CM-LOOPBACKS-ALL members 65000:11…;
    community CM-NO-ADVERTISE members no-advertise;
}
routing-instances {
    VRF-A {
        instance-type vrf;
        interface lo0.1;
        route-distinguisher 172.16.10.11:101;
        vrf-target target:65000:1001;
        vrf-table-label;
    }
}

Advertisements