j2320 i problem z filter based forwarding

JunOS / Juniper / Netscreen
Wiadomość
Autor
Trey
fresh
fresh
Posty: 6
Rejestracja: 21 cze 2011, 14:28

j2320 i problem z filter based forwarding

#1

#1 Post autor: Trey »

Witam

Mam problem z konfiguracją (a może i z poprawnym zrozumieniem FBF). Dwa routery spięte iBGP, router A to juniper, router B to quagga. Router A dostaje od B via iBGP pełną tablicę routingu, i chcę żeby dla określonych adresów źródłowych zapiętych za routerem A ruch kierowany był na brame domyślną, bez rozpatrywania tras otrzymanych via iBGP. Jednocześnie chcę zapiąć nową adresację (rozgłaszaną z routera B na świat, ) za routerem A, przemigrować na nią usługi ze starej adresacji i stare adresy oddać operatorowi. Dlatego niestety obydwie adresacje przez pewien czas muszą działać równolegle.

Konfiguracja filtra:

Kod: Zaznacz cały

> show configuration firewall filter FW-GE-0-1.10       
term adresy-pbr {
    from {
        source-address {
            xx.227.201.0/26;
        }
    }
    then {
        count pbr-hit;
        routing-instance 3sf-route-table;
    }
}
term default {
    then {
        count default-hit;
        log;
        accept;
    }
}

Konfiguracja routing-instance:

Kod: Zaznacz cały

3sf-route-table {
    instance-type forwarding;
    routing-options {
        static {
            route 0.0.0.0/0 next-hop xx.14.102.17;
        }
    }
}
Import tras direct/static

Kod: Zaznacz cały

interface-routes {
    rib-group inet do-3s;
}

rib-groups {
    do-3s {
        import-rib [ inet.0 3sf-route-table.inet.0 ];
    }
}

zawartość tablicy po imporcie:

Kod: Zaznacz cały

0.0.0.0/0          *[Static/5] 18:42:27
                    > to 85.14.102.17 via ge-0/0/3.0
10.32.0.2/32       *[Direct/0] 18:42:27
                    > via lo0.0
xx.14.102.16/30    *[Direct/0] 18:42:27
                    > via ge-0/0/3.0
xx.14.102.18/32    *[Local/0] 18:42:27
                      Local via ge-0/0/3.0
xx.227.201.0/26    *[Direct/0] 18:42:27 [b](stara adresacja)[/b]
                    > via ge-0/0/1.10
xx.227.201.1/32    *[Local/0] 18:42:27
                      Local via ge-0/0/1.10
xx.227.201.4/32    *[Local/0] 18:42:27
                      Local via ge-0/0/1.10
172.25.25.0/24     *[Direct/0] 18:42:27
                    > via ge-0/0/1.20
172.25.25.1/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.20
172.25.25.4/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.20
172.25.26.0/24     *[Direct/0] 18:42:27
                    > via ge-0/0/1.10
172.25.26.1/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.10
172.25.26.4/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.10
172.25.27.0/24     *[Direct/0] 18:42:27
                    > via ge-0/0/1.40
172.25.27.4/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.40
172.30.30.0/24     *[Direct/0] 18:42:27
                    > via ge-0/0/1.30
172.30.30.1/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.30
172.30.30.4/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.30
172.30.31.0/24     *[Direct/0] 18:42:27
                    > via ge-0/0/1.31
172.30.31.1/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.31
172.30.31.4/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.31
172.30.32.0/24     *[Direct/0] 18:42:27
                    > via ge-0/0/1.31
172.30.32.1/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.31
172.30.32.4/32     *[Local/0] 18:42:27
                      Local via ge-0/0/1.31
172.31.31.2/32     *[Local/0] 18:42:27
                      Reject
xx.178.114.0/25   *[Direct/0] 18:42:27 [b] (nowa adresacja)[/b]
                    > via ge-0/0/1.10
xx.178.114.1/32   *[Local/0] 18:42:27
                      Local via ge-0/0/1.10
xx.178.114.4/32   *[Local/0] 18:42:27
                      Local via ge-0/0/1.10
xx.178.115.128/30 *[Direct/0] 18:42:27
                    > via ge-0/0/1.50
xx.178.115.129/32 *[Local/0] 18:42:27
                      Local via ge-0/0/1.50
No i podpięcie filtra pod interfejs:

Kod: Zaznacz cały

unit 10 {
    vlan-id 10;
    family inet {
        filter {
            input FW-GE-0-1.10;
        }
        address xx.227.201.4/26 {
         ......
        }
        address xx.178.114.4/25 {
         ......
            }
        }
    }
}
I teraz gdy na routerze B dołożę do konfiguracji ibgp next-hop-self, junek ustawi sobie next-hop'y dla tras bgp na router B, ale: stara adresacja przestaje być osiągalna ze świata, nowa zaczyna działać.

Przykładowe zapytanie DNS kierowane ze świata do hosta na starej adresacji poprawnie do niego trafia (sprawdzane tcpdump'em), host odpowiada, ruch trafia w odpowiednie reguły firewall'a (sprawdzane licznikami i logiem firewall'a), ale nie jest wypychany na brame domyślną zdefiniowaną w routing-instance. Tak jakby junek nadal brał pod uwagę bardziej specyficzne trasy z inet.0 (które teraz kierują na router B), lekceważąc zadaną mu tablicę 3sf-route-table.inet.0.

Macie jakieś pomysły co mogłem popsuć ? ;-)

Trey
fresh
fresh
Posty: 6
Rejestracja: 21 cze 2011, 14:28

#2

#2 Post autor: Trey »

update:

Pomogła zmiana na virtual-router.

Kod: Zaznacz cały

3sf-route-table {
    instance-type virtual-router;
    interface ge-0/0/3.0;
    routing-options {
        static {
            route 0.0.0.0/0 next-hop x.14.102.17;
        }
    }
}
Teraz działa OK.

ODPOWIEDZ