Strumenti Utente

Strumenti Sito


quagga

Routing dinamico con quagga [Howto]

Quagga è un programma sensibilmente più complesso di bird, e a prima vista non se ne vedono i vantaggi. Un breve elenco di pro e contro:

Pro:

  1. Permette di editare la configurazione live, facendo tutte le prove del caso e rendendo permanenti le modifiche con un comando.

Contro:

  1. È composto di più demoni separati, che complicano un po' le cose e richiedono ognuno il suo file di configurazione
  2. Si configura via telnet (con tutte le relative complicazioni di firewall).

Detto questo la feature di effettuare cambiamenti live mi piaceva molto e mi sono fatto tentare. Vediamo quindi come fare ad installarlo. Come nella guida collegarsi a gnet chiameremo l'interfaccia locale gnet.

Installare quagga

Bene, questa è la parte facile, alla maggior parte di noi basterà

apt-get install quagga

oppure

port install quagga

Per chi volesse compilare da sorgenti o non avesse i pacchetti, non è molto complicato, bastano i soliti

wget -O - http://www.quagga.net/download/quagga-0.99.16.tar.gz | tar xv
cd quagga-0.99-16/
./configure
make -j3 # Sfruttiamo questi multi-core.. :)
sudo make install

Da questo punto in poi le istruzioni saranno debian-specifiche perchè è solo lì che ho provato Quagga, ma non penso cambi molto.

Primo avvio

Per prima cosa dobbiamo creare i file di configurazione dei demoni che ci interessano, altrimenti non si avvieranno.

Quagga è fatto in maniera modulare e le componenti che a noi interessano sono:

  • zebra: Questa componente si occupa di fare da layer di astrazione fra il kernel e gli altri demoni.
  • ospfd: Questa componente dal nome esplicativo gestisce ospf.

Scartiamo dunque ripd e bgpd che al momento non ci interessano.

Creiamo due file di configurazione identici per i due demoni in /etc/quagga/zebra.conf e /etc/quagga/ospfd.conf con il seguente contenuto:

# /etc/quagga/zebra.conf 
hostnmame debby
password tanzania
enable password botswana

Ovviamente hostname è il vostro hostname (sì, io ho installato quagga sul debby!) e password e enable password sono le password per collegarsi al demone e per poter smanettare con la sua configurazione (rispettivamente).

Fatto questo avviamo quagga:

/etc/init.d/quagga start

Dovrebbero partire unicamente i demoni zebra e ospfd.

Configurazione del demone

Assumiamo che la configurazione di zebra sia superflua (non so se è vero ma io l'ho fatto e per ora funziona) e colleghiamoci direttamente a ospfd:

telnet localhost 2604

Ci chiederà la password (inseriremo tanzania) e poi saremo collegati. Proviamo a dare il comando

debby> show ip ospf

che ci mostrerà delle informazioni sul processo di ospf in corso. Dovrebbe restituire

 OSPF Routing Process not enabled

che sembra essere un problema. Diamo quindi i seguenti comandi (inserendo la password zimbabwe dopo enable)

debby> enable 
debby# configure terminal
debby(config)# _

A questo punto saremo nel terminale di configurazione e configuriamo quindi il router. Supponiamo di avere da configurare l'interfaccia gnet che si affaccia sulla rete 6.20.10.0/24 e impostiamone il costo a 65 (che è proprio il mio caso!).

debby(config)# router ospf
debby(router-config)# router-id 6.20.10.4
debby(router-config) network 6.20.10.0/24 area 0.0.0.0
debby(router-config) exit
debby(config) interface gnet
debby(config-if) ip ospf cost 65

Il comando router-id imposta l'id del router. In realtà non è proprio necessario, ma quagga aveva la tendenza (su debby, perlomeno) a scegliere come IP uno della mia rete privata, e se ci dovessero essere due router con lo stesso id potrebbe essere un serio problema. 6.20.10.4 sembrava un buon compromesso. Il tutto è abbastanza ovvio, letto da qui. Per vedere il file di configurazione che corrisponde alla nostra serie di comandi diamo

debby# show running-config

Se ci sembra soddisfacente diamo il comando

debby# write file

per salvarlo definitivamente.

Se tutto è andato bene dovremmo riuscire a vedere i nostri vicini con il comando

debby> show ip ospf neighbor

Se qualcosa è andato male, non so che dirvi, io ci ho provato :)

quagga.txt · Ultima modifica: 2014/02/25 15:45 (modifica esterna)