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.

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.

Configurare un semplice router locale

 

Avete un unica connessione a Internet condivisa e la vostra LAN è suddivisa in varie sottoreti.Volete che le varie sottoreti possono cominciare tra loro .Come fare?Tutto quello di cui avete bisogno è un singolo router a cui connettere tutte le sottoreti.Supponete di avere le seguenti tre sottoreti:Supponete di avere le seguenti tre sottoreti:

  • 10.25.0.0/16
  • 172.32.0.0/16
  • 192.168.254.0/24

Il router avrà bisogno di tre interfacce di rete con i seguenti indirizzi

  • eth0 = 10.25.0.10
  • eth1 = 172.32.12.100
  • eth2 = 192.168.254.31

Ciascuna sottorete ha il proprio switch e gli switch sono connessi al router, come mostrato nella seguente figura.

Ora dovete abilitare il forwarding IP sul router.Potete farlo dalla riga di comando:

# echo 1 > /proc/sys/net/ipv4/ip_forward


Questa configurazione è temporanea e quindi dovrete inserirla in /etc/sysctl.conf per non doverla reimpostare ad ogni reboot:

##/etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p


Assegnare ora i tre indirizzi delle interfacce del router come gateway di default per le macchine delle tre sottoreti.Tutti gli host su 1025.0.0./16,per esempio,dovranno utilizzare 10.25.0.10 come gateway di default.Dopo aver effettuato queste configurazioni,le tre potranno scambiarsi traffico TCP/IP senza problemi.

Non dovete necessariamente utilizzare indirizzi tratti da reti private distinte come quelli nel nostro esempio.Noi lo abbiamo fatto solo per rendere evidente che si tratti di reti distinte.Potete utilizzare qualsiasi schema di indirizzamento,come in questi esempi:

  • 10.25.0.0/16
  • 10.26.0.0/16
  • 10.27.0.0/16

oppure

  • 172.16.1.0/24
  • 172.16.2.0/24
  • 172.16.3.0/24

L’unica cosa da evitare è il conflitto tra indirizzi:l’unico modo per evitare il pericolo è usare ipcalc.Quando abilitate L’IP forwarding sul router,abilitate lo smistamento automatico dei pacchetti tra le varie interfacce.Questa impostazione vale per due tipi di rete:

  • reti che utilizzano indirizzi privati:
  • reti che utilizzano indirizzi pubblici routabili.

Non funziona se dovete far condividere una connessione Internet a una rete che utlizza indirizzi privati poiche gli indirizzi privati non sono riconosciuti dai router pubblici di Internet.In questo caso,avrete bisogno di un NAT (Network Address Translator).Supponete di aver un router dotato di tre interfacce di rete connesso a due sottoreti locali che utilizzano indirizzi privati e una WAN dotata di indirizzo IP pubblico.Le due sottoreti locali private si vedranno senza problemi,ma non potranno andare sulla WAN fino a quando non configurerete il NAT.

A rigor di termine,gli indirizzi IP privati sono routabili,altrimenti le vostre sottoreti locali non potrebbero funzionar,ma gran parte degli ISP li filtrano e non li inviano verso Internet visto che,se lo facessero,Internet sarebbe inondata di pacchetti con indirizzi privati duplicati.

1 2 3 4