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;
}
}
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;
}
}
}
Kod: Zaznacz cały
interface-routes {
rib-group inet do-3s;
}
rib-groups {
do-3s {
import-rib [ inet.0 3sf-route-table.inet.0 ];
}
}
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
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 {
......
}
}
}
}
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ć ?