Quagga

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
 
(2 szerkesztő 6 közbeeső változata nincs mutatva)
1. sor: 1. sor:
A Quagga egy routing szoftver csomag, amely a Unix/Linux rendszerekhez lett kialakítva. TCP/IP alapú routing szolgáltatást tesz elérhetővé és szinte az összes fontosabb routing protokollt támogatja (RIP,OSPF,BGP). Az IPv4 routing mellett az IPv6 protokollokat is támogatja. Az aktuális verzió letölthető itt: [http://www.quagga.net/]
+
A Quagga szoftvercsomag segítségével valódi routerré alakíthatunk egy unixos számítógépet. A Quagga a legfontosabb IPv4-es routing-protokollok (RIP, OSPF, BGP) mellett az IPv6-ot is támogatja. Az aktuális verzió letölthető a: [http://www.quagga.net/ http://www.quagga.net/] oldalról, de természetesen bináris csomagok formájában is elérhető, pl. Debianra.
   
   
== Története ==
+
== A Quagga története ==
   
2005-ig a GNU Zebra látta el a routing feladatokat, majd ezután vette át és fejlesztette tovább a Quagga. A régebbi verzió itt érhető el: [http://www.zebra.org/]. A mai napig találnak hibákat, amelyeket folyamatosan javítanak. Érdekesség, hogy már a 2005-ös Zebra is támogatta az IPv6 routingot.
+
A csomagot 2005-ig a GNU Zebra néven fejlesztették, de 2005-ben a fejlesztés elakadt. Néhány fejlesztő létrehozta a Quagga névre keresztelt forkot, amit azóta is aktívan fejlesztenek.
   
  +
== A Quagga architektúrája ==
   
== Működése ==
+
A Quagga architektúráját az alábbi blokkdiagramon láthatjuk (a "zebra" név örökség):
 
A Quagga átvette a Zebra működését, amiatt egyeznek meg a régebben használt nevek.
 
 
 
 
<pre>
 
<pre>
20. sor: 21. sor:
 
+------------------------------+
 
+------------------------------+
   
Quagga System Architecture
 
 
</pre>
 
</pre>
   
  +
Az egyes routing-protokollokat önálló daemonok valósítják meg. Ezek a zebra daemonnal (és persze a hálózat többi routerével) beszélgetnek, a zebra daemon pedig a bejövő információ alapján frissíti/módosítja a kernel routing-tábláját.
   
A zebra kommunikál a kernellel tehát ő a kernel routing manager, ezáltal frissülnek az adatok a routing táblában. Emellett fut a használt routing protokollnak megfelelő daemon(szoftver) amely kommunikál a zebrával. A könnyebb konfigurálhatóság érdekében létrehoztak egy terminált is amelyet telnettel érhetünk el. Minden daemon-hoz tartozik egy konfig file amellyel beállíthatjuk a megfelelő kezdő paramétereket, valamint futás közben a terminál segítségével változtathatunk a működésén.
+
A konfiguráció nem a unixos hálózati szolgáltatások, hanem a "dobozos" routerek (Cisco stb.) filozófiáját követi: van ugyan konfigurációs fájl, amiben az indításkor érvényes paramétereket beállíthatjuk, a további konfigurációt azonban egy telnet segítségével elérhető parancssoros felületen keresztül szokás elvégezni.
   
  +
== A Quagga beállítása ==
   
== Beállítása ==
+
Először is gondoskodjunk arról, hogy a zebra daemon és az általunk használni kívánt routing-protokoll daemonja elinduljon; ennek a mikéntje oprendszer- és disztribúciófüggő. Végső esetben közvetlenül a parancssorból is futtathatók a daemonok, de mivel ilyenkor az interaktív shelltől öröklik az állapotterük egy részét, ez nem javasolt.
A zebra-t a következő paranccsal indíthatjuk el(a -d kapcsolóval háttérben fut):zebra -g "group name" -u "user name"<br/>
+
Beállítható hogy melyik user neve alatt fusson a program.<br/>
+
A konfigurációs felületet úgy érhetjük el, hogy a megfelelő daemon telnet-portjára telnetelünk. Ezek a portszámok alapértelmezés szerint a következők:
A szolgáltatást a nevével és ugyanazzal a kapcsolókkal,mint a zebránál,indíthatjuk.<br/>
+
pl. ospfd -d -g root -u root <br/>
+
{| class="prettytable" border="0" cellspacing="0" cellpadding="2"
A terminált a következő paranccsal érhetjük el:<br/>
+
||Szolgáltatás neve||<center>Port</center>||Megjegyzés
telnet localhost "szolgáltatás neve"
+
|-
<pre>
+
||zebrasrv||2600/tcp||zebra service
Szolgáltatás neve Port
+
|-
zebrasrv 2600/tcp # zebra service
+
||zebra||2601/tcp||zebra vty
zebra 2601/tcp # zebra vty
+
|-
ripd 2602/tcp # RIPd vty
+
||ripd||2602/tcp||RIPd vty
ripngd 2603/tcp # RIPngd vty
+
|-
ospfd 2604/tcp # OSPFd vty
+
||ripngd||2603/tcp||RIPngd vty
bgpd 2605/tcp # BGPd vty
+
|-
ospf6d 2606/tcp # OSPF6d vty
+
||ospfd||2604/tcp||OSPFd vty
ospfapi 2607/tcp # ospfapi
+
|-
isisd 2608/tcp # ISISd vty
+
||bgpd||2605/tcp||BGPd vty
</pre>
+
|-
  +
||ospf6d||2606/tcp||OSPF6d vty
  +
|-
  +
||ospfapi||2607/tcp||ospfapi
  +
|-
  +
||isisd||2608/tcp||ISISd vty
  +
|}
  +
  +
Amíg nem nyúlunk hozzájuk telnettel, a daemonok a konfigurációs fájljukban megadott konfiguráció alapján működnek. A konfigurációs fájlok helye a telepítés módjától függően eltérhet (forrásból telepítés esetén pl. lehetnek a <tt>/usr/local/etc</tt> könyvtárban, csomagból való telepítés esetén pedig a <tt>/etc/quagga</tt> könyvtárban).
  +
  +
Lássunk egy példát!
  +
  +
zebra.conf:
   
A szolgáltatás elindításakor a kezdő konfig file alapján indul el, amelyet a /usr/local/etc könyvtárba kell elhelyezni. Telepítéskor található itt néhány példafájl is.<br/>
 
zebra.conf.sample:<br/>
 
 
<pre>
 
<pre>
 
! -*- zebra -*-
 
! -*- zebra -*-
76. sor: 76. sor:
 
!log file zebra.log
 
!log file zebra.log
 
</pre>
 
</pre>
A terminálba belépéskor a password utána megadott szót kéri. Ekkor csak az aktuálisan futó beállításokat és értékeket kérhetjük le a show parancs kiegészítésével. Enable módba kell átlépni, hogy a konfigurációt megváltoztathassuk. Ezt az enable paranccsal érhetjük el és itt az enable password után beírt szót kell megadnunk. Ekkor a következő beállítások állnak majd a rendelkezésünkre:
+
  +
A felkiáltójelek (és egyébként a # karakterek is) kommentet vezetnek be; a zebra a sor további részét figyelmen kívül hagyja.
  +
  +
A zebra konfigurációjában kell felsorolnunk, hogy mely interfészek routingját szeretnénk a zebrára bízni.
  +
  +
A dobozos routereknél megszokott módon kétféle hozzáférési szint van: a "sima" és az "enable". Sima userként a "password" direktíva után megadott jelszóval hitelesíthetjük magunkat, és csak lekérdezni tudunk (pl. az aktuális konfigurációt a <tt>show</tt> parancs segítségével).
  +
  +
Ha változtatni szeretnénk a konfiguráción, akkor először "enable" módba kell váltanunk az <tt>enable</tt> parancs beírásával és az "enable password" megadásával.
  +
  +
Enable módban a következő parancsok állnak rendelkezésünkre:
  +
 
<pre>
 
<pre>
 
clear Reset functions
 
clear Reset functions
96. sor: 96. sor:
 
write Write running configuration to memory, network, or terminal
 
write Write running configuration to memory, network, or terminal
 
</pre>
 
</pre>
A ! és a # jel a kommentet jelzi az utána lévő írást a sor végéig nem veszi figyelembe. A zebra konfigurációjában kell felsorolnunk, hogy mely interfészek routingolását szeretnénk használni a szoftver által. <br/>
+
ospfd.conf.sample:
+
A példában is szereplő OSPF routing az egyik legelterjettebb a Quagga-ban.
  +
  +
Lássunk egy példát!
  +
  +
ospfd.conf:
  +
 
<pre>
 
<pre>
 
! -*- ospf -*-
 
! -*- ospf -*-
114. sor: 114. sor:
 
</pre>
 
</pre>
   
== Példa megoldás ==
+
== Konfigurációs példa ==
Egy OSPF hálózat kialakítása.<br/>
+
  +
Állítsuk be az alábbi képen látható hálózat routereit úgy, hogy OSPF fölött cseréljenek routing-információt.
  +
 
[[Fájl:Quagga.jpg]]
 
[[Fájl:Quagga.jpg]]
<br/>
+
A PC1 zebra.conf file-ja:<br/>
+
A routerek különböző subneteket kötnek össze, valamint a Router5-n keresztül a PC-k számára elérhető az internet. A PC-ken is érdemes futtatni a Quagga-t, ugyanis így automatikusan karbantartja a routing táblázatot, nem pedig nekünk kell kézzel beállítani például a default gateway-t (alapértelmezett átjárót). A konfig file-ok lehetnek rövidek és hosszúak, nagyon sok opcionális beállítás használható. Például itt: [http://quagga.net/docs/docs-info.php#SEC56] sok ilyen parancs található. Vannak router-, interface- és areaparancsok, így mindenki megtalálhatja a számára fontosat. Itt található például az a beállítás is, hogy az ospf a routing tábla mely elemeit hirdesse (statikus,ospf által bejegyzett stb.), valamint mely interfészeken kommunikáljon, melyikeken nem (értelemszerűen az Internet felé nem szeretnénk küldeni OSPF üzeneteket).
<pre>
+
  +
A jelenlegi konfigurációban az egyszerű beállítások is megfelelőek, az Internet felőli részt passzívvá teszem (passive-interface ,nem küld rajta üzenetet, de az arra található hálózatot hirdeti). Egy area-ba tartozik jelenleg a hálózat, de természetesen több részre is oszthatjuk. Mindegyik konfig fájlban definiáljuk az area-t és a hozzátartozó subnetet. Ezt jelöli a area ... range ... sor, amellyel összekötjük az area azonosítót a hálózati subnettel. Így csak azokat az üzeneteket fogadja el, amely ezzel a párosítással van ellátva. Emellett engedélyeznünk kell az interfészeket, erre az interface .... area .... sor hivatott, mellyel megadjuk hogy melyik interfészen mely area-át érheti el, amely interfész itt nem szerepel azt nem használja az OSPF működésekor.
  +
  +
A konfigurációs fájlok tartalma:
  +
  +
{| class="prettytable" border="1" cellspacing="0" cellpadding="2"
  +
|colspan=9|<center>'''zebra.conf'''</center>
  +
|-
  +
||PC1||PC2||PC3||PC4||Router1||Router2||Router3||Router4||Router5
  +
|-
  +
||<pre>
 
hostname PC1
 
hostname PC1
 
password yoli
 
password yoli
129. sor: 129. sor:
 
!
 
!
 
</pre>
 
</pre>
+
||
A PC1 ospfd.conf file-ja:<br/>
 
 
<pre>
 
<pre>
!
+
hostname PC2
hostname PC1
 
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
log stdout
 
 
!
 
!
 
interface eth0
 
interface eth0
!
 
router ospf
 
router-id 0.0.0.1
 
area 0.0.0.1 range 192.168.0.0/16
 
 
!
 
!
interface eth0 area 0.0.0.1
 
!
 
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
A PC2 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
+
hostname PC3
hostname PC2
 
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
157. sor: 150. sor:
 
!
 
!
 
</pre>
 
</pre>
+
||<pre>
A PC2 ospfd.conf file-ja:<br/>
+
hostname PC4
<pre>
 
!
 
hostname PC2
 
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
log stdout
 
 
!
 
!
 
interface eth0
 
interface eth0
  +
!
  +
line vty
  +
!
  +
</pre>
  +
||<pre>
  +
hostname Router1
  +
password yoli
  +
enable password yoli
 
!
 
!
router ospf
+
interface eth0.0
router-id 0.0.0.2
+
interface eth0.1
area 0.0.0.1 range 192.168.0.0/16
 
 
!
 
!
interface eth0 area 0.0.0.1
+
line vty
  +
!
  +
</pre>
  +
||<pre>
  +
hostname Router2
  +
password yoli
  +
enable password yoli
 
!
 
!
  +
interface eth0.0
  +
interface eth0.1
  +
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
A PC3 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
+
hostname Router3
hostname PC3
 
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
 
!
 
!
interface eth0
+
interface eth0.0
  +
interface eth0.1
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
+
||<pre>
A PC3 ospfd.conf file-ja:<br/>
+
hostname Router4
<pre>
 
!
 
hostname PC3
 
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
log stdout
 
 
!
 
!
interface eth0
+
interface eth0.0
!
+
interface eth0.1
router ospf
 
router-id 0.0.0.3
 
area 0.0.0.1 range 192.168.0.0/16
 
!
 
interface eth0 area 0.0.0.1
 
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
A PC4 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
+
hostname Router5
hostname PC4
 
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
 
!
 
!
interface eth0
+
interface eth0.0
  +
interface eth0.1
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
+
|-
A PC4 ospfd.conf file-ja:<br/>
+
|colspan=9|<center>'''ospfd.conf'''</center>
<pre>
+
|-
  +
||PC1||PC2||PC3||PC4||Router1||Router2||Router3||Router4||Router5
  +
|-
  +
||<pre>
 
!
 
!
hostname PC4
+
hostname PC1
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
217. sor: 219. sor:
 
!
 
!
 
router ospf
 
router ospf
router-id 0.0.0.4
+
router-id 0.0.0.1
 
area 0.0.0.1 range 192.168.0.0/16
 
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
225. sor: 227. sor:
 
!
 
!
 
</pre>
 
</pre>
A Router1 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
+
!
hostname Router1
+
hostname PC2
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
  +
log stdout
 
!
 
!
 
interface eth0
 
interface eth0
  +
!
  +
router ospf
  +
router-id 0.0.0.2
  +
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
  +
interface eth0 area 0.0.0.1
  +
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
+
||<pre>
A Router1 ospfd.conf file-ja:<br/>
 
<pre>
 
 
!
 
!
hostname Router1
+
hostname PC3
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
246. sor: 255. sor:
 
!
 
!
 
router ospf
 
router ospf
router-id 0.0.0.11
+
router-id 0.0.0.3
 
area 0.0.0.1 range 192.168.0.0/16
 
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
254. sor: 263. sor:
 
!
 
!
 
</pre>
 
</pre>
A Router2 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
+
!
hostname Router2
+
hostname PC4
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
  +
log stdout
 
!
 
!
 
interface eth0
 
interface eth0
  +
!
  +
router ospf
  +
router-id 0.0.0.4
  +
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
  +
interface eth0 area 0.0.0.1
  +
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
+
||<pre>
A Router2 ospfd.conf file-ja:<br/>
 
<pre>
 
 
!
 
!
hostname Router2
+
hostname Router1
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
 
log stdout
 
log stdout
 
!
 
!
interface eth0
+
interface eth0.0
! Router settings, different router id need and set the area 0.0.0.1
+
interface eth0.1
  +
!
 
router ospf
 
router ospf
router-id 0.0.0.12
+
router-id 0.0.0.11
 
area 0.0.0.1 range 192.168.0.0/16
 
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
interface eth0 area 0.0.0.1
+
interface eth0.0 area 0.0.0.1
  +
interface eth0.1 area 0.0.0.1
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
A Router3 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
+
!
hostname Router3
+
hostname Router2
 
password yoli
 
password yoli
 
enable password yoli
 
enable password yoli
  +
log stdout
 
!
 
!
interface eth0
+
interface eth0.0
  +
interface eth0.1
  +
!
  +
router ospf
  +
router-id 0.0.0.12
  +
area 0.0.0.1 range 192.168.0.0/16
  +
!
  +
interface eth0.0 area 0.0.0.1
  +
interface eth0.1 area 0.0.0.1
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
+
||<pre>
A Router3 ospfd.conf file-ja:<br/>
 
<pre>
 
 
!
 
!
 
hostname Router3
 
hostname Router3
301. sor: 318. sor:
 
log stdout
 
log stdout
 
!
 
!
interface eth0
+
interface eth0.0
  +
interface eth0.1
 
!
 
!
 
router ospf
 
router ospf
307. sor: 324. sor:
 
area 0.0.0.1 range 192.168.0.0/16
 
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
interface eth0 area 0.0.0.1
+
interface eth0.0 area 0.0.0.1
  +
interface eth0.1 area 0.0.0.1
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
A Router4 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
 
hostname Router4
 
password yoli
 
enable password yoli
 
!
 
interface eth0
 
!
 
line vty
 
!
 
</pre>
 
 
A Router4 ospfd.conf file-ja:<br/>
 
<pre>
 
 
!
 
!
 
hostname Router4
 
hostname Router4
319. sor: 336. sor:
 
log stdout
 
log stdout
 
!
 
!
interface eth0
+
interface eth0.0
  +
interface eth0.1
 
!
 
!
 
router ospf
 
router ospf
325. sor: 342. sor:
 
area 0.0.0.1 range 192.168.0.0/16
 
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
interface eth0 area 0.0.0.1
+
interface eth0.0 area 0.0.0.1
  +
interface eth0.1 area 0.0.0.1
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
A Router5 zebra.conf file-ja:<br/>
+
||<pre>
<pre>
 
hostname Router5
 
password yoli
 
enable password yoli
 
!
 
interface eth0
 
!
 
line vty
 
!
 
</pre>
 
 
A Router5 ospfd.conf file-ja:<br/>
 
<pre>
 
 
!
 
!
 
hostname Router5
 
hostname Router5
337. sor: 354. sor:
 
log stdout
 
log stdout
 
!
 
!
interface eth0
+
!koltseget adhatunk a linknek
ip ospf cost 1
+
interface eth0.0
  +
ip ospf cost 1
  +
!
  +
interface eth0.1
 
!
 
!
 
router ospf
 
router ospf
344. sor: 361. sor:
 
area 0.0.0.1 range 192.168.0.0/16
 
area 0.0.0.1 range 192.168.0.0/16
 
!
 
!
interface eth0 area 0.0.0.1
+
interface eth0.0 area 0.0.0.1
passive-interface eth1
+
passive-interface eth0.1
 
!
 
!
 
line vty
 
line vty
 
!
 
!
 
</pre>
 
</pre>
  +
|}
 
Készítő: [[Szerkesztő:Teki|Teki]]
 
Készítő: [[Szerkesztő:Teki|Teki]]

A lap jelenlegi, 2010. december 31., 15:26-kori változata

A Quagga szoftvercsomag segítségével valódi routerré alakíthatunk egy unixos számítógépet. A Quagga a legfontosabb IPv4-es routing-protokollok (RIP, OSPF, BGP) mellett az IPv6-ot is támogatja. Az aktuális verzió letölthető a: http://www.quagga.net/ oldalról, de természetesen bináris csomagok formájában is elérhető, pl. Debianra.


Tartalomjegyzék

[szerkesztés] 1 A Quagga története

A csomagot 2005-ig a GNU Zebra néven fejlesztették, de 2005-ben a fejlesztés elakadt. Néhány fejlesztő létrehozta a Quagga névre keresztelt forkot, amit azóta is aktívan fejlesztenek.

[szerkesztés] 2 A Quagga architektúrája

A Quagga architektúráját az alábbi blokkdiagramon láthatjuk (a "zebra" név örökség):

+----+  +----+  +-----+  +-----+
|bgpd|  |ripd|  |ospfd|  |zebra|
+----+  +----+  +-----+  +-----+
                            |
+---------------------------|--+
|                           v  |
|  UNIX Kernel  routing table  |
|                              |
+------------------------------+

Az egyes routing-protokollokat önálló daemonok valósítják meg. Ezek a zebra daemonnal (és persze a hálózat többi routerével) beszélgetnek, a zebra daemon pedig a bejövő információ alapján frissíti/módosítja a kernel routing-tábláját.

A konfiguráció nem a unixos hálózati szolgáltatások, hanem a "dobozos" routerek (Cisco stb.) filozófiáját követi: van ugyan konfigurációs fájl, amiben az indításkor érvényes paramétereket beállíthatjuk, a további konfigurációt azonban egy telnet segítségével elérhető parancssoros felületen keresztül szokás elvégezni.

[szerkesztés] 3 A Quagga beállítása

Először is gondoskodjunk arról, hogy a zebra daemon és az általunk használni kívánt routing-protokoll daemonja elinduljon; ennek a mikéntje oprendszer- és disztribúciófüggő. Végső esetben közvetlenül a parancssorból is futtathatók a daemonok, de mivel ilyenkor az interaktív shelltől öröklik az állapotterük egy részét, ez nem javasolt.

A konfigurációs felületet úgy érhetjük el, hogy a megfelelő daemon telnet-portjára telnetelünk. Ezek a portszámok alapértelmezés szerint a következők:

Szolgáltatás neve
Port
Megjegyzés
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

Amíg nem nyúlunk hozzájuk telnettel, a daemonok a konfigurációs fájljukban megadott konfiguráció alapján működnek. A konfigurációs fájlok helye a telepítés módjától függően eltérhet (forrásból telepítés esetén pl. lehetnek a /usr/local/etc könyvtárban, csomagból való telepítés esetén pedig a /etc/quagga könyvtárban).

Lássunk egy példát!

zebra.conf:

! -*- zebra -*-
!
! zebra sample configuration file
!
! $Id: zebra.conf.sample,v 1.1 2002/12/13 20:15:30 paul Exp $
!
hostname Router
password zebra
enable password zebra
!
! Interface's description.
!
!interface lo
! description test of desc.
!
!interface sit0
! multicast

!
! Static default route sample.
!
!ip route 0.0.0.0/0 203.181.89.241
!

!log file zebra.log

A felkiáltójelek (és egyébként a # karakterek is) kommentet vezetnek be; a zebra a sor további részét figyelmen kívül hagyja.

A zebra konfigurációjában kell felsorolnunk, hogy mely interfészek routingját szeretnénk a zebrára bízni.

A dobozos routereknél megszokott módon kétféle hozzáférési szint van: a "sima" és az "enable". Sima userként a "password" direktíva után megadott jelszóval hitelesíthetjük magunkat, és csak lekérdezni tudunk (pl. az aktuális konfigurációt a show parancs segítségével).

Ha változtatni szeretnénk a konfiguráción, akkor először "enable" módba kell váltanunk az enable parancs beírásával és az "enable password" megadásával.

Enable módban a következő parancsok állnak rendelkezésünkre:

  clear      Reset functions
  configure  Configuration from vty interface
  copy       Copy configuration
  debug      Debugging functions (see also 'undebug')
  disable    Turn off privileged mode command
  echo       Echo a message back to the vty
  end        End current mode and change to enable mode.
  exit       Exit current mode and down to previous mode
  help       Description of the interactive help system
  list       Print command list
  logmsg     Send a message to enabled logging destinations
  no         Negate a command or set its defaults
  quit       Exit current mode and down to previous mode
  show       Show running system information
  terminal   Set terminal line parameters
  who        Display who is on vty
  write      Write running configuration to memory, network, or terminal

A példában is szereplő OSPF routing az egyik legelterjettebb a Quagga-ban.

Lássunk egy példát!

ospfd.conf:

! -*- ospf -*-
!
! OSPFd sample configuration file
!
!
hostname ospfd
password zebra
!enable password please-set-at-here
!
!router ospf
!  network 192.168.1.0/24 area 0
!
log stdout

[szerkesztés] 4 Konfigurációs példa

Állítsuk be az alábbi képen látható hálózat routereit úgy, hogy OSPF fölött cseréljenek routing-információt.

Quagga.jpg

A routerek különböző subneteket kötnek össze, valamint a Router5-n keresztül a PC-k számára elérhető az internet. A PC-ken is érdemes futtatni a Quagga-t, ugyanis így automatikusan karbantartja a routing táblázatot, nem pedig nekünk kell kézzel beállítani például a default gateway-t (alapértelmezett átjárót). A konfig file-ok lehetnek rövidek és hosszúak, nagyon sok opcionális beállítás használható. Például itt: [1] sok ilyen parancs található. Vannak router-, interface- és areaparancsok, így mindenki megtalálhatja a számára fontosat. Itt található például az a beállítás is, hogy az ospf a routing tábla mely elemeit hirdesse (statikus,ospf által bejegyzett stb.), valamint mely interfészeken kommunikáljon, melyikeken nem (értelemszerűen az Internet felé nem szeretnénk küldeni OSPF üzeneteket).

A jelenlegi konfigurációban az egyszerű beállítások is megfelelőek, az Internet felőli részt passzívvá teszem (passive-interface ,nem küld rajta üzenetet, de az arra található hálózatot hirdeti). Egy area-ba tartozik jelenleg a hálózat, de természetesen több részre is oszthatjuk. Mindegyik konfig fájlban definiáljuk az area-t és a hozzátartozó subnetet. Ezt jelöli a area ... range ... sor, amellyel összekötjük az area azonosítót a hálózati subnettel. Így csak azokat az üzeneteket fogadja el, amely ezzel a párosítással van ellátva. Emellett engedélyeznünk kell az interfészeket, erre az interface .... area .... sor hivatott, mellyel megadjuk hogy melyik interfészen mely area-át érheti el, amely interfész itt nem szerepel azt nem használja az OSPF működésekor.

A konfigurációs fájlok tartalma:

zebra.conf
PC1 PC2 PC3 PC4 Router1 Router2 Router3 Router4 Router5
hostname PC1
password yoli
enable password yoli
! 
interface eth0
!
line vty
!
hostname PC2
password yoli
enable password yoli
! 
interface eth0
!
line vty
!
hostname PC3
password yoli
enable password yoli
! 
interface eth0
!
line vty
!
hostname PC4
password yoli
enable password yoli
! 
interface eth0
!
line vty
!
hostname Router1
password yoli
enable password yoli
! 
interface eth0.0
interface eth0.1
!
line vty
!
hostname Router2
password yoli
enable password yoli
! 
interface eth0.0
interface eth0.1
!
line vty
!
hostname Router3
password yoli
enable password yoli
! 
interface eth0.0
interface eth0.1
!
line vty
!
hostname Router4
password yoli
enable password yoli
! 
interface eth0.0
interface eth0.1
!
line vty
!
hostname Router5
password yoli
enable password yoli
! 
interface eth0.0
interface eth0.1
!
line vty
!
ospfd.conf
PC1 PC2 PC3 PC4 Router1 Router2 Router3 Router4 Router5
!
hostname PC1
password yoli
enable password yoli
log stdout
! 
interface eth0
! 
router ospf
 router-id 0.0.0.1
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0 area 0.0.0.1
! 
line vty
!
!
hostname PC2
password yoli
enable password yoli
log stdout
! 
interface eth0
! 
router ospf
 router-id 0.0.0.2
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0 area 0.0.0.1
! 
line vty
!
!
hostname PC3
password yoli
enable password yoli
log stdout
! 
interface eth0
! 
router ospf
 router-id 0.0.0.3
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0 area 0.0.0.1
!
line vty
!
!
hostname PC4
password yoli
enable password yoli
log stdout
! 
interface eth0
! 
router ospf
 router-id 0.0.0.4
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0 area 0.0.0.1
! 
line vty
!
!
hostname Router1
password yoli
enable password yoli
log stdout
! 
interface eth0.0
interface eth0.1
! 
router ospf
 router-id 0.0.0.11
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0.0 area 0.0.0.1
 interface eth0.1 area 0.0.0.1
!
line vty
!
!
hostname Router2
password yoli
enable password yoli
log stdout
! 
interface eth0.0
interface eth0.1
! 
router ospf
 router-id 0.0.0.12
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0.0 area 0.0.0.1
 interface eth0.1 area 0.0.0.1
!
line vty
!
!
hostname Router3
password yoli
enable password yoli
log stdout
! 
interface eth0.0
interface eth0.1
! 
router ospf
 router-id 0.0.0.13
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0.0 area 0.0.0.1
 interface eth0.1 area 0.0.0.1
! 
line vty
!
!
hostname Router4
password yoli
enable password yoli
log stdout
! 
interface eth0.0
interface eth0.1
! 
router ospf
 router-id 0.0.0.14
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0.0 area 0.0.0.1
 interface eth0.1 area 0.0.0.1
! 
line vty
!
!
hostname Router5
password yoli
enable password yoli
log stdout
! 
!koltseget adhatunk a linknek
interface eth0.0
ip ospf cost 1 
!
interface eth0.1
! 
router ospf
 router-id 0.0.0.15
 area 0.0.0.1 range 192.168.0.0/16
!
 interface eth0.0 area 0.0.0.1
 passive-interface eth0.1
! 
line vty
!

Készítő: Teki

Személyes eszközök