MPLS E L2circuit COM LSP EM ROTEADORES JUNIPER

Share Button

English Title: MPLS and L2Circuit with LSP in Juniper Routers

Aproveitando o post anterior e dando continuidade nos estudos de MPLS, aproveitei o mesmo cenário já virtualizado para emular circuitos L2 com o l2circuit nos junipers.

O cenário é bem semelhante ao VPLS, no entanto nem todas as linhas de equipamentos da Juniper suportam tuneis L2 ou L3 com VPLS nesse caso a uma alternativa para o L2 é o L2CIRCUIT.

O l2circuit é balanceado entre duas LSPs e com failover automático caso uma LSP estiver inativa.

Para esse LAB utilizaremos os seguintes equipamentos virtualizados

3 – vMX (Juniper MX virtualized)

2 – CHR (Mikrotik RouterOS Cloud Hosted Router)

Topologia

topologia

Abaixo segue as configurações realizadas em todos os equipamentos.

Configuração do R1

system {
    host-name R1;
    services {
        ssh {
            protocol-version v2;
        }
    }
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
}
interfaces {
    ge-0/0/0 {
        description ROUTER-2;
        mtu 2000;
        unit 0 {
            family inet {
                address 10.0.0.1/30;
            }
            family mpls;
        }
    }                                   
    ge-0/0/1 {
        description ROUTER-3;
        mtu 2000;
        unit 0 {
            family inet {
                address 10.0.3.1/30;
            }
            family mpls;
        }
    }
    ge-0/0/2 {
        description MK-01;
        flexible-vlan-tagging;
        mtu 2000;
        encapsulation vlan-ccc;
        unit 800 {
            encapsulation vlan-ccc;
            vlan-id 800;
        }
    }
    fxp0 {
        unit 0 {
            family inet {
                address 192.168.0.101/24;
            }
        }                               
    }
    lo0 {
        unit 0 {
            family inet {
                address 10.1.1.1/32;
            }
        }
    }
}
protocols {
    rsvp {
        load-balance bandwidth;
        interface ge-0/0/1.0;
        interface ge-0/0/0.0;
    }
    mpls {
        label-switched-path PRINCIPAL {
            to 10.2.1.1;
            bandwidth 10m;
            primary DIRETO;
        }
        label-switched-path SECUNDARIA {
            to 10.2.1.1;
            bandwidth 10m;
            primary VIAR3;
        }
        path DIRETO {
            10.2.1.1;
        }
        path VIAR3 {
            10.3.1.1;
            10.2.1.1;
        }
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
    }                                   
    ospf {
        traffic-engineering;
        area 0.0.0.0 {
            interface ge-0/0/0.0;
            interface ge-0/0/1.0;
            interface ge-0/0/2.0;
            interface lo0.0;
        }
    }
    ldp {
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
        interface lo0.0;
    }
    l2circuit {
        neighbor 10.2.1.1 {
            interface ge-0/0/2.800 {
                virtual-circuit-id 1;
            }
        }
    }
}
policy-options {
    policy-statement load-balancing {
        then {
            load-balance per-packet;
        }
    }
}

Configuração do R2

system {
    host-name R2;
    services {
        ssh {
            protocol-version v2;
        }
    }
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
}
interfaces {
    ge-0/0/0 {
        mtu 2000;
        unit 0 {
            family inet {
                address 10.0.0.2/30;
            }
            family mpls;
        }
    }
    ge-0/0/1 {                          
        mtu 2000;
        unit 0 {
            family inet {
                address 10.0.2.1/30;
            }
            family mpls;
        }
    }
    ge-0/0/2 {
        flexible-vlan-tagging;
        encapsulation vlan-ccc;
        unit 800 {
            encapsulation vlan-ccc;
            vlan-id 800;
        }
    }
    fxp0 {
        unit 0 {
            family inet {
                address 192.168.0.102/24;
            }
        }
    }
    lo0 {
        unit 0 {
            family inet {               
                address 10.2.1.1/32;
            }
        }
    }
}
protocols {
    rsvp {
        load-balance bandwidth;
        interface ge-0/0/1.0;
        interface ge-0/0/0.0;
    }
    mpls {
        label-switched-path PRINCIPAL {
            to 10.1.1.1;
            bandwidth 10m;
            primary DIRETO;
        }
        label-switched-path SECUNDARIA {
            to 10.1.1.1;
            bandwidth 10m;
            primary VIAR3;
        }
        path DIRETO {
            10.1.1.1;
        }
        path VIAR3 {
            10.3.1.1;
            10.1.1.1;
        }
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
    }
    ospf {
        traffic-engineering;
        area 0.0.0.0 {
            interface ge-0/0/0.0;       
            interface ge-0/0/1.0;
            interface ge-0/0/2.0;
            interface lo0.0;
        }
    }
    ldp {
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
        interface lo0.0;
    }
    l2circuit {
        neighbor 10.1.1.1 {
            interface ge-0/0/2.800 {
                virtual-circuit-id 1;
            }
        }
    }
}
policy-options {
    policy-statement load-balancing {
        then {
            load-balance per-packet;
        }
    }
}


Configuração do R3

system {
    host-name R3;
    services {
        ssh {
            protocol-version v2;
        }
    }
    syslog {
        user * {
            any emergency;
        }
        file messages {
            any notice;
            authorization info;
        }
        file interactive-commands {
            interactive-commands any;
        }
    }
}
interfaces {
    ge-0/0/0 {
        mtu 2000;
        mac 52:54:00:bf:a1:0d;
        unit 0 {
            family inet {
                address 10.0.2.2/30;
            }
            family mpls;
        }
    }
    ge-0/0/1 {                          
        mtu 2000;
        mac 52:54:00:29:54:42;
        unit 0 {
            family inet {
                address 10.0.3.2/30;
            }
            family mpls;
        }
    }
    fxp0 {
        unit 0 {
            family inet {
                address 192.168.0.103/24;
            }
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address 10.3.1.1/32;
            }
        }
    }
}
protocols {
    rsvp {
        load-balance bandwidth;
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
    }                                   
    mpls {
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
    }
    ospf {
        traffic-engineering;
        area 0.0.0.0 {
            interface ge-0/0/0.0;
            interface ge-0/0/1.0;
            interface lo0.0;
        }
    }
    ldp {
        interface ge-0/0/0.0;
        interface ge-0/0/1.0;
        interface lo0.0;
    }
}

Mikrotik-1

/system identity
set name=MIKROTIK-01
/interface vlan
add interface=ether2 name=vlan1 vlan-id=800
add interface=vlan1 name=vlan2 vlan-id=900
/ip address
add address=192.168.0.104/24 interface=ether1 network=192.168.0.0
add address=10.10.10.1/30 interface=vlan1 network=10.10.10.0
add address=10.20.10.1/30 interface=vlan2 network=10.20.10.0

Mikrotik-2

/system identity
set name=MIKROTIK-02
/interface vlan
add interface=ether1 name=vlan1 vlan-id=800
add interface=vlan1 name=vlan2 vlan-id=900
/ip address
add address=192.168.0.105/24 interface=ether2 network=192.168.0.0
add address=10.10.10.2/30 interface=vlan1 network=10.10.10.0
add address=10.20.10.2/30 interface=vlan2 network=10.20.10.0

Checando a conexão l2circuit

root@R1> show l2circuit connections

l2circui-connections

Checando o database do LDP

root@R1> show ldp database

l2circuit-ldp

Testando do Mikrotik

mk-teste-l2-circuit