mechanizmy routingu w systemach wolnodostępnych
TRANSCRIPT
![Page 2: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/2.jpg)
222
Agenda
• Routing IP• Quagga/OpenBGPD/OpenOSPFD/XORP• Gdzie i dlaczego OSPF?
OSPF w praktyce
• Gdzie i dlaczego BGP?BGP w praktyce
• Routing dynamiczny a inne zagadnieniaNAT, QoS, multicasty i VPNy, redundancja
• Q&A
![Page 3: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/3.jpg)
333
Wymagana będzie...
• ...znajomość chociażby na minimalnym poziomie zagadnień związanych z routingiem dynamicznym i protokołów OSPF i BGP
• ...pakietu Quagga i/lub OpenOSPFd/BGPd
• Na końcu tej prezentacji znajdują się odnośniki do materiałów uzupełniających – również tych bardzo podstawowych
![Page 4: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/4.jpg)
444
O czym będzie ta sesja?
ISP‐A
Twoja sieć(AS 100)
ISP‐B
(AS200)(AS300)
internet
![Page 5: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/5.jpg)
555
POWTÓRKA Z ROZRYWKI: ROUTING IP
555
![Page 6: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/6.jpg)
666
Routing IPO czym mówimy?
• Routing IP to decyzja (standardowo) podejmowana na podstawie adresu docelowegopakietu 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
![Page 7: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/7.jpg)
777
Routing IPO czym mówimy?
• Narzędzia systemowe wpływają na FIBopcje FIB_HASH/FIB_TRIE w kernelach 2.6.x
• Narzędzia konkretnej aplikacji wpływają na RIBwł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
![Page 8: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/8.jpg)
888
Routing IPCzym zajmuje się router?
• Router otrzymuje datagramy IPv4 w postaci:
RFC 791, http://www.ietf.org/rfc/rfc0791.txt
![Page 9: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/9.jpg)
999
Routing IPBudowa 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
![Page 10: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/10.jpg)
101010
QUAGGA/ZEBRA vsXORP vsOpenOSPFd
101010
![Page 11: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/11.jpg)
111111
Quagga/Zebra(0.99.5/0.98.6)
• 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 routinguripd (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
![Page 12: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/12.jpg)
121212
XORP(1.3)
• 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
![Page 13: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/13.jpg)
131313
OpenOSPFd
• Projekt zespołu OpenBSDHenning Brauer, Claudio Jeker & Esen Norby
• Projekt w trakcie dopracowywaniaIPv6
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
![Page 14: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/14.jpg)
141414
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 ‐ konfiguracjaLinux port PoC: http://hasso.linux.ee/doku.php/english:network:openbgpd
![Page 15: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/15.jpg)
151515
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
![Page 16: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/16.jpg)
GDZIE I DLACZEGO OSPF?
161616
![Page 17: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/17.jpg)
171717
Dlaczego OSPF?
• Najszybszy standardowy protokół IGPIGP = wewnętrzny (ang. internal gateway protocol)
• Większośćmałych i średnich sieci ma strukturęhierarchiczną, lub da się ją stworzyć
• Dostosowywalny do większości scenariuszy za pomocą standardowych mechanizmów i narzędzi
• Dostępny ‘for free’ w implementacjach:Quagga – ospfd
OpenOSPFd
![Page 18: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/18.jpg)
181818
Protokół routingu OSPFJak 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!
![Page 19: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/19.jpg)
191919
Protokół routingu OSPFPrzykład topologii
Area 10
RIP/RIPv2
Area 0
Area 11
Area 12
ASBR
ABR
ABR
ABR
ABR
LAN
Backbone
Internal
Internal
Internal
![Page 20: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/20.jpg)
202020
Jak podzielić sieć na obszary OSPF?
Area0
Area10Area11
Area20
![Page 21: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/21.jpg)
212121
Jak właściwie wybrać DR/BDRa dla segmentu?
• 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!)
DRBDR
drother
interface eth0ip ospf priority 253
router ospfrouter‐id 172.16.254.253
interface eth0ip ospf priority 254
router ospfrouter‐id 172.16.254.254
interface eth0ip ospf priority 0
router ospfrouter‐id 172.16.254.49
![Page 22: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/22.jpg)
222222
• Zalecane w przypadku sieci używających jako warstwy transportowej 802.11:
oszczędzamy czas potrzebny na elekcję DR/BDR
• Dwa interfejsy:interface eth0
! interfejs podłączony do mostu 802.11
ip ospf network point‐to‐point
ip ospf cost 20 ! interfejs 100Mbit/s pracuje jak 5Mbit/s
interface eth1
! interfejs podłączony do linku 100Mbit/s
ip ospf network point‐to‐point
ip ospf cost 1 ! interfejs 100Mbit/s
Protokół OSPFKiedy point‐to‐point?
![Page 23: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/23.jpg)
232323
• Zalecane w przypadku sieci używających jako warstwy transportowej 802.11:
oszczędzamy czas potrzebny na elekcję DR/BDR
• Jeden interfejs do bridge’a i łącza 100Mbit/s:interface eth0.10
! interfejs podłączony do mostu 802.11
ip ospf network point‐to‐point
ip ospf cost 20 ! interfejs 100Mbit/s pracuje jak 5Mbit/s
interface eth0.20
! interfejs podłączony do linku 100Mbit/s
ip ospf network point‐to‐point
ip ospf cost 1 ! interfejs 100Mbit/s
Protokół OSPFKiedy point‐to‐point?
![Page 24: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/24.jpg)
242424
Protokół routingu OSPFSumaryzacja ‐ brak
• Wiele prefiksów w Area 0• Dodatkowe obciążenie dla algorytmu SPF i routerów backbone• „up/down prefiksu” – obciążamy CPU routerów w A0
Area0
Area10Area11
Area20
172.16.10.0/24172.16.20.0/24172.16.30.0/24172.16.40.0/24 172.17.10.0/24
172.17.20.0/24172.17.30.0/24172.17.40.0/24
172.18.10.0/24172.18.20.0/24172.18.30.0/24172.18.40.0/24
![Page 25: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/25.jpg)
252525
Protokół routingu OSPFSumaryzacja ‐ skonfigurowana
• Pojedyncze prefiksy w Area 0
• Zmniejszamy obciążenie CPU, nie propagujemy problemów w warstwie dostępowej do szkieletu/rdzenia
Area0
Area10Area11
Area20
172.16.0.0/16
172.17.0.0/16172.18.0.0/16
![Page 26: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/26.jpg)
262626
Protokół routingu OSPFSumaryzacja ‐ konfiguracja
router ospf
ospf router‐id 172.16.254.11
[...]
area 0.0.0.10 range 172.16.0.0/16
• Obszar 10 rozgłasza sieć 172.16.0.0/16, zamiast:172.16.10.0/24
172.16.20.0/24
...
![Page 27: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/27.jpg)
272727
Trasa domyślna
Area0
Area10Area11
Area20router ospfarea 0.0.0.10 stub no‐summary
router ospfarea 0.0.0.10 stub no‐summary
router ospfdefault‐information originate [always]
![Page 28: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/28.jpg)
282828
GDZIE I DLACZEGO BGP?
282828
![Page 29: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/29.jpg)
292929
Protokół BGPWstę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
RFC4276 opisuje raport implementacyjny RFC4271
RFC4277 dodatkowo opisuje doświadczenia z różnymi implementacjami
![Page 30: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/30.jpg)
303030
Protokół BGPSystem Autonomiczny
• Zwykle jedna firma/organizacja, zarządzana przez jedną grupę ludzi
• Jedna polityka routingu wewnętrznego i zewnętrznego
• ASN 0 i 65535 zarezerwowane, 23456 również (do przejścia na 32‐bitową notację), natomiast 1‐64511 zarządzane centralnie (publiczne)
• 64512‐65534 do prywatnego użytku
• Obecnie zarejestrowano trochę ponad 39935 ASN, z czego około 21000 jest widocznych w globalnych tablicach routingu
AS100
![Page 31: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/31.jpg)
313131
Protokół BGPinternal BGP vs external BGP
• 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
AS100 AS200
iBGP
eBGP
eBGP
![Page 32: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/32.jpg)
323232
Protokół BGPJak 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)
![Page 33: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/33.jpg)
333333
Protokół BGPAtrybuty pozwalające wpływać na trasę
1: ORIGIN
2: AS‐PATH
3: NEXT‐HOP
4: MED
5: LOCAL_PREF
6: ATOMIC_AGGREGATE
7: AGGREGATOR
8: COMMUNITY
9: ORIGINATOR_ID
10: CLUSTER_LIST
14: MP_REACH_NLRI
15: MP_UNREACH_NLRI
![Page 34: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/34.jpg)
343434
Protokół BGPAtrybuty – AS‐Path
• Trasa, jaką prefiks przeszedł
• Mechanizm zapobiegający pętlom
• Narzędzie narzucania polityki
![Page 35: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/35.jpg)
353535
Protokół BGPAtrybuty – local preference
![Page 36: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/36.jpg)
363636
Protokół BGPAtrybuty – 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
![Page 37: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/37.jpg)
373737
Protokół BGPIlustracja działania – nadawanie community otrzymywanym prefiksom
AS100
1.1.1.0/24
AS200route‐map
prefiks: 1.1.1.0/24
oznacz: 200:100
1.1.1.0/24 via 4.4.4.4, AS200, 200:100
4.4.4.1
4.4.4.4
![Page 38: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/38.jpg)
383838
Protokół BGPIlustracja działania – wysyłanie odpowiednio oznaczonych community
AS100
1.1.1.0/24
AS82464.4.4.1
4.4.4.4
1.1.1.0/24:
AS100, AS8246, AS8246, AS8246
AS5617
route‐map TAG8246
prefiks: 1.1.1.0/24
oznacz: 8246:2103
1.1.1.0/24 via 4.4.4.4, AS100
router bgp 100
neighbor 4.4.4.4 route‐map 8246 out
![Page 39: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/39.jpg)
393939
Protokół BGPIlustracja działania – wysyłanie odpowiednio oznaczonych community
AS100
1.1.1.0/24
AS8246route‐map
prefiks: 1.1.1.0/24
oznacz: 8246:2103
1.1.1.0/24 via 4.4.4.4, AS100
4.4.4.1
4.4.4.4
1.1.1.0/24:
AS100, AS8246, AS8246, AS8246
AS5617
![Page 40: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/40.jpg)
404040
CZY MUSZĘ UŻYWAĆBGP?
404040
![Page 41: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/41.jpg)
414141
Czy na pewno muszęmieć BGP?
• Pojedyncze połączenie do Internetu ‐ NIE
w sieci używasz domyślnej trasy (statycznie lub protokół routingu)
Twój ISP zapewnia widoczność i osiągalność przydzielonej Ci adresacji IP
• Nawet jeśli łącza są dwa lub trzy do tego samego ISP, BGP nie jest potrzebne
wiele tras domyślnych na różne IP po stronie Twojej i ISP
ISP
192.168.1.0/24
A
B
C
192.168.1.0/24
0.0.0.0/0
![Page 42: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/42.jpg)
424242
Czy na pewno muszęmieć BGP?
• Jeśli jesteś połączony do dwóch różnych ISP – BGP jest pożądane – rozgłasza do obu swoją pulę adresów, Internet widzi ją przez obu ISP
• Nie oznacza to, że musisz pobierać wszystkie światowe prefiksy
...pozwala to jednak ‘świadomie’ kształtowaćwłasną politykę routingu dużo dokładniej
0.0.0.0/0
ISP AAS65000
192.168.1.0/24
AISP B
AS65001
192.168.1.0/24
![Page 43: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/43.jpg)
434343
PRZYKŁAD ZASTOSOWANIA BGP
434343
![Page 44: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/44.jpg)
444444
...nasza sieć:
ISP‐A
AS100
10.10.10.0/24
ISP‐B
(AS200)(AS300)
internet
A B
![Page 45: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/45.jpg)
454545
Protokół BGPPrzykładowa konfiguracja – router A – prefix oraz sesje eBGP
router bgp 100bgp router‐id 10.10.10.253network 10.10.10.0 mask 255.255.255.0aggregate‐address 10.10.10.0 255.255.255.0 summary‐only
neighbor 172.16.10.1 remote‐as 200neighbor 172.16.10.1 description AS200neighbor 172.16.10.1 version 4neighbor 172.16.10.1 password AJAX*PERSIL*E
neighbor 10.10.10.2 remote‐as 100neighbor 10.10.10.2 description router‐Bneighbor 10.10.10.2 version 4neighbor 10.10.10.2 password BEZ*MD5*JEST*ZIA‐ZIA
![Page 46: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/46.jpg)
464646
...nasza sieć:
ISP‐A
AS100
ISP‐B
(AS200)(AS300)
internet
10.10.10.0/24 10.10.10.0/24
![Page 47: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/47.jpg)
474747
Przykładowy problem:łącze z ISP‐B jest przeciążone
ISP‐A
AS100
ISP‐B
(AS200)(AS300)
internet
• Dwa podstawowe narzędzia:
AS‐Prepend
Rozdzielenie prefiksów
![Page 48: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/48.jpg)
484848
Przykładowy problem:łącze z ISP‐B jest przeciążone
router bgp 100neighbor 172.16.10.1 remote‐as 200neighbor 172.16.10.1 route‐map KuLepszejPrzyszlosci out
route‐map KuLepszejPrzyszlosci permit 10set as‐path prepend 100 100
• „Pogorszenie” atrakcyjności własnego prefiksu 10.10.10.0/24 przez AS200
AS200rtr# show ip bgp 10.0.10.0Network 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
![Page 49: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/49.jpg)
494949
Przykładowy problem:większość ruchu wychodzi przez ISP‐A
ISP‐A
AS100
ISP‐B
(AS200)(AS300)
internet
• Podstawowe narzędzie:
local‐preference
25Mbit/s4Mbit/s
![Page 50: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/50.jpg)
505050
Przykładowy problem:większość ruchu wychodzi przez ISP‐A
router bgp 100neighbor 172.16.10.1 remote‐as 200neighbor 172.16.10.1 route‐map KuLepszejPrzyszlosci in
route‐map KuLepszejPrzyszlosci permit 10set local‐preference 5000
• Wszystkie prefiksy otrzymane z AS200 są lepsze niżinne, z domyślnym (100) local‐preference
![Page 51: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/51.jpg)
515151
Przykładowy problem:do sieci 8.8.8.0/24 zawsze lepiej przez ISP‐A
ISP‐A
AS100
ISP‐B
(AS200)(AS300)
internet8.8.8.0/24
![Page 52: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/52.jpg)
525252
Protokół BGPPrefiks 8.8.8.0/24 w pierwszej kolejności przez ISP‐A
router bgp 100neighbor 172.16.20.1 remote‐as 300neighbor 172.16.20.1 route‐map KuLepszejPrzyszlosci in
ip prefix‐list JedynaDroga permit 8.8.8.0/24 le 32
route‐map KuLepszejPrzyszlosci permit 10match ip prefix‐list JedynaDrogaset local‐preference 5000
• Tylko prefiks 8.8.8.0/24 lub bardziej dokładny jest zawsze lepszy przez AS300
Dobry opis jak działają prefix‐listy:http://www.groupstudy.com/archives/ccielab/200404/msg00539.html
![Page 53: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/53.jpg)
535353
ROUTING DYNAMICZNY A INNE ZAGADNIENIA
535353
![Page 54: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/54.jpg)
545454
Routing dynamiczny a inne zagadnieniaNAT
• W momencie, w którym routery robią NAT...
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
172.16.10.0/24
172.16.10.0/24?
![Page 55: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/55.jpg)
555555
Routing dynamiczny a inne zagadnieniaNAT
• 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
![Page 56: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/56.jpg)
565656
Routing dynamiczny a inne zagadnieniaFiltrowanie 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
![Page 57: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/57.jpg)
575757
Routing dynamiczny a inne zagadnieniaTunelowanie 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
![Page 58: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/58.jpg)
585858
Routing dynamiczny a inne zagadnieniaQoS
• Mechanizmy/polityka QoS powinna w szczególnościdotyczyć 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
![Page 59: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/59.jpg)
595959
Routing dynamiczny a inne zagadnieniaMPLS
• Linux posiada już infrastrukturę wielu tabel routingu
iproute2 etc.
• Implementacja architektury MPLS wymaga:
wyposażenia infrastruktury sterowników sieciowych w mechanizmy odpowiedniej hermetyzacji tagów MPLS (Ethernet/FR/ATM)
stworzenia demona odpowiedzialnego za sygnalizację (LDP)
stworzenia mechanizmu dla obsługi inżynierii ruchu (RSVP lub OSPF‐TE)
• Testowane:
http://sourceforge.net/projects/mpls‐linux/
http://www.cs.virginia.edu/~mngroup/projects/mpls/
![Page 60: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/60.jpg)
606060
First‐Hop Redundancy
• Standardy: VRRP
• Cisco‐made: HSRP i GLBP
• Inne: CARP
• Idea: podstawić jeden wirtualny router w miejsce wielu fizycznych i zapewnić obsługę routingu
wirtualny IP i wirtualny MAC
![Page 61: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/61.jpg)
616161
First‐Hop Redundancy
• VRRP – standard (RFC3768)
VRRPd: http://off.net/~jme/vrrpd/
FreeVRRPd
• CARP/UCARP – analogiczne dla OpenBSD/innych systemów
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
![Page 62: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/62.jpg)
626262
GDZIE WARTO RZUCIĆOKIEM
626262
![Page 63: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/63.jpg)
636363
Książki
![Page 64: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/64.jpg)
646464
Zasoby WWW
• Test routerów opartych o Quaggę/XORP
http://www.networkworld.com/reviews/2006/100906‐quagga‐router‐test.html
• Pakiet Quagga:http://www.quagga.net
• Pakiet XORP:http://www.xorp.org
• Demon OpenOSPFd/OpenBGPd:
http://www.openbsd.org
![Page 65: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/65.jpg)
656565
Zasoby WWW
• Einar – LiveCD wykorzystujące Xen i Quaggę:http://www.isk.kth.se/proj/einar/
• IP routing protocols home page (Cisco):
http://www.cisco.com/en/US/tech/tk365/tsd_technology_support_protocol_home.html
• OSPF MANET:
http://folk.uio.no/kenneho/index.php?page=studies&subpage=wospf
![Page 66: Mechanizmy routingu w systemach wolnodostępnych](https://reader033.vdocuments.mx/reader033/viewer/2022042619/587603261a28abfd658b4e7d/html5/thumbnails/66.jpg)
666666666666
&