ROUTING DYNAMICZNY. Łukasz Bromirski. ...a Linux. lukasz@bromirski.net



Podobne dokumenty
Mechanizmy routingu w systemach wolnodostępnych

(secure) ROUTING WITH OSPF AND BGP FOR FUN, FUN & FUN. Łukasz Bromirski. lukasz@bromirski.net

PROTOKOŁY DYNAMICZNEGO ROUTINGU IP RIP i OSPF

Zarządzanie systemem komendy

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

OSPF... 3 Komunikaty OSPF... 3 Przyległość... 3 Sieć wielodostępowa a punkt-punkt... 3 Router DR i BDR... 4 System autonomiczny OSPF...

Routing dynamiczny... 2 Czym jest metryka i odległość administracyjna?... 3 RIPv RIPv Interfejs pasywny... 5 Podzielony horyzont...

Wykorzystanie połączeń VPN do zarządzania MikroTik RouterOS

Konfigurowanie protokołu OSPF w systemie Linux

Marcin Mazurek P.I.W.O, 22/05/2004, Poznań, Polska:)

Warstwa sieciowa rutowanie

Link-State. Z s Link-state Q s Link-state. Y s Routing Table. Y s Link-state

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ PODSTAWY RUTINGU IP. WSTĘP DO SIECI INTERNET Kraków, dn. 7 listopada 2016 r.

Open Shortest Path First Protokół typu link-state Szybka zbieżność Obsługa VLSMs (Variable Length Subnet Masks) Brak konieczności wysyłania

Sieci komputerowe. Tadeusz Kobus, Maciej Kokociński Instytut Informatyki, Politechnika Poznańska

Sieci komputerowe. Routing. dr inż. Andrzej Opaliński. Akademia Górniczo-Hutnicza w Krakowie.

6. Routing z wykorzystaniem stanu łącza, OSPF

Open Shortest Path First Protokół typu link-state Szybka zbieżność Obsługa VLSMs (Variable Length Subnet Masks) Brak konieczności wysyłania

Protokół BGP Podstawy i najlepsze praktyki Wersja 1.0

Jak zbudować profesjonalny styk z internetem?

Routing. mgr inż. Krzysztof Szałajko

Rozległe Sieci Komputerowe

Routing - wstęp... 2 Routing statyczny... 3 Konfiguracja routingu statycznego IPv Konfiguracja routingu statycznego IPv6...

Księgarnia PWN: Mark McGregor Akademia sieci cisco. Semestr piąty

PBS. Wykład Routing dynamiczny OSPF EIGRP 2. Rozwiązywanie problemów z obsługą routingu.

Praktyczne aspekty implementacji IGP

BGP. Piotr Marciniak (TPnets.com/KIKE) Ożarów Mazowiecki, 26 marca 2010 r.

ZiMSK. Routing dynamiczny 1

Laboratorium - Konfiguracja zaawansowanych właściwości protokołu OSPFv2

Administracja sieciami LAN/WAN

Sterowanie ruchem wyjściowym

Konfigurowanie protokołu BGP w systemie Linux

PROTOKÓŁ BGP. Łukasz Bromirski PODSTAWY DZIAŁANIA BUDOWA STYKU Z INTERNETEM PROJEKT BGP BLACKHOLING PL. lukasz@bromirski.net lbromirski@cisco.

Badanie protokołów routingu

ĆWICZENIE: Routing dynamiczny

Adresy w sieciach komputerowych

Routing / rutowanie (marszrutowanie) (trasowanie)

lp wykonawca nr w dzienniku (dz) 1. POL GRZYBOWSKI MAZUR zadanie rodzaj tunelowania typ tunelu wybór 1. wyspy IPv6 podłączone w trybie Manual Mode 4

Ćwiczenie Podstawowa konfiguracja OSPFv3 dla pojedynczego obszaru Topologia

RUTERY. Dr inŝ. Małgorzata Langer

Warsztaty z Sieci komputerowych Lista 3

Routing dynamiczny konfiguracja CISCO

Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend...

ISP od strony technicznej. Fryderyk Raczyk

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

1.1 Ustawienie adresów IP oraz masek portów routera za pomocą konsoli

Sieci komputerowe Warstwa sieci i warstwa transportowa

PROJEKT BGP BLACKHOLING PL

Koncepcja komunikacji grupowej

EFEKTYWNOŚĆ PROTOKOŁÓW TRASOWA- NIA BGP + OSPF PRZY REALIZACJI USŁUG TRANSPORTU DANYCH

Ruting. Protokoły rutingu a protokoły rutowalne

Ćwiczenie Podstawowa konfiguracja OSPFv3 dla pojedynczego obszaru Topologia

Sieci komputerowe. Router. Router

A i B rozsyłają nowe wektory.

Cisco IOS Routing statyczny

IPv6. Wprowadzenie. IPv6 w systemie Linux. Zadania Pytania. budowa i zapis adresu, typy adresów tunelowanie IPv6 w IPv4

OSPF: Open Shortest Path First

GRAF DECYZJI O TRASIE PAKIETU

Sieci komputerowe - Protokoły wspierające IPv4

Technologie warstwy Internetu. Routing

Konfigurowanie protokołu BGP w ruterach Cisco

PORADNIKI. Routery i Sieci

BADANIE DOBORU TRAS W WIELODROGOWEJ ARCHITEKTURZE SIECIOWEJ ZE WZGLĘDU NA ZMIENNE WARUNKI SIECIOWE

* konfiguracja routera Asmax V.1501 lub V.1502T do połączenia z Polpakiem-T lub inną siecią typu Frame Relay

Sieci Komputerowe Laboratorium 10. Redystrybucja_OSPF_EIGRP_RIP

Laboratorium Konfiguracja oraz weryfikacja protokołu RIP

Zarządzanie Jakością Usług w Sieciach Teleinformatycznych

Adresy IP v.6 IP version 4 IP version 6 byte 0 byte 1 byte 2 byte 3 byte 0 byte 1 byte 2 byte 3

Routowanie we współczesnym Internecie. Adam Bielański

Projekt BGP BLACKHOLING PL Łukasz Bromirski

Sieci Komputerowe Laboratorium 08 OSPF

Laboratorium - Przeglądanie tablic routingu hosta

Sieci komputerowe Protokoły routingu

ZADANIE.03 Routing dynamiczny i statyczny (OSPF, trasa domyślna) 1,5h

Z.Z. Technologie Zbigniew warstwy Internetu. Zakrzewski Routing Sieci TCP/IP

ARP Address Resolution Protocol (RFC 826)

Cisco IOS Routing statyczny i dynamiczny

router wielu sieci pakietów

CCNA : zostań administratorem sieci komputerowych Cisco / Adam Józefiok. Gliwice, cop Spis treści

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR

ZP-92/022/D/07 załącznik nr 1. Wymagania techniczne dla routera 10-GIGABIT ETHERNET

IP Anycast. Ochrona i skalowanie usług sieciowych. Łukasz Bromirski lbromirski@cisco.com

DWA ZDANIA O TEORII GRAFÓW. przepływ informacji tylko w kierunku

ZiMSK NAT, PAT, ACL 1

PROTOKOŁY RUTINGU W SIECIACH PAKIETOWYCH

Podstawy Sieci Komputerowych Laboratorium Cisco zbiór poleceń

Sieci komputerowe dr Zbigniew Lipiński

Sieci komputerowe dr Zbigniew Lipiński

Ćwiczenie Podstawowa konfiguracja protokołów RIPv2 oraz RIPng Topologia

Konfiguracja połączenia G.SHDSL punkt-punkt w trybie routing w oparciu o routery P-791R.

Warsztaty z Sieci komputerowych Lista 3

The Power When You Need It Effect. Wstęp do routingu. Marek Moskal. Zespół doradczy d/s technologii szkieletowych. Warszawa, 11/10/2011

WPROWADZENIE DO PROTOKOŁU BGP (BORDER GATEWAY PROTOCOL)

Routing. routing bezklasowy (classless) pozwala na używanie niestandardowych masek np. /27 stąd rozdzielczość trasowania jest większa

ZADANIE.03 Cisco.&.Juniper Routing dynamiczny i statyczny (OSPF, trasa domyślna) 1,5h

Sieci Komputerowe. Zajęcia 2 c.d. Warstwa sieciowa. Adresacja IPv4

Podstawy multicast - IGMP, CGMP, DVMRP.

WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 filia w EŁKU, ul. Grunwaldzka

Transkrypt:

ROUTING DYNAMICZNY...a Linux Łukasz Bromirski lukasz@bromirski.net 1

Agenda Powtórka z rozrywki: podstawy routingu IP Skąd wziąść interesujące elementy Protokoły routingu IGP i EGP Inne zagadnienia Q & A 2

POWTÓRKA Z ROZRYWKI: ROUTING IP 3

Routing IP O czym mówimy? Routing IP to decyzja (standardowo) podejmowana na podstawie adresu docelowego pakietu IP Kernel podejmuje tą decyzję na podstawie tablicy FIB Forwarding Information Base Aplikacje zapewniające routing dynamiczny utrzymują zwykle swoją tablicę RIB Routing Information Base z której najlepsze wpisy eksportowane są do FIB 4

Routing IP O czym mówimy? Narzędzia systemowe wpływają na FIB opcje FIB_HASH/FIB_TRIE w kernelach 2.6.x Narzędzia konkretnej aplikacji wpływają na RIB właściwy dla pakietu Dodatkowo Linux posiada bogate opcje routingu na podstawie adresu źródłowego pakiet iproute2 integracja z aplikacjami zewnętrznymi tablice, realms Realms: http://vcalinus.gemenii.ro/quaggarealms.html 5

Routing IP Czym zajmuje się router? Router otrzymuje datagramy IPv4 w postaci: RFC 791, http://www.ietf.org/rfc/rfc0791.txt 6

Routing IP 24x7x365... Router w dużym uproszczeniu cały czas wykonuje następującą pętlę: odbiera pakiet jeśli nie TTL=1, adres docelowy=adres mojego interfejsu lub [...] sprawdź, na jaki interfejs wskazuje w tablicy routingu wpis dla adresu docelowego z pakietu jeśli wpis zawiera inny adres, rozwiąż go na prawidłowy adres następnej bramy zmniejsz TTL o 1 wstaw pakiet do bufora wyjściowego interfejsu, który wybrałeś po znalezieniu w tablicy routingu najdokładniejszego wpisu odbiera pakiet... 7

Routing IP Budowa FIB Tablica routingu (FIB) zawiera wpisy pochodzące z wielu źródeł, ale w znormalizowanej postaci W ogólnodostępnych, wolnych systemach operacyjnych pola obecne dla każdego wpisu to między innymi: destination sieć lub host docelowy gateway przez jakie next hop IP osiągaln(a/y) flags dodatkowe atrybuty trasy use ile razy użyto trasy if przez który interfejs pakiet zostanie wysłany 8

Routing IP Budowa FIB Zawartość FIB: [me@slack ~]$ ip route list 10.0.0.0/24 dev eth0 proto kernel src 10.0.0.100 169.254.0.0/16 dev eth0 scope link default via 10.0.0.1 dev eth0 [me@slack ~]$ route n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use If 10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0 9

Routing IP Droga trasy do FIB (z 10,624 metrów) Protokół routingu dynamicznego poznaje trasę Protokół routingu dynamicznego w wyniku działania swoich algorytmów ustala, że jest to trasa najlepsza i umieszcza ją (je) w RIB Demon odpowiedzialny za interakcję z kernelem, eksportuje najlepsze trasy z RIB (mogą pochodzić z różnych protokołów) do systemowego FIB 10

QUAGGA/ZEBRA vs XORP vs OpenOSPFd 11

Quagga/Zebra (0.99.3/0.98.5) Quagga posiada budowę modularną Proces zebra odpowiada za interakcje wszystkich pozostałych z kernelem (FIB) i zarządzanie RIB Osobne procesy odpowiedzialne za protokoły routingu ripd (v1/v2), ripngd (v3 dla IPv6) ospfd (v2), ospf6d (v3 dla IPv6) bgpd (v4+) is is* Dostępne narzędzie vtysh do zarządzania wszystkim jednocześnie Quagga jest przygotowana do przechowywania wielu takich samych tras w RIB: configure [...] enable multipath=x 12

XORP (1.2) XORP również posiada budowę modularną Router manager (rtrmngr) nadzoruje pracę grupy procesów Dwie osobne ścieżki: unicast: BGP4, RIPv1/2 i RIPng, OSPFv2 multicast: PIM SM, IGMPv1/v2, MLDv1 Wydzielony RIB dla wszystkich protokołów Wydzielona FEA, pozwalająca uniezależnić się od systemu/dostępnych interfejsów Dostępna powłoka xorpsh do zarządzania Wiele rozmaitych problemów 13

OpenOSPFd Projekt zespołu OpenBSD Henning Brauer, Claudio Jeker & Esen Norby Projekt w trakcie dopracowywania IPv6 problemy z redystrybucją/wstrzyknięciem trasy default Tradycyjny zestaw narzędzi i plików: ospfd demon odpowiedzialny za protokół ospfctl narzędzie do kontroli /etc/ospfd.conf konfiguracja 14

OpenBGPd Ten sam team zespołu OpenBSD Henning Brauer, Claudio Jeker & Esen Norby i inni Projekt w trakcie dopracowywania IPv6 + różne zagadnienia z filtrowaniem/utrzymywaniem atrybutów tras Podobnie jak OpenOSPFd: bgpd demon odpowiedzialny za protokół bgpctl narzędzie do kontroli /etc/bgpd.conf konfiguracja 15

Podsumowanie obecnego stanu Wiele możliwości, potęgowanych możliwościami pakietu iproute2 Nadal brak jasnej wizji dotyczącej zarządzaniem przez kernel różnymi źródłami informacji routingowej Ten sam problem mają wszystkie dystrybucje Linuksa oraz Free/Net/OpenBSD 16

PROTOKÓŁ ROUTINGU RIP 17

Protokół routingu RIP Routing Information Protocol Routery wymieniają się swoimi tablicami routingu co określone odstępy czasu RIP standardowo co 30 sekund (z małymi różnicami) Metryką trasy w protokole RIP jest ilość hopów, jaką musi pokonać pakiet, by dotrzeć do sieci/hosta 0 = ja, 1 14 = trasa prawidłowa 15 = trasa nieosiągalna Tylko RIPv2 przesyła maskę dla trasy...dodatkowo umożliwia uwierzytelnianie (MD5) 18

Protokół routingu RIP Routing Information Protocol ripd# show ip rip status Routing Protocol is "rip" Sending updates every 30 seconds with +/ 50%, next due in 6 seconds Timeout after 180 seconds, garbage collect after 120 seconds Outgoing update filter list for all interface is not set Incoming update filter list for all interface is not set Default redistribution metric is 1 Redistributing: Default version control: send version 2, receive version 2 Interface Send Recv Key chain eth0 2 2 lo0 2 2 [...] 19

Protokół routingu RIP Routing Information Protocol ripd# show ip rip status [...] Routing for Networks: 172.16.91.0/24 192.168.0.0/24 Routing Information Sources: Gateway BadPackets BadRoutes Distance Last Update Distance: (default is 120) 20

Protokół routingu RIP Jak działa? Router B: 2.2.2.0/24 eth0 C 2.2.2.0/24 eth0 eth2 eth1 eth1 eth1 1.1.1.0/24 3.3.3.0/24 eth0 eth2 eth2 eth0 Router A: 1.1.1.0/24 eth0 C Router C: 3.3.3.0/24 eth0 C 21

Protokół routingu RIP Jak działa? Router B: 2.2.2.0/24 eth0 C 2.2.2.0/24 eth0 eth2 eth1 1.1.1.0/24 eth1 eth1 1.1.1.0/24 3.3.3.0/24 eth0 eth2 eth2 eth0 Router A: 1.1.1.0/24 eth0 C 1.1.1.0/24 Router C: 3.3.3.0/24 eth0 C 22

Protokół routingu RIP Jak działa? Router B: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth0 C 2.2.2.0/24 eth0 eth2 eth1 eth1 eth1 1.1.1.0/24 3.3.3.0/24 eth0 eth2 eth2 eth0 Router A: 1.1.1.0/24 eth0 C Router C: 1.1.1.0/24 eth2 1 3.3.3.0/24 eth0 C 23

Protokół routingu RIP Jak działa? Router B: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth0 C 2.2.2.0/24 eth0 1.1.1.0/24 eth2 eth1 1.1.1.0/24 2.2.2.0/24 2.2.2.0/24 eth1 eth1 1.1.1.0/24 3.3.3.0/24 eth0 eth2 eth2 eth0 Router A: 1.1.1.0/24 eth0 C Router C: 1.1.1.0/24 eth2 1 3.3.3.0/24 eth0 C 24

Protokół routingu RIP Jak działa? Router B: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth0 C 2.2.2.0/24 eth0 eth2 eth1 eth1 eth1 1.1.1.0/24 3.3.3.0/24 eth0 eth2 eth2 eth0 Router A: 1.1.1.0/24 eth0 C 2.2.2.0/24 eth1 1 Router C: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth1 1 3.3.3.0/24 eth0 C 25

Protokół routingu RIP Jak działa? Router B: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth0 C 2.2.2.0/24 eth0 eth2 eth1 eth1 eth1 1.1.1.0/24 2.2.2.0/24 3.3.3.0/24 1.1.1.0/24 3.3.3.0/24 eth0 eth2 eth2 eth0 Router A: 1.1.1.0/24 eth0 C 2.2.2.0/24 eth1 1 1.1.1.0/24 2.2.2.0/24 3.3.3.0/24 Router C: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth1 1 3.3.3.0/24 eth0 C 26

Protokół routingu RIP Jak działa? Router B: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth0 C 3.3.3.0/24 eth1 1 2.2.2.0/24 eth0 eth2 eth1 eth1 eth1 1.1.1.0/24 3.3.3.0/24 eth0 eth2 eth2 eth0 Router A: 1.1.1.0/24 eth0 C 2.2.2.0/24 eth1 1 3.3.3.0/24 eth2 1 Router C: 1.1.1.0/24 eth2 1 2.2.2.0/24 eth1 1 3.3.3.0/24 eth0 C 27

Protokół routingu RIP Kiedy zastosować? Najlepiej nie stosować są lepsze, efektywniejsze i o większych możliwościach również dostępne na licencjach BSD/GPL/etc. Czasami wymaga tego obecność prostej zamkniętej bramki w sieci zwykle obsługują tylko RIP uwaga na problemy ze zgodnością na większość da się załadować Linuxa/BSD... Doskonały protokół routingu do nauczenia się, jak działają protokoły routingu bardzo (lub relatywnie) prosty debugging 28

PROTOKÓŁ ROUTINGU OSPF 29

Protokół OSPF Historia Tworzony od 1987 przez IETF OSPFv2 opublikowana w RFC 1247 w 1991 Ostatnia wersja dla IPv4 OSPFv2 RFC2328 Wersja obsługująca IPv6 OSPFv3 RFC2740 Metryką jest koszt trasy 100Mbit/s = 10 1Gbit/s = 1 Szybka konwergencja i relatywnie małe wymagania hierarchiczny podział na obszary 30

Protokół routingu OSPF Jak działa? OSPF posługuje się hierarchiczną strukturą sieci: obszar backbone (area 0) obszary podłączone różnych typów Każdy z obszarów musi być połączony do obszaru 0 jeśli nie może przez link wirtualny Routery identyfikowane są za pomocą router id najwyższy adres IP ze wszystkich interfejsów pierwszeństwo mają interfejsy loopback użyj ich! 31

Protokół routingu OSPF Jak działa? Baza topologii (łącze stan) Drzewo najkrótszych ścieżek C A X D B F G H C A X D B F G H E Algorytm SPF E 32

Protokół routingu OSPF Jak działa? Routery wymieniają się LSA Link State Advertisement W zależności od obszaru i roli routera, zestaw LSA może być różny Typ Nazwa LSA 1 Router 2 Network 3 Summary Network 4 Summary ASBR 5 External 7 NSSA 33

Protokół routingu OSPF Algorytm SPF Router utrzymuje osobną bazę topologii dla każdego obszaru, do którego należy Routery w tym samym obszarze posiadają tą samą bazę topologii SPF działa osobno dla każdego obszaru Flooding LSA odbywa się tylko w granicach obszaru 34

Protokół routingu OSPF Przykład topologii Internal Area 10 ABR LAN Internal Area 12 ABR ABR Backbone Area 0 ABR Area 11 Internal ASBR RIP/RIPv2 36

Protokół OSPF Rodzaje łączy Broadcast np. Ethernet wybór DR i BDR dla segmentu Non Broadcast Multi Access (NBMA) np. Frame Relay konieczność wskazania sąsiadów poleceniem neighbour Point to Point, Point to Multipoint, Point to Multipoint Non Broadcast 37

Protokół OSPF Kiedy point to point? Zalecane w przypadku sieci używających jako warstwy transportowej 802.11: oszczędzamy czas potrzebny na elekcję DR/BDR RTR A eth0 WLAN eth4 RTR B UWAGA: koszt trasy przez AP jest równy wynegocjowanej z AP prędkości na interfejsie zwykle 100Mbit/s (koszt 10). Jeśli posiadasz inne, równoległe i szybsze łącze warto zastanowić się nad zmianą (zwiększeniem) kosztu przez ten interfejs! 38

Protokół OSPF Konfiguracja point to point interface eth1 ip ospf network point to point ip ospf cost 20! zawyżenie kosztu do odpowiadającego łączu 50Mbit/s! aby inne łącze o realnej przepustowości 100Mbit/s! było atrakcyjniejsze q ospfd# show ip ospf interface eth1 eth1 is up Internet Address 192.168.50.1/30, Broadcast 192.168.50.3, Area 0.0.0.50 Router ID 172.16.254.10, Network Type POINTOPOINT, Cost: 20 Transmit Delay is 1 sec, State Point To Point, Priority 1 No designated router on this network No backup designated router on this network [...] Neighbor Count is 1, Adjacent neighbor count is 1 39

Protokół OSPF Kiedy broadcast? We wszystkich topologiach, w których wiele routerów łączy wspólny segment Ethernet priorytet routera (0 254, 254 najwyższy, 0 nie zostanie DR) wyższe router id (zalecane stabilne rozplanowanie numeracji interfejsów loopback!) interface eth0 ip ospf priority 253 router ospf router id 172.16.254.253 interface eth0 ip ospf priority 254 router ospf router id 172.16.254.254 interface eth0 ip ospf priority 10 router ospf router id 172.16.254.250 BDR DR drother drother drother drother interface eth0 ip ospf priority 0 router ospf router id 172.16.254.50 interface eth0 ip ospf priority 0 router ospf router id 172.16.254.49 interface eth0 ip ospf priority 0 router ospf router id 172.16.254.48 40

Protokół OSPF Konfiguracja broadcast interface eth0 ip ospf network broadcast! domyślnie dla interfejsów Ethernet q ospfd# show ip ospf interface eth0 eth0 is up [...] Internet Address 192.168.0.100/24, Broadcast 192.168.0.255, Area 0.0.0.0 Router ID 172.16.254.10, Network Type BROADCAST, Cost: 10 Transmit Delay is 1 sec, State DROther, Priority 1 Designated Router (ID) 172.16.254.201, Interface Address 192.168.0.201 Backup Designated Router (ID) 172.16.254.200, Interface Address 192.168.0.200 Multicast group memberships: OSPFAllRouters Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:04 Neighbor Count is 2, Adjacent neighbor count is 2 41

Protokół routingu OSPF Sumaryzacja brak 1.1.1.0 1.1.2.0 1.1.3.0 1.1.4.0 1.1.1.01.1.4.0 2.2.1.0 2.2.2.0 2.2.3.0 Backbone Area #0 3.3.1.0 3.3.4.0 3.3.1.0 3.3.2.0 3.3.3.0 3.3.4.0 3.3.5.0 1.1.2.0 1.1.3.0 2.2.1.0 2.2.3.0 3.3.5.0 3.3.3.0 2.2.2.0 Wiele prefiksów w Area 0 Dodatkowe obciążenie dla algorytmu SPF i routerów backbone 42

Protokół routingu OSPF Sumaryzacja poprawnie Backbone Area #0 1.0.0.0 3.0.0.0 2.0.0.0 1.1.1.01.1.4.0 3.3.1.0 3.3.4.0 1.1.2.0 1.1.3.0 2.2.1.0 2.2.3.0 3.3.5.0 3.3.3.0 Rozgłaszamy tylko summary LSA 2.2.2.0 Zmiany stanów łącz nie propagują się pomiędzy obszarami 43

Protokół routingu OSPF Sumaryzacja konfiguracja router ospf ospf router id 172.16.254.11 network 192.168.0.0/24 area 0.0.0.0 network 192.168.50.0/30 area 0.0.0.50 area 0.0.0.50 range 172.16.10.0/24 44

Protokół routingu OSPF Scenariusz #1 OSPF i wstrzyknięcie trasy domyślnej Quagga Na RTR GW: rozgłosić default router ospf network 172.16.0.0/30 area 10 network 172.16.0.8/30 area 11 default information originate [always].6 RTR GW.5.1 172.16.0.4/30 172.16.0.0/30.2 RTR A RTR B.1.1 172.16.10.0/24 172.16.11.0/24 45

Protokół routingu OSPF Scenariusz #2 dwa OSPF ASBR Na RTR G1: rozgłosić default router ospf network 172.16.0.0/25 area 0 default information originate [always] Na RTR G2: rozgłosić default RTR-G1 RTR-G2.1.2 172.16.0.0/25.10.11 router ospf network 172.16.0.0/25 area 0 default information originate [always] RTR-A RTR-B 46

Protokół routingu OSPF Scenariusz #2 dwa OSPF ASBR Na RTR A: load balancing w oparciu o dwie trasy Uwaga na urpf po stronie ISP! rtra ospfd# show ip ospf route [...] ============ OSPF external routing table =========== N E2 0.0.0.0/0 [20/10] tag: 10 via 172.16.0.1, eth0 via 172.16.0.2, eth0 UWAGA: wiele tras o tej samej metryce pojawi się tylko wtedy, gdy Quagga została skompilowana z opcją multipath 47

Protokół OSPF Problem redundancji first hop VRRP standard (RFC3768) VRRPd: http://off.net/~jme/vrrpd/ UCARP port CARP z OpenBSD http://www.ucarp.org/project/ucarp Integracja aplikacji i systemu operacyjnego: LVS: http://www.linuxvirtualserver.org/ ct_sync (netfilter) + keepalived + LVS/coś innego: http://svn.netfilter.org/cgi bin/viewcvs.cgi/trunk/netfilter ha/ http://www.netfilter.org/projects/libnetfilter_conntrack/index.html 48

PROTOKÓŁ ROUTINGU BGP 49

Protokół BGP Wstęp i rozwinięcie Protokół routingu używany do wymiany informacji o osiągalności sieci (prefiksów) pomiędzy systemami autonomicznymi klasy EGP Exterior Gateway Protocol Do niedawna RFC1771 + rozszerzenia, od stycznia 2006 obowiązuje RFC4271: http://www.ietf.org/rfc/rfc4271.txt 50

Protokół BGP System Autonomiczny Zwykle jedna firma/organizacja AS100 Zarządzana przez jedną grupę ludzi Jedna polityka routingu wewnętrznego i zewnętrznego ASN 0 i 65535 zarezerwowane, 1 64511 zarządzane centralnie (publiczne) 64512 65534 do prywatnego użytku 51

Protokół BGP internal BGP vs external BGP ebgp ibgp ebgp AS100 AS200 ibgp sesje pomiędzy routerami w tym samym AS wszystkie routery wewnątrz AS muszą nawiązać sesje każdy z każdym (można to obejść przez konfederacje/klastry) ebgp sesje pomiędzy routerami w różnych AS domyślnie połączenie bezpośrednie, należy wprost wskazać że połączenie jest multihop 52

Protokół BGP Atrybuty AS Path Trasa, jaką prefiks przeszedł Mechanizm zapobiegający pętlom Narzędzie narzucania polityki 53

Protokół BGP Atrybuty local preference 54

Protokół BGP Atrybuty community Opisane w RFC1997, mogą być przekazywane pomiędzy ASami (transitive) i są opcjonalne 32 bitowa wartość dodatnia Dla wygody zapisywana jako dwie 16 bitowe wartości rozdzielone dwukropkiem Standardowo <NUMER AS>:XXXX Na przykład: 64999:666 Bardzo przydatne i często spotykane w publicznych peeringach do sterowania polityką dotyczącą oznaczonego prefiksu 55

Protokół BGP Atrybuty community Opisane w RFC1997, mogą być przekazywane pomiędzy ASami (transitive) i są opcjonalne 32 bitowa wartość dodatnia Dla wygody zapisywana jako dwie 16 bitowe wartości rozdzielone dwukropkiem Standardowo <NUMER AS>:XXXX Na przykład: 64999:666 Bardzo przydatne i często spotykane w publicznych peeringach do sterowania polityką dotyczącą oznaczonego prefiksu 56

Protokół BGP Atrybuty community 57

Protokół BGP Jak BGP wybiera najlepszą trasę? (wersja skrócona) Najwyższy local preference (w ramach AS) Najkrótsza ścieżka AS Path Najniższy kod pochodzenia (Origin) IGP < EGP < incomplete Najniższa wartość MED (Multi Exit Discriminator) Lepiej trasa z ebgp niż z ibgp Najpierw trasa z niższym kosztem wg. IGP do next hop Najniższy router id routera BGP Najniższy adres peer a (pełna lista w RFC4271) 58

Protokół BGP Przykładowa konfiguracja AS200 AS300 AS100 10.0.10.0/24 Dwie pełne światowe tablice routingu (2*~186k prefiksów) Trasa default nie jest potrzebna (mamy wszystkie trasy jakie są w Internecie) Dla Quaggi potrzebne ok. 100MB RAM, dla OpenBGPd około 45 60MB 59

Protokół BGP Przykładowa konfiguracja router bgp 100 bgp router id 10.0.10.1 network 10.0.10.0 mask 255.255.255.0 aggregate address 10.0.10.0 255.255.255.0 summary only neighbor 172.16.10.1 remote as 200 neighbor 172.16.10.1 description AS200 neighbor 172.16.10.1 version 4 neighbor 172.16.10.1 password AJAX*PERSIL*E neighbor 172.16.20.1 remote as 300 neighbor 172.16.20.1 description AS300 neighbor 172.16.20.1 version 4 neighbor 172.16.20.1 password E*LISREP*XAJA 60

Protokół BGP Przykładowa konfiguracja świadoma polityka ruchowa Wszystkie prefiksy otrzymane z AS200 są lepsze niż inne, z domyślnym (100) local preference router bgp 100 neighbor 172.16.10.1 remote as 200 neighbor 172.16.10.1 route map KuLepszejPrzyszlosci in route map KuLepszejPrzyszlosci permit 10 set local preference 5000 61

Protokół BGP Przykładowa konfiguracja świadoma polityka ruchowa Tylko prefiks 192.168.10.0/24 lub bardziej specyficzny jest zawsze lepszy przez AS200 router bgp 100 neighbor 172.16.10.1 remote as 200 neighbor 172.16.10.1 route map KuLepszejPrzyszlosci in ip prefix list JedynaDroga permit 192.168.10.0/24 le 32 route map KuLepszejPrzyszlosci permit 10 match ip prefix list JedynaDroga set local preference 5000 Dobry opis jak działają prefix listy: http://www.groupstudy.com/archives/ccielab/200404/msg00539.html 62

Protokół BGP Przykładowa konfiguracja świadoma polityka ruchowa Pogorszenie atrakcyjności własnego prefiksu 10.0.10.0/24 przez AS200 router bgp 100 neighbor 172.16.10.1 remote as 200 neighbor 172.16.10.1 route map KuLepszejPrzyszlosci out route map KuLepszejPrzyszlosci permit 10 set as path prepend 100 100 AS200rtr# show ip bgp 10.0.10.0 Network Next Hop LocPrf Path * 10.0.10.0/24 172.16.10.2 100 100 100 100 i *> 172.16.99.1 100 300 100 i 63

ROUTING DYNAMICZNY A INNE ZAGADNIENIA 64

Routing dynamiczny a inne zagadnienia NAT Typowa sieć osiedlowa stosuje NAT 172.16.10.0/24? 172.16.10.0/24 172.16.10.0/24 172.16.10.0/24 Uwaga na nakładające się podsieci prywatne przy redystrybucji tras połączonych/statycznych do protokołów routingu dynamicznego! Trasy można odfiltrować nawet, jeśli redystrybucja jest włączona 65

Routing dynamiczny a inne zagadnienia NAT Filtrowanie sieci z RFC1918 przy redystrybucji tras połączonych/statycznych do OSPFa: router ospf redistribute kernel route map NORFC1918 route map NORFC1918 permit 10 match ip address prefix list 10 ip prefix list 10 deny 10.0.0.0/8 le 32 ip prefix list 10 deny 172.16.0.0/12 le 32 ip prefix list 10 deny 192.168.0.0/16 le 32 ip prefix list 10 permit any 66

Routing dynamiczny a inne zagadnienia Filtrowanie ruchu Protokoły routingu mają swoje wymagania co do przepuszczanego ruchu: RIPv1 520/udp RIPv2 multicast pod adres 224.0.0.9 na 520/udp za pomocą wskazania wprost sąsiada można dodatkowo wysyłać pakiety unicast (przydatne przy tunelach IPsec) OSPF multicast, protokół IP numer 89 BGP protokół TCP na/z portu 179 67

Routing dynamiczny a inne zagadnienia Tunelowanie IP w IP i GRE Tunele GRE pozwalają przenieść multicasty oraz inne protokoły warstwy 3 w szczególności IPX wygodne i funkcjonalne połączenie dwóch sieci z możliwością zapewnienia działania protokołów RIPv2 i OSPF quagga automatycznie konfiguruje interfejsy gre jako punkt punkt, ale tylko te, które istnieją zanim zostanie uruchomiona warto sprawdzić, czy interfejs jest widziany jako posiadający flagę multicast różnie dla różnych kerneli i wersji pakietu 68

Routing dynamiczny a inne zagadnienia QoS Mechanizmy/polityka QoS powinna w szczególności dotyczyć protokołów routingu Priorytet dla pakietów hello, oraz zapewniających funkcjonowanie protokołów routingu powinien być pierwszym składnikiem polityki (przed gwarancjami dla VoIP itp.) Zastosowanie mechanizmów nawet, jeśli nie ma potrzeby ich stosowania daje ochronę w trakcie ataków (D)DoS oraz np. infekcji wirusami/trojanami 69

GDZIE WARTO RZUCIĆ OKIEM 70

Książki 71

Książki 72

Zasoby WWW Pakiet Quagga: http://www.quagga.net Pakiet XORP: http://www.xorp.org Demon OpenOSPFd/OpenBGPd: http://www.openbsd.org Einar LiveCD wykorzystujące Xen i Quaggę: http://www.isk.kth.se/proj/einar/ 73

& 74

ROUTING DYNAMICZNY...a Linux Łukasz Bromirski lukasz@bromirski.net 75