Прошу Вас помощи, т.к рунет не особо "пестрит" русскоязычными мануалами по настройке "Птички".
В общем ситуация следующая:
Имеются сети на микротиках, все микротики подключаются к центральному микротику по L2TP, и обмениваются с ним маршрутами по OSPF. Интерфейсы выставлены в тип p-t-p, вся маршрутная информация в одной area (backbone). Все работает замечательно, вопросов и проблем каких-либо не возникает, но, среди микротиков есть "белая ворона", PC маршрутизатор на Debian со своей сетью за ним.
Debian так же подключен к центральному микротику по L2TP. Стояла на дебиане Quagga - в ней все работает замечательно, принимает все сети от центрального микротика по OSPF и анонсирует в ответ информацию о сети за собой.
Решил я как-то на Debian переехать с Quagga на BIRD (т.к в нем есть поддержка нескольких таблиц маршрутизации, а в quagga нет), и тут столкнулся с проблемой. Сеть из микротиков видит сети пришедшие от Debian в OSPF как AS External (LSA type 5), и не помещает данные сети в таблицу маршрутизации. В случае с Quagga - все определяется как надо, сети от дебиана классифицируются как intra area.
В общем вот конфиг BIRD с которым наблюдается проблема:
cat /etc/bird.conf | grep -v ^# | grep -v ^$
- Код: Выделить всё
timeformat base iso long;
timeformat log iso long;
timeformat protocol iso long;
timeformat route iso long;
log "/var/log/bird.log" all;
log stderr all;
filter import_OSPF {
if ( source = RTS_OSPF && net != 0.0.0.0/0 && net != 10.10.0.1/32 ) then {
print "net accepted:", net;
accept;
}
reject;
}
filter export_OSPF {
if net = 192.168.100.0/24 then {
ospf_metric2 = 25;
accept;
}
reject;
}
table rostelecom;
table orion_telecom;
protocol direct {
debug all;
interface "br0"; # Restrict network interfaces it works with
}
protocol kernel {
learn;
import all;
persist off; # Don’t remove routes on bird shutdown
scan time 20; # Scan kernel routing table every 20 seconds
export all; # Default is export none
}
protocol kernel {
table orion_telecom;
learn;
scan time 20;
kernel table 101;
export all;
}
protocol kernel {
table rostelecom;
learn;
scan time 20;
kernel table 102;
export all;
}
protocol device {
scan time 2; # Scan interfaces every 10 seconds
}
protocol pipe {
table orion_telecom;
peer table master;
import all;
}
protocol pipe {
table rostelecom;
peer table master;
import all;
}
protocol ospf MyOSPF {
router id 192.168.100.100;
export filter export_OSPF;
import filter import_OSPF;
debug all;
tick 2;
rfc1583compat yes;
area 0.0.0.0 {
stub no;
interface "ppp0.gygol.loc" {
hello 10;
retransmit 5;
cost 10;
transmit delay 1;
dead count 4;
wait 40;
type pointopoint;
};
};
};
Вот что в OSPF Routes на Микротике
- Код: Выделить всё
[admin@Master] > routing ospf route print
# DST-ADDRESS STATE COST GATEWAY INTERFACE
0 10.10.0.1/32 intra-area 200 10.10.0.2 L2TP1
10.10.0.3 L2TP2
10.10.0.5 L2TP3
10.10.0.6 L2TP4
10.10.0.7 L2TP5
10.10.0.8 L2TP6
10.10.0.9 L2TP7
10.10.0.10 L2TP8
1 10.10.0.2/32 intra-area 100 0.0.0.0 L2TP1
2 10.10.0.3/32 intra-area 100 0.0.0.0 L2TP2
3 10.10.0.4/32 intra-area 100 0.0.0.0 L2TP_DEBIAN
4 10.10.0.5/32 intra-area 100 0.0.0.0 L2TP3
5 10.10.0.6/32 intra-area 100 0.0.0.0 L2TP4
6 10.10.0.7/32 intra-area 100 0.0.0.0 L2TP5
7 10.10.0.8/32 intra-area 100 0.0.0.0 L2TP6
8 10.10.0.9/32 intra-area 100 0.0.0.0 L2TP7
9 10.10.0.10/32 intra-area 100 0.0.0.0 L2TP8
10 10.10.0.11/32 intra-area 100 0.0.0.0 L2TP9
11 10.10.1.1/32 intra-area 250 10.10.0.2 L2TP1
10.10.0.3 L2TP2
10.10.0.5 L2TP3
10.10.0.6 L2TP4
10.10.0.7 L2TP5
10.10.0.8 L2TP6
10.10.0.9 L2TP7
12 10.10.1.2/32 intra-area 160 192.168.254.2 ipip_to_slave
13 10.10.1.3/32 intra-area 160 192.168.254.2 ipip_to_slave
14 10.10.1.5/32 intra-area 160 192.168.254.2 ipip_to_slave
15 10.10.1.6/32 intra-area 160 192.168.254.2 ipip_to_slave
16 10.10.1.7/32 intra-area 160 192.168.254.2 ipip_to_slave
17 10.10.1.8/32 intra-area 160 192.168.254.2 ipip_to_slave
18 10.10.1.9/32 intra-area 160 192.168.254.2 ipip_to_slave
19 192.168.35.0/24 inter-area 110 10.10.0.9 L2TP7
20 192.168.40.0/24 inter-area 110 10.10.0.8 L2TP6
21 192.168.41.0/24 inter-area 110 10.10.0.7 L2TP5
22 192.168.42.0/24 inter-area 110 10.10.0.6 L2TP4
23 192.168.43.0/24 inter-area 110 10.10.0.5 L2TP3
24 192.168.44.0/24 inter-area 110 10.10.0.3 L2TP2
25 192.168.45.0/24 inter-area 110 10.10.0.2 L2TP1
26 192.168.46.0/24 inter-area 160 192.168.254.2 ipip_to_slave
27 192.168.55.0/24 intra-area 100 0.0.0.0 LAN master (ether3)
28 192.168.60.0/24 intra-area 110 10.10.0.10 L2TP8
[b]29 192.168.100.0/24 ext-2 25 [/b]
30 192.168.250.0/24 inter-area 110 10.10.0.6 L2TP4
31 192.168.254.0/30 intra-area 150 0.0.0.0 ipip_to_slave
Вот конфиг Quagga, с которым нет данной проблемы (прошу не пинать, уверен, что в нем есть ошибки):
- Код: Выделить всё
root@debian:/home# cat /etc/quagga/ospfd.conf | grep -v ^! | grep -v ^$
hostname ospfd-router
password *****
enable password *****
log file /var/log/quagga/ospfd.log
interface eth0
description Orionnet.ru
interface eth1
description LAN
interface eth2
interface lo
interface ppp0
interface ppp0.gygol.loc
description ppp0.gygol.loc
ip ospf cost 10
interface ppp1
interface ppp1.wsthdd.ru
router ospf
ospf router-id 192.168.100.100
redistribute kernel route-map TO-OSPF
redistribute connected route-map TO-OSPF
redistribute static route-map TO-OSPF
network 10.10.0.0/28 area 0.0.0.0
network 192.168.100.0/24 area 0.0.0.0
distribute-list WSTHDD out kernel
distribute-list WSTHDD out connected
distribute-list WSTHDD out static
access-list WSTHDD deny 192.168.55.0/24
ip prefix-list ospf-new seq 10 permit 192.168.100.0/24 le 32
ip prefix-list ospf-new seq 20 permit 192.168.10.0/24 le 32
ip prefix-list ospf-new seq 30 permit 10.10.0.0/28 le 32
ip prefix-list ospf-new seq 40 deny any
route-map TO-OSPF permit 10
match ip address prefix-list ospf-new
line vty
root@debian:/home#
Если останавливаю BIRD и запускаю Quagga - то на микротике следующая картина, и все работает:
- Код: Выделить всё
[admin@Master] > routing ospf route print
# DST-ADDRESS STATE COST GATEWAY INTERFACE
0 10.10.0.1/32 intra-area 110 10.10.0.4 L2TP_DEBIAN
1 10.10.0.2/32 intra-area 100 0.0.0.0 L2TP1
2 10.10.0.3/32 intra-area 100 0.0.0.0 L2TP2
3 10.10.0.4/32 intra-area 100 0.0.0.0 L2TP_DEBIAN
4 10.10.0.5/32 intra-area 100 0.0.0.0 L2TP3
5 10.10.0.6/32 intra-area 100 0.0.0.0 L2TP4
6 10.10.0.7/32 intra-area 100 0.0.0.0 L2TP5
7 10.10.0.8/32 intra-area 100 0.0.0.0 L2TP6
8 10.10.0.9/32 intra-area 100 0.0.0.0 L2TP7
9 10.10.0.10/32 intra-area 100 0.0.0.0 L2TP8
10 10.10.0.11/32 intra-area 100 0.0.0.0 L2TP9
11 10.10.1.1/32 intra-area 250 10.10.0.2 L2TP1
10.10.0.3 L2TP2
10.10.0.5 L2TP3
10.10.0.6 L2TP4
10.10.0.7 L2TP5
10.10.0.8 L2TP6
10.10.0.9 L2TP7
12 10.10.1.2/32 intra-area 160 192.168.254.2 ipip_to_slave
13 10.10.1.3/32 intra-area 160 192.168.254.2 ipip_to_slave
14 10.10.1.5/32 intra-area 160 192.168.254.2 ipip_to_slave
15 10.10.1.6/32 intra-area 160 192.168.254.2 ipip_to_slave
16 10.10.1.7/32 intra-area 160 192.168.254.2 ipip_to_slave
17 10.10.1.8/32 intra-area 160 192.168.254.2 ipip_to_slave
18 10.10.1.9/32 intra-area 160 192.168.254.2 ipip_to_slave
19 192.168.35.0/24 inter-area 110 10.10.0.9 L2TP7
20 192.168.40.0/24 inter-area 110 10.10.0.8 L2TP6
21 192.168.41.0/24 inter-area 110 10.10.0.7 L2TP5
22 192.168.42.0/24 inter-area 110 10.10.0.6 L2TP4
23 192.168.43.0/24 inter-area 110 10.10.0.5 L2TP3
24 192.168.44.0/24 inter-area 110 10.10.0.3 L2TP2
25 192.168.45.0/24 inter-area 110 10.10.0.2 L2TP1
26 192.168.46.0/24 inter-area 160 192.168.254.2 ipip_to_slave
27 192.168.55.0/24 intra-area 100 0.0.0.0 LAN master (ether3)
28 192.168.60.0/24 intra-area 110 10.10.0.10 L2TP8
[b]29 192.168.100.0/24 intra-area 110 10.10.0.4 L2TP_DEBIAN [/b]
30 192.168.250.0/24 inter-area 110 10.10.0.6 L2TP4
31 192.168.254.0/30 intra-area 150 0.0.0.0 ipip_to_slave
Люди добрые, подскажите пожалуйста где я допустил ошибку?