След още четене в интернет се оказа, че тестовата мрежа конструирана по горе споменатия начин няма да работи. Има няколко причини за това. Ще ги разберете и вие след като се опитам да обесня основни неща относно динамична маршрутизация и как работи Quagga, доколкото успях да разбера, ако греша моля да ме поправите.
Когато говорим за ЛАН мрежа може да кажем, че почти винаги имаме статично маршрутизиране. Примерно имаме хост, който иска да се свърже с друг хост, какво се случва?
Хостът-източник трябва да определи дали хостът-местоназначение се намира в същата подмрежа като изпълни побитова операция AND, която сравнява IP адреса на хоста-местоназначение с подмрежовата маска на изпращащия хост. Докато не изпълни побитова операция AND, хостът-източник няма представа дали този хост е локален или отдалечен. Ако изпращащата страна определи, че хостът не се намира в локалния сегмент (т.е. е отдалечен), то изпращането на локален ARP няма да достигне отдалечения хост. Тогава изпращащият хост трябва да маршрутизира кадъра като го изпрати към маршрутизатор на локален шлюз.
Препъръчвам ви да прочетете цялата статия:
IР АДРЕСИРАНЕА какво се случва при граничния маршрутизатор? Как граничния маршрутизатор намира хоста-местоназначение?
Тук на помощ идват софтуерите за динамично машрутизиране, един от които е
Quagga.
Quagga е комплексен софтуер за управление на маршрутизиране, който предоставя реализация на протоколите OSPFv2, OSPFv3, RIP v1 и v2, RIPng и BGP-4 за платформи Unix, особено FreeBSD, Linux, Solaris и NetBSD. Неговото ядро се състои от демона zebra, който се използва от другите демони като bgpd ripd ripngd ospfd ospf6d isisd, които от своя страна реализират споменатите протоколи и осъществяват динамичното маршрутизиране.
Нека да рагледаме една статия, в която е използвана Quagga с протокола OSPF:
OSPF simpleНа снимката се виждат два маршрутизатора:
Cisco 2651interface FastEthernet0/0
ip address 200.0.0.2 255.255.255.0
interface FastEthernet0/1
ip address 10.1.0.2 255.255.255.0
QUAGGA 0.99.6interface eth0
ip address 200.0.0.1/24
interface eth1
ip address 10.2.0.1/24
Двата маршрутизатора осъществяват връзката по между си през интерфейси
FastEthernet0/0 <-----------------> eth0 и IP адреси
200.0.0.2 <-----------------> 200.0.0.1По интересното в случай са таблиците за рутиране на двата маршрутизатора след пускането на протокола OSPF.
Cisco 2651C 200.0.0.0/24 is directly connected, FastEthernet0/0
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O 10.2.0.0/24 [110/11] via 200.0.0.1, 00:29:39, FastEthernet0/0
C 10.1.0.0/24 is directly connected, FastEthernet0/1
O 10.200.1.2/32 [110/11] via 200.0.0.1, 00:29:39, FastEthernet0/0
C 10.200.1.1/32 is directly connected, Loopback1
Осъществена е директна връзка към мрежа 200.0.0.0/24 през интерфейс FastEthernet0/0. Когато има заявки към хостове от мрежа 10.2.0.0/24, те ще бъдат изпратени през интерфейс FastEthernet0/0 на IP 200.0.0.1 .
tracert 10.2.0.3QUAGGA 0.99.6C>* 200.0.0.0/24 is directly connected, eth0
C>* 10.2.0.0/24 is directly connected, eth1
C>* 127.0.0.0/8 is directly connected, lo
C>* 10.200.1.2/32 is directly connected, lo
O 10.2.0.0/24 [110/10] is directly connected, eth0, 05:45:59
O 200.0.0.0/24 [110/10] is directly connected, eth0, 05:53:20
O 10.200.1.2/32 [110/10] is directly connected, lo, 05:43:00
O>* 10.1.0.0/24 [110/11] via 200.0.0.2, eth0, 00:16:27
O>* 10.200.1.1/32 [110/11] via 200.0.0.2, eth0, 05:53:10
Съответно, осъществена е директна връзка към мрежа 200.0.0.0/24 през интерфейс eth0. Когато има заявки към хостове от мрежа 10.1.0.0/24, те ще бъдат изпратени през интерфейс eth0 на IP 200.0.0.2 .
tracert 10.1.0.3Това е един прост пример какво представлява динамично маршрутизиране, и как работи протокола OSPF в Quagga.
Това беше нещото, което ме тормозеше толкова време.
В моята тестова мрежа експеримента нямаше как да се получи, понеже ми трябваха минимум два маршрутизатора с две различни мрежи зад тях и с поне един хост във всяка мрежа.