Portál AbcLinuxu, 4. května 2025 09:21
V návaznosti na předchozí díly bych rád osvětlil složitější topologie, rozdělení na oblasti, zabezpečení a další související věci. Tento seriál je spíše souhrnem poznatků z praxe než návodem typu howto.
Mějme typickou situaci ISP, kdy je síť rozdělena na:
Budeme-li stavět síť s cílem co nejvyšší dostupnosti, je třeba postavit stabilní backbone - páteř sítě. Z pohledu OSPF to znamená okruh se dvěma hlavními routery, které mají uplinky směrem k nadřazenému providerovi. Okruh tedy bude začínat na jednom z hlavních routerů a končit na druhém. Tím je zajištěna redundance pro případy havárie nebo výměny hw, upgrady sw vyžadující restart či jiné akce vyžadující dlouhodobější odstávky.
Schéma sítě typického ISP:
Na obrázku je vidět rozdělení sítě na výše uvedené části. Páteřní okruh area 0 spojuje všechny hraniční routery (ABR) dalších oblastí. Dále jsou na obrázku vidět dvě tranzitní oblasti - area 1 a 2. Koncovou oblastí je v našem případě area 3, ze které vede jen jedna cesta ven. Do této speciální oblasti není třeba importovat celou routovací tabulku z ostatních ospf routerů z jiných oblastí, ale postačuje jen default-route. Taková koncová oblast se nazývá totally stubby area. Všechny routery v takové oblasti musí být shodně nakonfigurovány jako stub (popř. totally stubby) a přes tuto oblast nesmí procházet virtual link.
V horní části obrázku jsou vidět uplinky směrem do NIXu (český Internet) a směrem do zahraničí. Tyto propoje jsou realizovány pomocí externího routovacího protokolu - BGP.
Pokud má linuxový router více než 6 sousedů, může se v logu quaggy objevit hláška o překročení počtu multicastových skupin a nelze navázat ospf sousedství s dalším routerem. Řešením je zvýšení hodnot např.:
echo 200 > /proc/sys/net/ipv4/igmp_max_memberships echo 20 > /proc/sys/net/ipv4/igmp_max_msf
Na hranicích oblastí je vhodné provádět sumarizaci rout. Namísto například čtyřech rout
10.10.0.0/24 10.10.1.0/24 10.10.2.0/24 10.10.3.0/24
je lepší posílat sousedním routerům jednu routu 10.10.0.0/22. Konfigurace by mohla vypadat následovně:
router ospf ospf router-id 10.2.3.4 network 10.2.3.0/24 area 0 network 10.10.0.0/24 area 1 area 0.0.0.1 range 10.10.0.0/22
Pokud by se útočník dostal do sítě a vhodným softwarem by dokázal generovat falešné OSPF pakety, mohl by způsobit změny v routovacích tabulkách, destabilizovat, či úplně přerušit traffic v síti, nebo dokonce nechat směrovat cizí traffic na sebe. Tomu je možno zabránit autentizací OSPF paketů.
Autentizace může být provedena dvěma způsoby: buď heslem, které je třeba nastavit na všech routerech, nebo pomocí md5. Pomocí hesla je to méně bezpečné, protože heslo putuje po síti a lze jej odposlechnout. MD5 autentizace posílá po síti v OSPF paketu md5 hash, který je vypočten z obsahu OSPF paketu, klíče, router-id a sekvenčního čísla. Po síti se tedy klíč neposílá. Tato metoda je díky sekvenčním číslům odolná proti pozdějšímu přehrávání odchycených paketů (replay attack). Použitím md5 autentikace pochopitelně vrůstá zátěž procesoru.
Příklad konfigurace s heslem:
.... interface eth1 ip ospf authentication-key nejakeheslo ! ! router ospf ospf router-id 192.168.27.1 network 192.168.254.9/32 area 0.0.0.0 network 192.168.254.128/30 area 0.0.0.0 area 0.0.0.0 authentication ! line vty .....
Příklad konfigurace s md5:
.... interface eth0 ip ospf authentication message-digest ip ospf message-digest-key 1 md5 NEJAKEHESLO .....
protokol | RIP | RIP v2 | OSPF | IGRP | EIGRP |
typ | distance-vector | distance-vector | link-state | distance-vector | hybrid |
konvergence | pomalá | pomalá | rychlá | pomalá | rychlá |
zatížení routeru | malé | malé | velké | malé | malé |
zatížení sítě | velké | velké | malé | velké | malé |
metrika | počet hopů | počet hopů | cena | složená | složená |
sumarizace | automatická, podle třídy IP adresy | automatická, je možné vypnout | ruční | automatická, podle třídy IP adresy | automatická, je možné vypnout |
autentizace | ne | ano | ano | ne | ano |
proprietární | ne | ne | ne | ano | ano |
Tímto dílem seriál o OSPF končí, ale jak jsem již předeslal v minulém díle, rád bych pokračoval o BGP, které se používá k výměně routovacích informací mezi autonomními systémy a tvoří páteř Internetu.
Máme 15000+ rout v tabulce, průtok většíma routerama je 200+ Mbps. Routují to P4/2GHz, na serverovém boardu s dvojicí gigabitových síťovek na 64bitové PCI. Nudí se.
Svého času jsme na PC platformě routovali i externí konektivitu, tj. 100000+ rout z world routingu, průtok 600 Mbps. To byl asi tak strop, co ty mašiny dokázaly ustát. Podle mých zkušeností není problém s velikostí routovací tabulky, problém je s propustností sběrnice a četností přerušení od síťové karty. A to jsou věci, které vás nevarují - dneska má router load average nula nula hovno, zítra nula jedna, pozítří se během půl hodiny položí, protože mu load vyletí někde ke stovkám, jak nestíhá obsluhovat přerušení... Mnohem důležitější než rychlost procesoru a velikost paměti je chipset desky a použité síťové karty.
Samozřejmě je nutné zapomenout na conntrack, ten dokáže položit jakoukoliv mašinu už někde kolem 50 Mbps.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.