View this PageEdit this Page (locked)Uploads to this PageHistory of this PageHomeRecent ChangesSearchHelp Guide

Quagga - HOWTO

Jak jsem rozchodil Quaggu na Debianu

Předem bych chtěl poděkovat Vladkimu ktrý neúnavně odpovídá na mé únavné otázky, TomMovi za vytvoření skriptů a konfiguráků a Skalákovi který mi poskytl tyto vytvořené soubory.

Prvně jsem se sna�il rozchodit Quaggu mezi dvěmi PC propojených na ethernetu. Poměrně dlouho a bez výsledku. Pak jsem pou�il nastaveni od TomMa. A zde byli prvni výsledky.
Ale abych to nezdr�oval, tak tady je muj navrh postupu:

  1. Nastavit dummy adresu. Pokud nemáme dummy rozhraní, mů�eme nastavit přidělenou dummy adresu na rozhrani lo:1. Tato varianta take funguje bez problemů.
     
  2. A - Pro Debian upravit soubor /etc/network/options následovne:
          ip_forward=yes
          spoofprotect=no
          syncookies=yes
     
    B - pro ostatní systémy vytvoříme skript rpfilteroff. Je potřeba zajistit, aby se spu�těl automaticky. Nastaví aby jadru nevadilo, kdy� odpoveď na paket přijde jinou cestou. (Podle Johanky.)
     
  3. Upravit soubor /etc/quagga/debian.conf
          vtysh_enable=no
     
  4. Upravit soubor /etc/quagga/daemons (nevim proč, ale funguje to)
          zebra=1
          bgpd=no
          ospfd=2
          ospf6d=no
          ripd=no
          ripngd=no
     
  5. Vytvořit prázdný soubor "vtysh.conf" v adresáři /etc/quagga/
     
  6. Nastavit zebru.
    K nastavení slou�í soubor "zebra.conf" v adresáři /etc/quagga/. Po zkoumání a badání jsem zjistil, �e pokud router neobsahuje cesty, které se musí ručně nastavit, není třeba tento soubor konfigurovat. Je jen nutné aby byl v adresáři. Pro o�ivení tuto variantu dokonce doporučuji. Případné routy se pak nastavi po o�ivení quaggy.
     
  7. Nastavit ospfd.
    Tak toto je nejdule�itěj�í část. Nastavení je ulo�eno v souboru /etc/quagga/ospfd.conf. Zde provedená chyba se vět�inou projevi jen tím, �e to prostě nejede. Zde musí být nadefinovaná v�echna rozhraní na routru, jejich "cena", hlavni IP adresa routeru (dummy), sitě které se mají distributovat a které ne. Také plno dal�ích věcí, které zatim neznáme. Proto se timto souborem budu zabyvat podrobněji.
     
  8. Spustit Quagga.
    To je nejjednodu�í čast. Stačí napsat "/etc/init.d/quagga start". Pokud budeme mít �těstí a v�e jsme dobře nastavili, tak do jedné minuty se nam zobrazí sousední sitě.

Konfigurace ospfd
Uvadim přímo vlastní konfigurační soubor popisem, nebot mě připada poměrně jasný.
Pro ujasnění je�tě uvádím, ze gw má dvě sítové rozhraní, z toho jedno je do internetu (veřejná IP) a dvě bezdrátové sítě. Wlan0 ja mistní AP pro klienty a wlan1 slouzi jako link na dalsi PC.


! Zapnuti logovani (po oziveni doporucuji vypnout)
! log file /var/log/quagga/ospfd.log
! log syslog
!
! Jmeno PC routeru
hostname gw
!
! Seznam interfejsu a jejich cen. Priorita se tyka volby designated routeru.
! Cena se vypocita: cost= 1Gbps / rychlost interface
! Prikad : Sitovka 100M - cost= 10
!	   Sitovka  10M - cost=100
!          Dummy je lokalni, proto cost=1
!	   Wifi spoj se nastavuje podle kvality cost 100 az 1000
!               pro AP k pripojeni klientu doporucuji cost 200 az 1000
!               pro link mezi dvema PC doporucuji cost 100 a� 500     
interface lo
!
interface dummy0
 description router ip
 ip ospf cost 1
!
interface eth0
 description Internet
 ip ospf cost 2000
 ip ospf priority 0
!
interface eth1
 description Localnet
 ip ospf cost 10
 ip ospf priority 1
!
interface wlan0
 description AP Dlouha
 ip ospf cost 200
 ip ospf priority 1
!
interface wlan1
 description AP Link
 ip ospf cost 100
 ip ospf priority 1
!
router ospf
! ID routeru - nejlepe asi vzit IP adresu "nejstabilnejsiho" interfejsu
 ospf router-id 10.129.64.65
!
! chceme, aby OSPF (krome toho, co se dozvi vzajemnou komunikaci routeru) 
! vytrubovalo jeste primo pripojene site a staticke cesty ze zebra.conf
! POZOR - default route se roztrubovat nebude - zamysli se, co by to melo
! za nasledky (jednim slovem pohroma). Pokud by se tak melo dit, musel by se 
! sem pridat prikaz, ktery to povoluje. Takze default route je sice static,
! ale redistribute static se na ni nevztahuje.
 redistribute connected metric-type 1
 redistribute static metric-type 1
!
! Seznam interfaces ktere neobtezuj s broadcasty
 passive-interface eth0
!
! Primo pripojene site na ktere se posilaji a poslouchaji broudcasty zebry a OSPF
 network 10.129.65.0/27 area 0
 network 10.129.65.64/26 area 0
 network 10.129.66.120/29 area 0
!
! Primo pripojena sit, ktera se nema dale rozsirivat
 network 212.96.177.0/24 area 255
 area 255 range 212.96.177.0/24 not-advertise
!
! Seznam routru ktere jsou na jedne podsiti
 neighbor 10.129.65.100
 neighbor 10.129.66.121
!
!

Ře�ení problému
Pokud se nám v routovací tabulce nic neuká�e, přitom víme �e jsme připojeni na dal�í quaggu, je dobré si ověřit jestli vysíláme broudkasty. K tomuto učelu jsem pou�il skript logmon. Ten prvně nastaví pomocí iptables logovaní broukastových paketů a poté začne pravidelně ka�dých 5 sekund tento log vypisovat. Tyto broudkasty by se měly zobrazovat na v�ech rozhraní (pokud jsme to nezablokovali). Jakmile se quaggy spolu "chytnou", objeví se broudkast na vstupu z IP adresou odesilatele (druhé quaggy). Pokud ani poté se quagga nechytne a nevypise routy, je dobré provést restart obou PC. Poté se mě v�dy chytla.

Odkazy
K pochopení a správnému nastavení mu�e take pomoci popis od Johanky, nebo tento popis.

Závěr
Budu se zde sna�it zveřejnit postupně dal�í postřehy jak mé, tak těch co konstruktivně přispějí.

Tydýt