Často kladené otázky o OSPF: Porovnání verzí
(Není zobrazeno 8 mezilehlých verzí od 5 dalších uživatelů.) | |||
Řádek 20: | Řádek 20: | ||
doporučuji http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ospf.htm | doporučuji http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ospf.htm | ||
− | == K | + | == K čemu to je? == |
Pomocí OSPF si směrovače (routery) předávají informace o topologii a | Pomocí OSPF si směrovače (routery) předávají informace o topologii a | ||
Řádek 55: | Řádek 55: | ||
== Jak se nainstaluje Quagga? == | == Jak se nainstaluje Quagga? == | ||
+ | === Distribuce s balíčkovacím systémem === | ||
+ | Pokud máme debian nebo jiný systém na něm postavený (Voyage linux, KLFree debian), můžeme použít jeho repozitáře a quaggu nainstalujeme pomocí | ||
+ | |||
+ | <code> | ||
+ | $ apt-get update | ||
+ | $ apt-get install quagga | ||
+ | </code> | ||
+ | |||
+ | V ostatních systémech (gentoo, centos) můžeme použít jejich balíčkovací systém a nebo quaggu nainstalovat staticky, podle následující podkapitoly. | ||
+ | |||
+ | === Ostatní "druhy" linuxu === | ||
1. Stáhneme nejnovější verzi z http://www.quagga.net/download/. | 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ý. | Tento návod byl psán pro verzi 0.96.2, ale měl by být dost obecný. | ||
Řádek 96: | Řádek 107: | ||
<code> | <code> | ||
− | hostname | + | hostname oblast-jmenorouteru|zebra |
password free | password free | ||
enable password extrafree | enable password extrafree | ||
Řádek 118: | Řádek 129: | ||
<code> | <code> | ||
− | hostname | + | hostname oblast-jmenorouteru|ospfd |
password free | password free | ||
enable password extrafree | enable password extrafree | ||
Řádek 143: | Řádek 154: | ||
ospf router-id 10.107.99.1 | ospf router-id 10.107.99.1 | ||
redistribute connected metric-type 1 route-map just-hkfree | redistribute connected metric-type 1 route-map just-hkfree | ||
+ | !passive-interface vypne komunikaci ospf na danem rozhrani. To je pro uzivatelske anteny dulezite, aby clenove nemohli rozborit celou sit. | ||
+ | passive-interface eth0 | ||
+ | passive-interface eth1 | ||
+ | passive-interface wlan0 | ||
network 10.107.99.0/28 area 0 | network 10.107.99.0/28 area 0 | ||
network 10.107.99.16/28 area 0 | network 10.107.99.16/28 area 0 | ||
Řádek 195: | Řádek 210: | ||
</code> | </code> | ||
− | V případě že instalujete Quaggu z balíčků pro danou distribuci, je možné, že je vytvořen skript <code>/ | + | V případě že instalujete Quaggu z balíčků pro danou distribuci, je možné, že je vytvořen skript <code>/etc/init.d/quagga</code> takže ji můžete restartovat a startovat pomocí |
<code> | <code> | ||
− | / | + | /etc/init.d/quagga restart |
</code> | </code> | ||
+ | |||
+ | == Jak se zjistí, že to funguje? == | ||
+ | Krom toho, že bude fungovat internet, je důrazně doporučeno zkouknout situaci na [[OSPF mapa|OSPF mapě]]. | ||
+ | |||
+ | Další užitečná věc je také mít na routeru nainstalovaný linuxový program '''tcpdump'''. Ten nám umožní se kouknout, co přesně za ospf provoz na daném interface běhá. | ||
+ | |||
+ | Spustíme ho příkazem (za nazev_rozhrani dosadíme název rozhraní, které zkoumáme) | ||
+ | <code> | ||
+ | tcpdump -vvv -i nazev_rozhrani proto ospf | ||
+ | </code> | ||
+ | |||
+ | Pokud nám vyleze velká hromada dat a ne jenom HELLO packety (těmi ospf zkouší jestli na druhém konci není další ospf), tak to pravděpodobně funguje. Ve výpisu můžeme sledovat podrobnosti jako jméno routeru na druhém konci linky, ale hlavně tam můžeme vidět to, že máme linku opravdu zabezpečenou. V tom případě se tam vyskytuje něco jako | ||
+ | <code> | ||
+ | Router-ID routerid.protistrany.hkfree.org, Backbone Area, Authentication Type: MD5 (2) | ||
+ | </code> | ||
+ | |||
+ | == Tipy a triky pro OSPF == | ||
+ | |||
+ | * Nepoužívám redistribute kernel, pokud si nejsem na 100% jisty, ze to potrebuji | ||
+ | * Ke konzolím se lze připojit na tyto porty (samozřejmně jen pokud nám běží): | ||
+ | zebrasrv 2600/tcp # zebra service | ||
+ | zebra 2601/tcp # zebra vty | ||
+ | ripd 2602/tcp # RIPd vty | ||
+ | ripngd 2603/tcp # RIPngd vty | ||
+ | ospfd 2604/tcp # OSPFd vty | ||
+ | bgpd 2605/tcp # BGPd vty | ||
+ | ospf6d 2606/tcp # OSPF6d vty | ||
+ | ospfapi 2607/tcp # ospfapi | ||
+ | isisd 2608/tcp # ISISd vty | ||
+ | * Pro zjisteni, co muj router siri muzu zkusit napsat v ospfd konzoli - doporucuji zkontrolovat a v pripade, ze zde bude neco, co tam byt nema, tak zkonzultova s nekym zkusenejsim. | ||
+ | |||
+ | router> show ip ospf database self-orig | ||
== Dalsi veci souvisejici s OSPF == | == Dalsi veci souvisejici s OSPF == | ||
[[Jak OSPF funguje a stub/NSSA area]] | [[Jak OSPF funguje a stub/NSSA area]] | ||
+ | |||
+ | [[Zabezpečení OSPF linky pomocí MD5]] |
Aktuální verze z 3. 9. 2014, 18:26
ČKD o OSPF pro HKfree.org
Autor: VojtaLhota
Wikizace: Pavkriz (původní dokument na brita.lhota.hkfree.org)
Obsah
- 1 Kdy potřebuji OSPF? Musím tohle číst?
- 2 Co je to OSPF?
- 3 K čemu to je?
- 4 Co potřebuji k zprovoznění OSPF na mém routeru ?
- 5 Co je Zebra, Quagga, GateD?
- 6 Jak se nainstaluje Quagga?
- 7 Jak se Quagga nakonfiguruje?
- 8 Jak se Quagga spustí?
- 9 Jak se Quagga restartuje?
- 10 Jak se zjistí, že to funguje?
- 11 Tipy a triky pro OSPF
- 12 Dalsi veci souvisejici s OSPF
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 čemu 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?
Distribuce s balíčkovacím systémem
Pokud máme debian nebo jiný systém na něm postavený (Voyage linux, KLFree debian), můžeme použít jeho repozitáře a quaggu nainstalujeme pomocí
$ apt-get update
$ apt-get install quagga
V ostatních systémech (gentoo, centos) můžeme použít jejich balíčkovací systém a nebo quaggu nainstalovat staticky, podle následující podkapitoly.
Ostatní "druhy" linuxu
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 oblast-jmenorouteru|zebra
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 oblast-jmenorouteru|ospfd
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
!passive-interface vypne komunikaci ospf na danem rozhrani. To je pro uzivatelske anteny dulezite, aby clenove nemohli rozborit celou sit.
passive-interface eth0
passive-interface eth1
passive-interface wlan0
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 /etc/init.d/quagga
takže ji můžete restartovat a startovat pomocí
/etc/init.d/quagga restart
Jak se zjistí, že to funguje?
Krom toho, že bude fungovat internet, je důrazně doporučeno zkouknout situaci na OSPF mapě.
Další užitečná věc je také mít na routeru nainstalovaný linuxový program tcpdump. Ten nám umožní se kouknout, co přesně za ospf provoz na daném interface běhá.
Spustíme ho příkazem (za nazev_rozhrani dosadíme název rozhraní, které zkoumáme)
tcpdump -vvv -i nazev_rozhrani proto ospf
Pokud nám vyleze velká hromada dat a ne jenom HELLO packety (těmi ospf zkouší jestli na druhém konci není další ospf), tak to pravděpodobně funguje. Ve výpisu můžeme sledovat podrobnosti jako jméno routeru na druhém konci linky, ale hlavně tam můžeme vidět to, že máme linku opravdu zabezpečenou. V tom případě se tam vyskytuje něco jako
Router-ID routerid.protistrany.hkfree.org, Backbone Area, Authentication Type: MD5 (2)
Tipy a triky pro OSPF
- Nepoužívám redistribute kernel, pokud si nejsem na 100% jisty, ze to potrebuji
- Ke konzolím se lze připojit na tyto porty (samozřejmně jen pokud nám běží):
zebrasrv 2600/tcp # zebra service zebra 2601/tcp # zebra vty ripd 2602/tcp # RIPd vty ripngd 2603/tcp # RIPngd vty ospfd 2604/tcp # OSPFd vty bgpd 2605/tcp # BGPd vty ospf6d 2606/tcp # OSPF6d vty ospfapi 2607/tcp # ospfapi isisd 2608/tcp # ISISd vty
- Pro zjisteni, co muj router siri muzu zkusit napsat v ospfd konzoli - doporucuji zkontrolovat a v pripade, ze zde bude neco, co tam byt nema, tak zkonzultova s nekym zkusenejsim.
router> show ip ospf database self-orig