Často kladené otázky o OSPF
ČKD o OSPF pro HKfree.org
Autor: VojtaLhota
Wikizace: Pavkriz (původní dokument na brita.lhota.hkfree.org)
Obsah
Kdy potřebuji OSPF? Musím tohle číst?
Vzhledem k řešení sítě HKfree je třeba se s OSPF zabývat, pokud:
- jsi správcem AP (přístupového bodu)
- máš doma 'na půdě' router, přes který je připojena domácí síť
Obecně vždy, když je na příslušném serveru více než jedno síťové rozhraní.
Co je to OSPF?
OSPF je síťový protokol 3. vrstvy modelu ISO-OSI; navazuje na IP (internet protocol). OSPF znamená Open Shortest Path First. Je to linkově-stavový routovací protokol, pracuje se stavem linek ohodnocených vahou (cost). Nahrazuje starší protokol RIP. Pro jemnější úvod do OSPF doporučuji http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ospf.htm
K čemo to je?
Pomocí OSPF si směrovače (routery) předávají informace o topologii a stavu sítě, a nastavují své směrovací tabulky. Není tedy třeba ručně (staticky) nastavovat směrování všech routerů v síti, když v jedné její části dojde k rozšíření, výpadku nebo rekonfiguraci sítě. To by při jejich velkém počtu bylo neúnosné, nehledě na to, že různé routery mají různé správce, kteří mají čas v různou dobu.
Co potřebuji k zprovoznění OSPF na mém routeru ?
Tento text pojednává o zprovoznění v Linuxu. Je nezávislý na konkrétní distribuci, neboť budeme kompilovat ze zdrojáků. Bude tedy potřeba stahnout soubor o velikosti 1,4 MB z Internetu. Pro překlad budeme potřebovat překladač (gcc) a pro nainstalování prístup na konto "root"a. Pro OSPF použijeme program Quagga. Bude třeba provést zhruba 3 kroky:
- stáhnout a nainstalovat Quaggu
- připravit si konfigurační soubor
- spustit Quaggu a zajistit její spuštění při každém bootu
Co je Zebra, Quagga, GateD?
OSPF je obecný protokol. Uvedené programy jsou jeho různými implementacemi (ztělesněními). Za GateD (http://www.gated.org ) se platí a proto jej nepoužijeme. Projekt Zebra (http://www.zebra.org ) je volně šiřitelný program, se kterým přišel pan Kunihiro Ishiguro z Japonska. V srpnu 2003 byla ze Zebry odvozena nová větev pod jménem Quagga (http://www.quagga.net/ ), na které by měl vývoj dále pokračovat. Nicméně pojem Quagga i Zebra je pro nás synonymem. Stáhneta quagga-x.y.tar.gz, rozbalíte, nainstalujete, a ejhle, ono to má konfigurační soubor zebra.conf... Quagga kromě OSPF zahrnuje i jiné routovací protokoly: OSPF pro IPv6, BGP, RIP a RIPng. Těmi se nebudeme zabývat.
Jak se nainstaluje Quagga?
1. Stáhneme nejnovější verzi z http://www.quagga.net/download/. Tento návod byl psán pro verzi 0.96.2, ale měl by být dost obecný.
2. Rozbalíme soubor
$ tar xzf quagga-0.96.5.tar.gz
3. a přejdeme do nově vzniklého adresáře
$ cd quagga-0.96.5
4. Můžeme si prohlédnout soubor README a/nebo INSTALL (v angličtině). Prohlížení souboru se ukončí klávesou "q".
$ less README $ less INSTALL
5. Vlastní překlad; zde nejsou uvedena žádná pokročilejší nastavení
$ ./configure --disable-bgpd --disable-ripd --disable-ripngd $ make
6. Instalace. Nyní je třeba být přihlášen(a) jako root.
# make install
Poté, pokud se vše povedlo, přibyly ve vašem systému spustitelné
soubory
-rwxr-xr-x 1 root staff 1338493 Sep 11 00:32 /usr/local/sbin/ospfd
-rwxr-xr-x 1 root staff 694944 Sep 11 00:32 /usr/local/sbin/zebra
a konfigurační soubory
-rw------- 1 root root 182 Sep 11 00:32 /usr/local/etc/ospfd.conf
-rw------- 1 root root 373 Sep 11 00:32 /usr/local/etc/zebra.conf
Jak se Quagga nakonfiguruje?
Quagga se sestává ze dvou programů: zebra
a ospfd
,
každý má svůj konfigurační soubor: zebra.conf, resp. ospfd.conf.
Takto vypadá vzorový zebra.conf:
hostname novy-router-2005
password free
enable password extrafree
! OSPF-ALL.MCAST.NET
ip route 224.0.0.5/32 127.0.0.1
! OSPF-DSIG.MCAST.NET
ip route 224.0.0.6/32 127.0.0.1
log syslog
Kromě hostname a enable password není třeba nic měnit. První heslo "free" je povinné v rámci HKfree pro všechny routery. Poskytuje ostatním správcům přístup (jen na čtení) do našeho routeru, stejně jako my můžeme pod tímto heslem "koukat" pod pokličku stávajícím routerům. Řádky "ip route ..." nebude třeba nikdy měnit.
Takto vypadá vzorový ospfd.conf:
hostname novy-router-2005
password free
enable password extrafree
interface eth0
description Moje domaci sit
ip ospf cost 10
interface eth1
description Moje druha domaci sit
ip ospf cost 10
interface wlan0
description Muj AP pro pripojeni ostatnich
ip ospf cost 100
interface wlan1
description Spoj bod-bod na vzdaleny node
ip ospf cost 100
access-list net-10.107 permit 10.107.0.0/16
route-map just-hkfree permit 10
match ip address net-10.107
router ospf
ospf router-id 10.107.99.1
redistribute connected metric-type 1 route-map just-hkfree
network 10.107.99.0/28 area 0
network 10.107.99.16/28 area 0
network 10.107.99.32/28 area 0
network 10.107.99.124/30 area 0
log syslog
Tento soubor je napsán pro modelovou situaci, kdy máme router se čtyřmi síťovými rozhraními. Jsme Access Point (pro připojení bezdrátových klientů), máme jeden směrový spoj (dvě směrové antény proti sobě) na mnoho kilometrů vzdálený nód a kromě toho ještě máme dvě domácí ethernetové sítě.
IP adresa | rozhraní | co je tam připojeno |
---|---|---|
10.107.99.1/28 | wlan0 | všesměrová anténa našeho AP |
10.107.99.124/30 | wlan1 | směrová anténa do jiného nódu sítě HKfree |
10.107.99.17/28 | eth0 | 100BaseT síť po mém baráku |
10.107.99.33/28 | eth1 | 10Base2 síť do sousedního baráku |
Jak se Quagga spustí?
# zebra -d
# ospfd -d
Jak se Quagga restartuje?
# killall zebra
# killall ospfd
# zebra -d
# ospfd -d
V případě že instalujete Quaggu z balíčků pro danou distribuci, je možné, že je vytvořen skript /ect/init.d/quagga
takže ji můžete restartovat pomocí
/ect/init.d/quagga restart
Dalsi veci souvisejici s OSPF
[Jak OSPF funguje a stub/NSSA area]