Поиск по этому блогу

вторник, 18 декабря 2012 г.

Juniper: vpls, l2 point-multipoint

Задача: есть 2 маршрутизатора Cisco и один маршрутизатор Juniper MX-80, собрать на втором уровне трафик на джунипере, третий уровень клиент себе настроит так как захочет.

Cisco маршрутизаторы rc0 и rc1. Juniper маршрутизатор rj0.

Конфигурация rc0 (xx.xx.171.185), Gi0/1.2222:
rc0#sh run int Gi0/1.2222
interface GigabitEthernet0/1.2222
 description junos vpls test
 encapsulation dot1Q 2222
 xconnect xx.xx.120.69 2222 encapsulation mpls
end
Конфигурация rc1 (xx.xx.171.187), Gi0/1.2222:
rc1#sh run int Gi0/1.2222
interface GigabitEthernet0/1.2222
 description junos vpls test
 encapsulation dot1Q 2222
 xconnect xx.xx.120.69 2222 encapsulation mpls
end
Конфигурация rj0 (xx.xx.120.69):
rj0> show configuration interfaces ge-1/1/0.2222
set interfaces ge-1/1/0 unit 2222 description "vpls test"
set interfaces ge-1/1/0 unit 2222 encapsulation vlan-vpls
set interfaces ge-1/1/0 unit 2222 vlan-id 2222
set interfaces ge-1/1/0 unit 2222 family vpls
rj0> show configuration routing-instances vpls_test | display set
set routing-instances vpls_test instance-type vpls
set routing-instances vpls_test vlan-id all
set routing-instances vpls_test interface ge-1/1/0.2222
set routing-instances vpls_test protocols vpls no-tunnel-services
set routing-instances vpls_test protocols vpls mtu 2000
set routing-instances vpls_test protocols vpls mesh-group l2ccc vpls-id 2222
set routing-instances vpls_test protocols vpls mesh-group l2ccc local-switching
set routing-instances vpls_test protocols vpls mesh-group l2ccc neighbor xx.xx.171.187 encapsulation-type ethernet-vlan
set routing-instances vpls_test protocols vpls mesh-group l2ccc neighbor xx.xx.171.185 encapsulation-type ethernet-vlan

пятница, 14 декабря 2012 г.

Juniper: аналог cisco global в vrf.

Задача: вывести маршрут из vrf в глобальную таблицу (например для живущих внутри vrf sip-абонентов). Например, из vrf необходимо получить доступ к внешним ресурсам 2xx.xx.xx1.0/28, 2xx.xx.xx0.2/32 и 2xx.xx.xx0.27/32.

Описываем routing-instances:
routing-instances {
    ANOTHER_CLIENT {
        description "ANOTHER CLIENT";
        instance-type vrf;
        interface ge-1/0/1.210;
        interface ge-1/0/7.207;
        interface ge-1/1/0.209;
        route-distinguisher xxxxx:10008;
        vrf-target target:xxxxx:10008;
        vrf-table-label;
        routing-options {
            static {
                route 0.0.0.0/0 next-hop 10.255.xxx.6;
                route 2xx.xx.xx1.0/28 next-table inet.0;
                route 2xx.xx.xx0.2/32 next-table inet.0;
                route 2xx.xx.xx0.27/32 next-table inet.0;
            }
            auto-export {
                family inet {
                    unicast {
                        rib-group Export_VRF_VoiceDevice_to_inet.0;
                    }
                }
            }
        }
    }
}
На маршрут 0.0.0.0/0 не обращаем внимания, это из другой оперы, не относящейся к теме данной статьи.
После этого нарисуем policy-options который затем будет использоваться в rib-groups-е:
policy-options {
    policy-statement VoiceDevice_in_VRF {
        term vd {
            from {
                route-filter 10.255.xxx.4/30 exact;
            }
            then accept;
        }
        then reject;
    }
}
И завершающий штрих, рисуем rib-groups:
routing-options {
    rib-groups {
        Export_VRF_VoiceDevice_to_inet.0 {
            import-rib inet.0;
            import-policy VoiceDevice_in_VRF;
        }
    }
    router-id 9x.xxx.xxx.x9;
    autonomous-system xxxxx;
}