parte 3 - linux ed i sistemi embedded per le reti (di riccardo coppola)

62
802.1Q e VLAN Routing dinamico con Linux e QUAGGA Gestione di sistema Fine Linux ed i sistemi embedded per le reti Anatomia di un router wireless - Parte 3 - Riccardo Coppola [email protected] 19 Giugno 2008 Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Upload: andrea-tassi

Post on 25-May-2015

1.216 views

Category:

Technology


4 download

DESCRIPTION

Incontro del TEC-lab tenuto il 19 giugno 2008 presso il Plesso Didattico di Viale Morgagni (Università degli Studi di Firenze)

TRANSCRIPT

Page 1: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Linux ed i sistemi embedded per le retiAnatomia di un router wireless

- Parte 3 -

Riccardo [email protected]

19 Giugno 2008

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 2: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Questo documento e’ rilasciato con licenzaCreative Commons Attribution-NonCommercial-ShareAlike

ed e’ possibile: riprodurre, distribuire, comunicare, esporre, rappresentare, eseguire,recitare o modificare quest’opera.

Chi usufruisce del presente materiale e’ tenuto a: attribuirne la paternita’ (citandonome, cognome ed indirizzo e-mail degli autori), non usarlo per fini commerciali o

redistribuirlo, se modificato, solo con una licenza identica a questa.Maggiori informazioni sul tipo di licenza impiegata possono essere reperite all’indirizzo

http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode.I marchi citati sono di proprieta’ delle rispettive aziende.

Gli autori declinano ogni responsabilita’ per gli eventuali danni arrecati a sistemi dallamessa in atto delle procedure qui contenute.

Si ricorda in oltre che tutte le operazioni volte alla modifica hardware e/o software didispositivi prodotti da terzi pu costituire una violazione del copyright ed invalidare la

garanzia del prodotto.

Queste slide sono state realizzate in LATEX.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 3: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Outline1 802.1Q e VLAN

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

2 Routing dinamico con Linux e QUAGGARichiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

3 Gestione di sistemaI RunlevelFile RC customizzati

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 4: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

802.1Q e VLAN

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 5: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

IEEE 802.1Q

Lo standard

IEEE 802.1Q e uno standard che permette a piu reti virtuali(VLAN) di condividere in maniera trasparente lo stessocollegamento fisico senza perdita di informazioni tra un apparato eun altro. 802.1Q e il nome del protocollo di incapsulamentoutilizzato nel processo di trunking nelle reti Ethernet.Il documento ufficiale dello standard puo essere scaricatogratuitamente all’indirizzo:http://standards.ieee.org/getieee802/download/802.1Q-2003.pdf

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 6: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

Implementazione (1/3)

Il protocollo 802.1Q si colloca quindi a livello 2.

Come viene implementato?

802.1Q non incapsula il frame Ethernet, ma setta il campoEtherType nello stesso header Ethernet a 0x8100 (Il campoEtherType indica quale protocollo e attualmente trasportato dalframe).

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 7: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

Implementazione (2/3)

802.1Q aggiunge anche 2 bytes per il Tag Control Information(TCI), seguiti da altri 2 bytes che includono l’EtherType originale

del frame. I 4 bytes aggiunti, vengono comunemente chiamatiVLAN Tag. Importante e il TCI, che riporta dati riguardanti

direttamente la VLAN.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 8: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

Implementazione (3/3)

User priority: 3-bit. definisce la priorita del frame. Definito nellostandard IEEE 802.1p.Canonical format indicator (CFI): 1-bit. Settato a 0 per gliswitch Ethernet, viene usato per garantire compatibilta traEthernet e Token RingVLAN ID (VID): 12-bit. Numero della VLAN, il massimo e 4094.Se il valore e settato a 0, allora non vi e nessuna VLAN, in questocaso il tag 802.1Q si riferisce alla sola priorita, si chiama dunqueTag di priorita.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 9: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

VLAN Native (1/2)

Abbiamo visto che per associare un frame ad una VLAN enecessario aggiungere 4 bytes all’header Ethernet.

Nelle VLAN native questo non e necessario. Switch progettati peressere VLAN-ready, possiedono le cosiddette Tagged Port.Queste non sono che comuni porte di uno switch, con la sola

differenza di essere associate in maniera statica ad una VLAN.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 10: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

VLAN Native (2/2)

Supponiamo che la porta 2 di uno switch sia associata nativamentealla VLAN 1, in questo caso quando si invia un frame sul cavo

connesso alla porta 2, al frame non sara aggiunto nessun header802.1Q, perche tutti i frame in uscita da tale porta saranno taggatiautomaticamente ed associati alla VLAN 1. Per i frame in ingresso

alla porta 2, anch’essi verranno associati alla stessa VLAN.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 11: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

VLAN Trunking

Un cavo fisico, una sola porta di un normale switch, possonotrasportare anche piu di una VLAN.

Quando su un singolo cavo transitano frames appartenenti aVLAN diverse, si parla di VLAN Trunking.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 12: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

A cosa servono le VLAN? (1/3)

Non c’e bisogno di una rete di grandi dimensioni per avere bisognodi Virtual LAN. La loro utilita risiede nel dividere logicamente unasubnet. Tutto cio e reso piu semplice con un esempio:Supponiamo di avere a disposizione la sottorete 192.168.1.0/24.In una azienda anche piccola, potrebbero esserci piu reparti, adesempio il reparto R&D, il reparto vendite e l’ufficio contabilita.Se volessimo usare una subnet per ogni reparto, dovremmosuddividere lo spazio degli indirizzi a disposizione e giocare con lasubnet mask.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 13: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

A cosa servono le VLAN? (2/3)

Con le VLAN, questo non e necessario:Scegliamo di dare ad esempio 80 indirizzi IP per l’R&D e 30 IP aidue rimanenti reparti. Arrivati a questo punto, e necessariosoltanto assegnare alle macchine dei vari reparti la VLAN dicompetenza e pur essendo tutti nella solita sottorete, solo i PCappartenenti alla stessa Virtual LAN potranno dialogare tra di loro.Inoltre, una cosa molto importante riguarda la localita degliapparati: macchine connesse a switch diversi possono far partedella stessa VLAN e comunicare tra di loro.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 14: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

A cosa servono le VLAN? (3/3)

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 15: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

vconfig (1/4)

Il tool di riferimento per l’implementazione delle tecniche di VLANtrunking e di creazione/configurazione di VLAN su Linux e

vconfig.La pagina web del progetto e visitabile al seguente indirizzo:http://www.candelatech.com/~greear/vlan.html

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 16: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

vconfig (2/4)

I passi logici per il setup di una VLAN su un sistema operativoLinux con installato vconfig sono cosı riassumibili:

Passi necessari:

Settare una interfaccia Ethernet (ifconfig)

Creare sulla stessa interfaccia una o piu VLAN (vconfig)

Gestire la VLAN con una semplice interfaccia (ifconfig)

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 17: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

vconfig (3/4)

Supponiamo di voler configurare sull’interfaccia eth0 una VirtualLAN (VLAN 4) con IP 192.168.1.45/24 (tale IP e puramentecasuale).

Esempio:

ifconfig eth0 0.0.0.0 up (eth0 non avra nessun indirizzo IP)vconfig add eth0 4ifconfig eth0.4 192.168.1.45/24 up

Eseguendo tali comandi, si ottiene un risultato simile a quellomostrato nella slide successiva:

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 18: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

rootOpenWrtFon1:# ifconfigath0 Link encap:Ethernet HWaddr 00:18:84:1F:4D:F9UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:53 errors:0 dropped:20 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 B) TX bytes:3375 (3.2 KiB)....eth0 Link encap:Ethernet HWaddr 00:18:84:1F:4D:F8inet addr:192.168.2.10 Bcast:192.168.2.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:931 errors:0 dropped:0 overruns:0 frame:0TX packets:647 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:75060 (73.3 KiB) TX bytes:84658 (82.6 KiB)Interrupt:4 Base address:0x1000eth0.4 Link encap:Ethernet HWaddr 00:18:84:1F:4D:F8inet addr:192.168.1.45 Bcast:192.168.1.255 Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

... Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 19: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

vconfig (4/4)

I comandi base:

Con il primo comando abbiamo configurato l’interfaccia etherneteth0 senza indirizzo IP (0.0.0.0), tutto cio solo per attivarla.Di seguito abbiamo aggiunto una VLAN sulla stessa eth0.Terminato questo passaggio, la VLAN puo essere gestita come unanormale interfaccia di rete wired, con il comando ifconfig.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 20: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

Prova pratica

Con l’esempio seguente creeremo due VLAN, individuaterispettivamente dai numeri 5 e 6 sulla stessa interfaccia fisicaeth0, coprendo i passi necessari alla configurazione.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 21: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Standard 802.1QNative VLANTrunkingUtilitaVLAN su Linux

Nota

Attenzione:

E’ da notare come le VLAN non debbano essere intese comestrumento di sicurezza per inibire l’accesso a determinate porzionidella rete, ma come divisione dei domini broadcast interni. Certo lasuddivisione in VLAN puo rendere piu difficile l’accesso ad unutente sprovveduto, ma non certo ad una persona con unaesperienza anche minimale.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 22: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Routing dinamico conLinux e QUAGGA

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 23: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Il perche del routing (1/3)

Nell’indirizzamento all’interno di una rete LAN, ogni richiesta diuna macchina della rete viene prima interpretata confrontandol’indirizzo della stessa con quello della destinazione (al netto dellesubnet mask).Se i due indirizzi risultano appartenere alla stessa sottorete, si inviauna richiesta ARP in broadcast per richiedere l’indirizzo MAC deldestinatario. Una volta ottenuto, si inviano i dati usando taleindirizzo.192.168.1.208/24192.168.1.186/24192.168.1.208

192.168.1.186

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 24: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Il perche del routing (2/3)

Nell’esempio appena presentato, i due indirizzi appartengono allastessa rete locale. Nel caso in cui pero questo non accada, larichiesta sara inviata al default gateway. Il default gateway e lamacchina che si prende carico di instradare le richieste verso hostche non appartengono alla rete locale. Si rendono necessari deimetodi per raggiungere macchine che non sono locali, ovverodobbiamo creare delle rotte (percorsi) verso tali hosts.La scelta piu semplice risiede nel routing statico, metodoattraverso il quale si definisce una tabella Destinazione - NextHop.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 25: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Il perche del routing (3/3)

Ogni entry della tabella di routing riporta un indirizzo didestinazione (host o network) e l’idirizzo del prossimo nodo dacontattare per raggiungerla (porta fisica sulla quale instradare idati).

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 26: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Routing statico su Linux

I comandi di Linux

Sul sistema operativo Linux, il routing statico e gestito tramite ilcomando route.Supponendo di essere sulla macchina 192.168.1.12 e di volerraggiungere la sottorete 192.168.2.0/24, affacciata sullamacchina 192.168.1.64, il comando da eseguire sara:route add -net 192.168.2.0/24 gw 192.168.1.64

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 27: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Limiti del routing statico

Le maggiori limitazioni di questo metodo possono essere riassuntenei seguenti punti:

Limitazioni:

Impossibilita (pratica) di utilizzo in caso di un numero ingentedi reti di destinazione

Grave mancanza di dinamismo: si usano sempre i solitipercorsi e nel caso di cambio geografico di una o piu network,le modifiche alla tabella di routing devono essere apportate amano (impossibile se la rete e molto dinamica)

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 28: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

La soluzione al routing statico

Routing dinamico

Naturale evoluzione del routing statico e il routing dinamico.Tale tipologia di routing permette di creare in maniera dinamica ipercorsi verso le reti esterne alla rete locale e di modificare,appunto, dinamicamente, le tabelle di instradamento.La topologia delle diverse reti puo dunque cambiare ed il routingcambiera di conseguenza.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 29: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Tipi di routing dinamico

Come panoramica generale, gli algoritmi di routing dinamico (oadattivo) differiscono fra loro per:

1 Come ricevono le informazioni

LocalmenteDai router adiacentiDa tutti i router

2 Quanto spesso rivedono le decisioni

A intervalli di tempo prefissatiQuando il carico cambiaQuando la topologia cambia

3 Quale metrica di valutazione adottano

DistanzaNumero di hopTempo di transito stimato

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 30: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Routing dinamico su Linux

Per il sistema opertivo Linux e per i sistemi Unix Like (FreeBSD,OpenBSD, NetBSD e Solaris) esistono diverse soluzioni chepermettono di trasformare la macchina in un router che implementiuno o piu protocolli di routing dinamico (il routing statico esupportato direttamente dal Kernel, ricordare il comando route).

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 31: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Cos’e QUAGGA (1/3)

La suite scelta per l’esempio e QUAGGA, pacchetto software cheoffre servizi di routing basati su TCP/IP. I protocolli supportatisono i seguenti:

RIPv1

RIPv2

RIPng

OSPFv2

OSPFv3

BGP-4

BGP-4+

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 32: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Cos’e QUAGGA (2/3)

Direttamente dal manuale della suite:

Definizione della suite

A system with Quagga installed acts as a dedicated router. WithQuagga, your machine exchanges routing information with otherrouters using routing protocols. Quagga uses this information toupdate the kernel routing table so that the right data goes to theright place. You can dynamically change the configuration and youmay view routing table information from the Quagga terminalinterface.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 33: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Cos’e QUAGGA (3/3)

QUAGGA e dunque una suite di protocolli che sovrintende sia allagestione dei protocolli di instradamento stessi, siaall’aggiornamento della tabella di routing del Kernel Linux.Per comprendere la struttura della suite, e interessante il graficoriportato nel manuale:

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 34: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Zebra (1/2)

Definizione di Zebra

Zebra is an IP routing manager. It provides kernel routing tableupdates, interface lookups, and redistribution of routes betweendifferent routing protocols.

Come si puo notare dal grafico, Zebra e il manager di routing. Sioccupa di gestire la tabella del kernel, di recuperare le informazionidai diversi protocolli di routing e gestire quindi l’instradamento. E’un demone, cioe un software che gira in background, stando inascolto ed eseguendo i compiti ad esso assegnati.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 35: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Zebra (2/2)

Zebra dunque si occupa di applicare le modifiche che altri software,sulla base dei loro algoritmi, decidono. Tali software sono ancoracontenuti nella suite QUAGGA e sono tutti i demoni dei protocollidi routing implementati.Questi rilevano le modifiche alla rete, si scambiano pacchetti diinformazioni, li elaborano ed alla fine estraggono delle informazioniche passano a Zebra, il quale le comunica al Kernel Linuxmettendo il sistema operativo nella posizione di poter usare questeinformazioni per il routing.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 36: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

QUAGGA su Linux

QUAGGA raccoglie dunque un demone di routing e piu demonirelativi ai protocolli implementati. Operativamente, i nomi deidemoni sono i seguenti:

ripd - Implementazione del Routing Information Protocol del1970

ripngd - RFC2080, reincarnazione del RIP per IPv6

ospfd - (OSPFv2) Implementazione di Open Shortest PathFirst

ospf6d - (OSPFv3) RFC2740, Implementazione di OSPF perIPv6

bgpd - Implementazione del Border Gateway Protocol v4

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 37: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

La scelta del demone

ospfd

Per le nostre prove utilizzeremo il protocollo OSPFv2, quindi ildemone della suite chiamato ospfd. Nelle slides successive nevedremo la teoria, l’installazione, la configurazione e l’utilizzo.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 38: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Breve panoramica di OSPF (1/2)

OSPF e un protocollo di routing usato su Internet. E’ usato pergestire l’interno degli AS (Autonomus System). Per fare una brevepanoramica del funzionamento, OSPF opera riassumendo le retireali ed i router in un grafo orientato in cui ad ogni arco eassociato un peso.Una volta creato il grafo, OSPF sceglie il percorso migliore per ladestinazione. Un AS puo essere anche di grandi dimensioni, cosıOSPF definisce le aree, dove ogni area e una rete o un insiemedi reti contigue. Cosı facendo aumenta l’astrazione e lasemplicita del routing. Esiste una dorsale, AREA 0 e tutte le areesono connesse alla dorsale.I router possono rivestire funzioni diverse, essendo questi interniall’area, di confine o di dorsale.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 39: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Breve panoramica di OSPF (2/2)

I cammini tra aree sono definiti sempre nello stesso modo:

1 Dall’area sorgente alla dorsale

2 Attraverso la dorsale fino all’area di destinazione

3 Interno all’area di destinazione

I router si scambiano messaggi HELLO tra entita adiacenti, LINKSTATE UPDATE durante le normali operazioni per comunicare lostato del dispositivo.I DATABASE DESCRIPTION contengono le voci relative allostato dei collegamenti, comprensive di numeri di sequenza perpoter capire chi ha i valori piu recenti. I messaggi LINK STATEREQUEST infine, servono a richiedere informazioni sullo stato deicollegamenti ai router adiacenti.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 40: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Installazione su OpenWRT

Installare QUAGGA ed OSPF su OpenWRT e molto semplice, icomandi da eseguire sono i seguenti:

OpenWRT ed Ipkg

ipkg install quaggaipkg install quagga-ospfdipkg install quagga-vtysh (per avere a disposizione anche la VTY Shell)

Le eventuali dipendenze vengono automaticamente soddisfatte.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 41: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

ospfd.conf (1/6)

Il file di configurazione: /etc/quagga/ospfd.conf

La configurazione di ospfd risulta essere molto semplice. Comenella tradizione dei sistemi operativi Linux, tutti i parametri sitrovano nel file /etc/quagga/ospfd.conf (che deve essere creatoa mano). Di seguito si riporta una minimale ma completamentefunzionante configurazione, spiegandone nel dettaglio il contenuto:

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 42: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

ospfd.conf (2/6)

! OSPFD sample configuration file!hostname nodo apassword zebraenable password zebra!!router ospfospf router-id 10.0.0.10network 192.168.1.0/24 area 1network 192.168.2.0/24 area 2network 10.0.1.0/24 area 3!line vty!

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 43: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

ospfd.conf (3/6)

Tutte le linee che iniziano con ! rappresentano dei commenti.hostname nodo apassword zebraenable password zebra

Queste righe servono ad impostare la password ed il nome host perla VTY Shell. La suite QUAGGA dispone di una shell attraverso laquale poter inserire direttamente le configurazioni (invece discriverle a mano nel file *.config), oppure controllare l’operativitadei vari demoni. Ogni demone offre un telnet ad una porta bendefinita, per cui collegandosi a tale porta ci verra chiesta unapassword per l’accesso. Le due righe sopra riportate servonoproprio ad inizializzare e settare tale parola d’accesso. Si noterache tale shell e molto simile a quelle dei sistemi Cisco.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 44: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

ospfd.conf (4/6)

Si riporta per completezza la lista delle porte Telnet e dei demoniin ascolto:zebrasrv 2600/tcp # zebra servicezebra 2601/tcp # zebra vtyripd 2602/tcp # RIPd vtyripngd 2603/tcp # RIPngd vtyospfd 2604/tcp # OSPFd vtybgpd 2605/tcp # BGPd vtyospf6d 2606/tcp # OSPF6d vtyospfapi 2607/tcp # ospfapiisisd 2608/tcp # ISISd vty

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 45: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

ospfd.conf (5/6)

router ospf

Questa direttiva attiva il processo ospf, e necessaria affinche ospfpossa essere attivato.ospf router-id 10.0.0.10

Di fondamentale importanza, setta l’identificativo del routerall’interno della rete ospf. Deve essere unico, dunque e preferibileporlo uguale all’indirizzo IP della macchina. Tuttavia puo essere unintero a 32 bit. Il router-id, se non specificato, puo essere ottenutodirettamente da Zebra in automatico, tuttavia e altamenteconsigliabile specificarlo.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 46: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

ospfd.conf (6/6)

network 192.168.1.0/24 area 1network 192.168.2.0/24 area 2network 10.0.1.0/24 area 3

La parte vera e propria di OSPF. Si specificano tutte e sole leinterfacce di rete configurate che vogliamo prendano parte alrouting, con le rispettive aree di appartenenza. Tutte le retiesterne (che il router presente non deve conoscere) verrannoscoperte dallo scambio di pacchetti con i router della rete.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 47: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

zebra.conf

Per rendere la configurazione completa, e necessario eseguire ilsetup di Zebra, che si riduce alla semplice creazione di un configfile (/etc/quagga/zebra.conf).Il file zebra.conf e molto utile per selezionare le interfacce dausare o quelle da escludere, ma questo e possibile anche dal file diconfigurazione del demone di routing stesso (ospfd). Creeremodunque un file di configurazione di Zebra minimale:!Zebra sample configuration file!hostname nodo apassword zebraenable password zebra

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 48: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

I servizi di QUAGGA

Operativamente, il demone Zebra, demone di routing, deve esserelanciato prima di ogni altro demone della suite. Essendoconfigurate come servizi, possiamo far partire le parti della suitedirettamente da /etc/init.d/.QUAGGA mette a disposizione uno script (/etc/init.d/quagga)che si occupa di far partire nel giusto ordine i demoni, desumendoquale debba essere fatto partire in accordo ai file contenuti nellacartella /etc/quagga/. Il comando da lanciare dopo aver creato ifile di configurazione e dunque:/etc/init.d/quagga [start—stop]

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 49: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Configurazione pratica (1/5)

Partiamo dalla creazione dei file di configurazione fino all’avvio deiservizi:

Creazione del file zebra.confvi /etc/quagga/zebra.conf

Scriviamo il contenuto file e salviamo.

Creazione del file ospfd.confvi /etc/quagga/ospfd.conf

Scriviamo il contenuto file e salviamo.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 50: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Configurazione pratica (2/5)

Adesso che i file sono pronti, possiamo far partire i servizi:/etc/init.d/quagga start

Che restituira un output di questo tipo:root@OpenWrtFon1:/etc/quagga# /etc/init.d/quagga startquagga.init: Starting zebra ... done.quagga.init: Starting ospfd ... done.quagga.init: Starting watchquagga ... done.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 51: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Configurazione pratica (3/5)

Per fermare i servizi, bastera eseguire:/etc/init.d/quagga stop

Che restituira un output di questo tipo:root@OpenWrtFon1:/etc/quagga# /etc/init.d/quagga stopquagga.init: Stopping watchquagga ... killed 745 ... done.quagga.init: Stopping ospfd ... killed 740 ... done.quagga.init: Stopping zebra ... killed 735 ... done.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 52: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Configurazione pratica (4/5)

Durante il funzionamento, per controllare che i demoni stianorealmente girando, bastera eseguire:root@OpenWrtFon1:/etc/quagga# psPID Uid VmSize Stat Command1 root 396 S init2 root SWN [ksoftirqd/0].......549 root 572 S -ash788 quagga 580 S /usr/sbin/zebra -d793 quagga 956 S /usr/sbin/ospfd -d798 root 356 S /usr/sbin/watchquagga -d -z -T 60 ....799 root 404 R ps

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 53: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Richiami sul routing staticoProtocolli di routing dinamicoLa suite QUAGGAOspf: Teoriaospfd: configurazione ed utilizzo

Configurazione pratica (5/5)

Per controllare se OSPF sta aggiungendo le rotte, si puo eseguire ilcomandoroute -n

Che mostra la tabella di routing del Kernel.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 54: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Runlevel e gestione delsistema tramite script RC

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 55: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Runlevel (1/2)

Definizione:

Un runlevel e uno stato di inizializzazione (init) dell’interosistema che definisce quali servizi di sistema sono operativi. Irunlevel sono identificati da numeri.

Non c’e un parere comune per come usare i runlevel definiti alivello utente (dal 2 al 5): alcuni amministratori di sistema liutilizzano per definire quali sottosistemi funzionano, cioe se gira X,se la rete e operativa e cosı via.Altri hanno tutti i sottosistemi che girano sempre: li avviano e lifermano individualmente senza cambiare runlevel.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 56: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Runlevel (2/2)

I Runlevel in numeri

Runlevel 0: /etc/rc0.d Questo runlevel avvia la sequenza di arresto del sistema(shutdown).Runlevel 1: /etc/rc1.d Questo runlevel rappresenta la modalita singolo utente, nessunaltro utente puo collegarsi, il servizio di rete e disabilitato.Runlevel 2: /etc/rc2.d Rappresenta lo stato multiutente, il servizio rete e attivo ma edisabilitato il file sharing.Runlevel 3: /etc/rc3.d In genere e quello predefinito quando si opera in modalitatestuale, tutti i servizi sono attivi.Runlevel 4: /etc/rc4.d Inutilizzato. Puo essere dedicato ad usi personali.Runlevel 5: /etc/rc5.d E’ il runlevel predefinito quando si vuole avviare Linux inmodalita grafica.Runlevel 6: /etc/rc6.d Il runlevel 6 e quello di reboot.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 57: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Gestione di Runlevel e servizi (1/3)

Lo script /etc/rc o /etc/init.d/rc gestisce quali processi farpartire a seconda del runlevel, andando ad analizzare le singoledirectory /etc/rcX.d.In queste directory esistono una serie di symlink con nomi del tipoS12syslog o K65identd che puntano a degli script con nomi tipo/etc/init.d/syslog o /etc/init.d/identd./etc/init.d/rc a seconda della directory corrispondente al runlevelda caricare fa partire tutti gli script che iniziano con S e fachiudere tutti quelli che iniziano con K, eseguendoli nell’ordineindicato dal numero presente nei nomi dei file.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 58: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Gestione di Runlevel e servizi (2/3)

Gli script che di fatto permettono di gestire l’avvio o lo stop di unservizio sono quindi nella directory /etc/init.d/ e possono essereutilizzati direttamente dall’utente per gestire i singoli processi.

Esempio di avvio e stop di un servizio:

/etc/init.d/httpd start

fa partire il server Web Apache e/etc/init.d/httpd stop

lo fa fermare.Se abbiamo il file /etc/rc3.d/S85httpd (link a etc/init/httpd ),quindi, avremo il server web Apache avviato quando la macchina eal runlevel3 (runlevel di default per un server, che non ha bisognodi Xwindows).

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 59: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Gestione di Runlevel e servizi (3/3)

Evitare l’avvio di un servizio

Se vogliamo evitare che venga avviato il server web, basterarinominare il file, sostituendo la K alla S:mv /etc/rc3.d/S85httpd /etc/rc3.d/K85httpd

Nel fare queste operazioni va sempre considerato il numero dopo laprima lettera, che determina l’ordine di esecuzione degli script.Questa e una logica comune a tutti gli Unix derivati da SystemV, possono cambiare i nomi dei runlevel, e in certi casi la funzione,ma non la logica di questa struttura di boot.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 60: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Dove sono:

I file RC sono file che possono essere eseguiti all’avvio del sistema,permettendo cosı di eseguire comandi utente automaticamentequando il sistema si avvia. Sono legati al runlevel, ad esempio :ricca509@hardy:˜$ ls /etc/ — grep rcrc0.d rc1.d rc2.d rc3.drc4.d rc5.d rc6.d rcS.d

rc.local

Le cartelle rcX.d contengono i file che verranno eseguiti durante ilrunlevel X. I file nella cartella rc3.d saranno eseguiti durante ilrunlevel 3.

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 61: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

I RunlevelFile RC customizzati

Utilizzo su OpenWRT

OpenWRT, in particolare, ci mette a disposizione un file generico:/etc/rc.d/S90custom-user-startup.In questo file possiamo scrivere i nostri comandi come faremmonella shell ed aspettarci che questi vengano eseguiti all’avvio.Potremmo ad esempio inserire tutti i comandi relativi alle VLANed il sistema creerebbe automaticamente le interfaccie all’avvio.Tuttavia, come abbiamo gia visto, esiste un modo piu elegante percreare, ad esempio, le VLAN. Potremmo creare un file apposito checontiene i comandi e creare un link simbolico nella cartella/etc/rc.d/ (OpenWRT mette a disposizione solo questa).

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti

Page 62: Parte 3 - Linux ed i sistemi embedded per le reti (di Riccardo Coppola)

802.1Q e VLANRouting dinamico con Linux e QUAGGA

Gestione di sistemaFine

Fine dell’incontroGrazie per l’attenzione.

Riccardo Coppola

Riccardo Coppola [email protected] Linux ed i sistemi embedded per le reti