Login remoto ai demoni Quagga

Dovrete configurare i demoni in modo che ascoltino su tutte le interfacce e quindi impostare il controllo d’accesso nei rispettivi file di configurazione.Sotto Debian editate /etc/quagga/debian.conf per abilitare l’ascolto su tette le interfacce:

vtysh_enable=yes
zebra_options=" --daemon"
ripd_options=" --daemon"

Sotto Fedora,fate la stessa cosa nel file /etc/sysconfig/quagga

Aggiungete quindi le righe che seguono nei file di configurazione dei demoni(ripd.conf,zebra.conf,Quagga.conf),come in questo esempio relativo a zebra.conf

 

access-list localhost permit 127.0.0.1/32
access-list localhost deny any
access-list lan1 permit 192.168.1.0/24
access-list lan1 deny any
access-list lan2 permit 192.168.2.0/24
access-list lan2 deny any
!
line vty
access-class localhost
access-class lan1
access-class lan2

 

Cio abilita le l ogin solo da localhost e da due sottoreti locali.Ciascun Login ha la propria classe in modo da poterlo disabilitare commentando l’opportuna riga access-class.

 

Ora dovete riavviare Quagga.Sotto Debian usate questo comando:

# /etc/init.d/quagga restart

Sotto Fedora dovete riavviare ciascun demone separatamente:

# /etc/init.d/zebra restart
# /etc/init.d/ripd restart

Ora dovreste essere in grado di effettuare delle connessioni in telnet dalla LAN specificando un IP e una porta:

test@testpc:~$ telnet router 2601

Piccolissima nota vi chiederà una password,quella di default è disponibile all’interno del file Quagga.conf.I nomi in access-list, nel nostro esempio localhost,lan1 e lan2 sono arbitrari.L’esempio che è stato presentato è abbastanza complesso e controlla gli accessi a livello di sottorete.Potete semplificarlo inserendo tutto in un unica access-list:

 

access-list allowed permit 127.0.0.1/32
access-list allowed permit 192.168.1.0/24
access-list allowed permit 192.168.2.0/24
access-list allowed deny any
!
line vty
access-class allowed

 

 


Usare la riga di comando di Quagga

Preferite utilizzare la shell (a me tantissimo 😀 perchè ricorda tantissimo l’IOS di cisco) per eseguire i comandi,senza dover modificare direttamente i file di configurazione.Come farlo nel caso dei demoni quagga?Quagga dispone della propria shell,la Virtual TeleYpe vtysh,usandola potete interagire direttamente con tutti i demoni Quagga della macchina,potete anche comunicare direttamente con i demono tramite telent.

Per prima cosa,modificare o creare il file /etc/quagga/vtysh.conf che segue:

!/etc/quagga/vtysh.conf
hostname router1
username root nopassword

Sotto Debian,se non lo avete già fatto,aggiungete questa riga a /etc/environment

 

VTYSH_PAGER=more

 

Aprire un nuovo terminale e collegatevi come root:

root@xena:~# vtysh
Hello, this is Quagga (version 0.99.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
router1#

vtysh ha due modalità:normale e estesa.In modalità normale potete visualizzare lo stato del sistema;in modalità estesa potete modificare i file di configurazione ed eseguire comandi.vtysh si apre in modalità normale.Questi due comandi visualizzano i comandi disponibili in modalità normale:

router1# ?
router1# list

Questo comando visualizza la configurazione corrente:

router1# write terminal

Pereseguire qualsiasi comando di routing, o per modificare una configurazione,dovete passare in modalità estesa tramite il comando configure:

router1# configure terminal
router1(config)#

Questi due comandi visualizzano i comandi disponibili in questa modalità:

router1(config)# ?
router1(config)# list

exit chiude tutte le sessioni aperte.vtysh funziona anche quando non ci sono demoni Quagga in esecuzione.

La seconda opzione consiste nell’utilizzare telnet ma può comunicare solo con un demone alla volta,come in questo esempio per ripd:

carla@xena:~$ telnet localhost 2602
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
router1>

Fate molta attenzione,perchè qualsiasi utente che conosca la password del demone può controllarlo via telnet.Come nel caso di vtysh,le sessioni vengono aperte in modalità normale e dovete passare in modalità estesa tramite il comando enable prima di poter modificare le configurazioni tramite configure terminal:

router1> enable
router1# configure terminal
router1(config)#

exit,end o quit escono;? e list visualizzano i comandi disponibili.

La riga username root nopassword in /etc/quagga/vtysh.conf è necessaria affinchè vtysh possa partire.L’utente indicato non avrà bisogno della password per aprire una sessione vtysh.Assicuratevi che questo file sia leggibile e scrivibile solo dall’utente indicato al suo interno e ricordate che non c’è modo di impostare una password.Se tutto quello che ottenete è una schermata vuota con (END) in basso a sinistra,aggiungete VTYSH_PAGER=more alle vostre variabili di ambiente in .profile,oppure a quelle globali in /etc/environment

hostname può essere un nome arbitrario, in modo da poter identificare con facilità ciascun demone.

Usare il routing dinamico tramite RIP sotto Fedora

La topologia della rete non è complicata,ma non volete impostare a mano route statiche.I vostri router usano Fedora.Il protocollo RIP viene configurato esattamente allo stesso modo sia sotto Debian che sotto Fedora.L’unica differenza è che i demoni vengono avviati in modo diverso,Fedora ha un file di controllo per ciascun demone.Configurate zebra.conf,ripd.conf e vtysh.conf come nell’articolo che parla di RIP in Debian e proteggete il file allo stesso modo.

Se abilitate i file di avvio di zebra e ripd:

 

# chkconfig --add zebra
# chkconfig --add ripd

 

potrete controllare i demoni con i comandi standard di Fedora:

 

# /etc/init.d/zebra {start|stop|restart|reload|condrestart|status}

 

Quando vedete una riga come la seguente in un file di avvio di Fedora:

 

# chkconfig: - 16 84

 

significa che potete eseguire il comando chkconfig senza dover specificare a mano i livelli di run e le priorità.

Rendere persistenti le route statiche

Volete rendere permanenti le route statiche che avete impostato sui router in modo da non doverle riconfigurare ogni volta che spegnete i router.Quali sono i file di configurazione da modificare?Sotto Debian,aggiungerete le route statiche in /etc/network/interfaces nei fiel relativi alle opportune interfacce:

 

auto eth1
iface eth1 inet static
address 192.168.10.100
netmask 255.255.255.0
gateway 22.33.44.55
broadcast 192.168.10.255
up route add -net 172.16.5.0/24 gw 192.168.10.100 eth1
up route add -net 172.24.0.0/24 gw 192.168.10.100 eth1
down route del -net 172.24.0.0/24
down route del -net 172.16.5.0/24

 

 

Sotto Fedora, create un file /etc/sysconfig/network-script/route-* come il seguente:

 

 

##/etc/sysconfig/network-scripts/route-eth1
192.168.10.0/24 via 172.24.0.25
172.16.5.0/24 via 172.24.0.25

 

 

In questi file abbiamo usato la sintassi del comando ip .Importante utilizzare i nomi di file e di interfacce corretti,altrimenti le route statiche non fuzioneranno.I nomi delle interfacce sono quelli che trovate nei loro rispettivi file di configurazione,per esempio /etc/sysconfig/network-script/ifcfg-eth1.

Sotto Fedora,non toccate /etc/network/static-routes;l’uso di questo file è stato deprecato da tempo e nelle versioni attuali di Fedora non funziona più.I router avranno bisogno anche di un gateway di default per eventuali uscite verso altre reti,per esempio,verso internet.

 

Riferimenti:

  • man 5 interfaces (Debian)
  • man 8 ifup (Debian)
  • man 8 ip

Configurare il routing statico per le sottoreti

 

Avete varie sottoreti non tutte connesse allo stesso router.Come metterle in comunicazione tra loro?Ci sono due modi per farlo:uno semplice e uno difficile.Quello difficile consiste nell’impostare delle route statiche da router a router.Supponiamo di avere le tre sottoreti e i tre router schematizzati così:

Ciascun router avrà bisogno di due route statiche.I router del nostro esempio dovrannop essere configurati comne segue.

 

Router C


# route add -net 192.168.10.0/24 gw 172.24.0.25 eth1
# route add -net 172.16.5.0/24 gw 172.24.0.25 eth1


Router B


# route add -net 192.168.10.0/24 gw 172.16.5.125 eth1
# route add -net 172.24.0.0/24 gw 172.16.5.125 eth1


Router A


# route add -net 172.16.5.0/24 gw 192.168.10.100 eth1
# route add -net 172.24.0.0/24 gw 192.168.10.100 eth1


Ora gli host su ciascuna sottorete potranno comunicare tra loro.Per cancellare delle route statiche,usate comandi simili a questi:

 

# route del -net 192.168.10.0/24

 

Questo metodo è un pò complicato perchè dovete calcolare le maschere di rete e stare molto attenti a non sbagliare a digitare gli indirizzi.Il metodo più semplice consiste nel collegare tutti e tre i router sulla stessa sottorete come schematizzato nella successiva figura.In questo caso non dovreste impostare nessuna route statica.

 

Per impostare o rimuovere le route statiche potete anche usare il comando ip:


# ip route add 172.16.5.0/24 via 192.168.10.100
# ip route del 172.16.5.0/24


Quando sarete stufi di impostare a mano le route statiche,usate il routing dinamico che verrà trattato negli articoli successivi.

1 2 3 4