Jeśli jeszcze nie zapoznałeś się z teorią dotyczącą OSPF, polecam zajrzeć do wpisu na blogu opisującego podstawy.
W ramach praktyki przećwiczymy tworzenie jednoobszarowego OSPF łączącego dwie sieci LAN. Do celów testowych wykorzystamy dwa routery oraz po dwa komputery symulujące sieci lokalne.
Oczywiście jest to tylko przykładowa, bardzo prosta implementacja OSPF dla pojedynczego obszaru. Nic nie stoi na przeszkodzie, aby w pojedynczym obszarze było znacznie więcej routerów oraz urządzeń końcowych, o ile nasze urządzenia mają wystarczającą moc obliczeniową.
W podanej powyżej topologii mamy dwie sieci LAN: 10.0.0.0/8 i 20.0.0.0/8, oraz sieć pomiędzy routerami 192.168.0.0/24.
Adresacja wygląda następująco:
R1 - GigabitEthernet0/0 - 192.168.0.1 GigabitEthernet0/1 - 10.0.0.1
R2 - GigabitEthernet0/0 - 20.0.0.1 GigabitEthernet0/1 - 192.168.0.2
PC0 - FastEthernet0 - 10.0.0.2
PC1 - FastEthernet0 - 10.0.0.3
PC3 - FastEthernet0 - 20.0.0.2
PC4 - FastEthernet0 - 20.0.0.3
Podstawowa konfiguracja OSPF
R1(config)#router ospf 1
R1(config-router)#network 192.168.0.1 0.0.0.0 area 0
R1(config-router)#network 10.0.0.1 0.0.0.0 area 0
R1(config-router)#passive-interface gigabitEthernet 0/1
R2(config)#router ospf 1
R2(config-router)#network 192.168.0.2 0.0.0.0 area 0
R2(config-router)#network 20.0.0.1 0.0.0.0 area 0
R2(config-router)#passive-interface gigabitEthernet 0/1
Podane powyżej polecenia wymagają kilku słów wyjaśnienia:
R1(config)#router ospf 1 – Rozpoczynamy proces OSPF o numerze 1. Równocześnie na jednym urządzeniu może funkcjonować kilka różnych procesów. Zakres identyfikatora procesu mieści się pomiędzy 1 a 65 535. Identyfikator procesu nie jest jednoznaczny z przynależnością do konkretnej strefy.
Więcej o superbackone przeczytasz na blogu:
R1(config-router)#network 10.0.0.1 0.0.0.0 area 0 – Słowo "network" w tym przypadku jest wyjątkowo podstępne, ponieważ OSPF rozgłasza interfejsy, a nie całe sieci. Zastosowana tutaj maska wildcard wyznacza, które interfejsy należy dodać do strefy 0, w tym przypadku dodajemy wyłącznie interfejs z adresem IP 10.0.0.1.
Pamiętaj, że cała sieć 10.0.0.1/8 zostanie rozgłoszona poprzez LSU, nie tylko sam interfejs.
R1(config-router)#passive-interface gigabitEthernet 0/1 – Wyłącza interfejs z komunikacji w ramach ustalania sąsiedztwa w protokole OSPF oraz jego utrzymywania.
Sprawdźmy czy konfiguracja działa. Pingujemy z PC3 do PC2.
C:\>ping 10.0.0.2
Pinging 10.0.0.2 with 32 bytes of data:
Reply from 10.0.0.2: bytes=32 time=17ms TTL=126
Reply from 10.0.0.2: bytes=32 time<1ms TTL=126
Reply from 10.0.0.2: bytes=32 time<1ms TTL=126
Reply from 10.0.0.2: bytes=32 time<1ms TTL=126
Ping statistics for 10.0.0.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 17ms, Average = 4ms
Dodatkowe komendy, które warto znać
R1(config)#router ospf 1
R1(config-router)#router-id 10.0.0.1
R1(config-router)#router-id 10.0.0.1 – Parametr router-id jest brany pod uwagę w procesie elekcji DR/BDR w przypadku, gdy istnieje kilka routerów z takim samym, wygrywa ten z najwyższym priorytetem. Router-id pełni rolę identyfikatora urządzenia w procesie OSPF oraz znajduje się na liście sąsiadów.
Warto zauważyć, że router-id jest rozgłaszany tylko podczas nawiązywania sąsiedztwa. Jeśli w przyszłości zechcesz zmienić ten parametr, konieczne będzie również wyczyszczenie procesu OSPF.
R1#clear ip ospf process
R1#clear ip ospf process – Całkowicie czyści wszystkie procesy.
R1(config)#interface gigabitEthernet 0/0
R1(config-if)#ip ospf priority 50
R1(config-if)# ip ospf priority 50 – Polecenie to ustawia wartość priorytetu interfejsu podczas elekcji DR/BDR.
R1(config)#interface gigabitEthernet 0/0
R1(config)#ip ospf cost 1586
R1(config)#ip ospf cost 1586 – Ten polecenie zmienia wartość kosztu przejścia pakietów przez dany interfejs. Domyślnie wartość tego parametru jest obliczana poprzez podzielenie przepustowości interfejsu przez wartość referencyjną.
R1(config)#ip route 0.0.0.0 0.0.0.0 gigabitEthernet 0/0
R1(config)#router ospf 1
R1(config-router)# default-information originate
R1(config-router)# default-information originate – Nasz router rozgłasza trasę domyślną do pozostałych sąsiadów w ramach swojego obszaru.
R1> show ip protocols
R1> show ip protocols – Wyświetla informacje o wszystkich uruchomionych protokołach na routerze.
R1> show ip ospf
R1> show ip ospf – Wyświetla podstawowe informacje o działających procesach na routerze.
R1> show ip neighbor
R1> show ip neighbor – Wyświetla informacje o sąsiadach oraz ich aktualny status.
R1>show ip ospf database
R1>show ip ospf database – Wyświetla zawartość bazy danych OSPF na routerze