Sei sulla pagina 1di 293

Imola User Guide

ver. 28.0.7
Ultimo aggiornamento: 26 giugno 2014
INTRODUZIONE Imola User Guide

Pubblicazione a cura di:

Tiesse S.p.A.

Via Asti, 4

10015 IVREA (TO)

Italy

Copyright 2003-2014, by Tiesse S.p.A.

Tutti i diritti riservati.

Diritti di propriet intellettuale

Marchi registrati, marchi, diritti d'autore e ogni altra sigla contenuta in questo documento sono
propriet dei loro rispettivi possessori.

Tiesse S.p.A. rispetta la propriet intellettuale di altri, e chiede pertanto ai propri Clienti e Utenti un
comportamento analogo.

2
INTRODUZIONE Imola User Guide

Avvertenze per la sicurezza dellutente


Utilizzare il cavo di alimentazione fornito in dotazione. Inserire la spina del cavo di alimentazione
direttamente in una presa correttamente collegata a terra.

Non collocare il sistema in un punto in cui il cavo di alimentazione possa essere calpestato.

Non appoggiare oggetti sul cavo di alimentazione.

Se occorre scollegare l'alimentazione per eseguire interventi di manutenzione, ricordarsi di


scollegare il cavo dalla parte della presa di corrente.

Le antenne GSM e/o WI-FI, laddove il modello di router


ne preveda l'utilizzo, devono essere posizionate ad
almeno 20 cm dalle persone.

Nel caso di modello provvisto di boccola posteriore per


la messa a terra (vedi es. in figura): collegare lapparato
alla presa di terra dellimpianto tramite capocorda e
cavo giallo-verde.

INSERIMENTO / ESTRAZIONE SIM (solo per i modelli che lo prevedono):

ATTENZIONE: prima di rimuovere il coperchio

spegnere lapparato
staccare i cavi di telecomunicazione (xDSL, ISDN)
staccare il cavo di alimentazione dalla presa di corrente
staccare le antenne GSM e/o WI-FI se presenti

Dopo aver operato allinterno del router,

richiudere lapparato e fissare il coperchio con l'apposita vite


collegare il cavo di alimentazione alla presa di corrente
collegare i cavi di telecomunicazione (xDSL, ISDN)
collegare le antenne GSM e/o WI-FI se presenti
accendere lapparato

IN CASO DI GUASTO DELLAPPARATO:

non intervenire in alcun modo sullapparato


contattare il distributore
spedire lapparato al centro di riparazione abilitato, seguendo le procedute concordate.

3
INTRODUZIONE Imola User Guide

Conformit ROHS RAEE

INFORMAZIONE AGLI UTENTI

Ai sensi dellart.13 del Decreto Legislativo 25 luglio 2005, n.151: Attuazione delle Direttive
2002/95/CE, 2002/96/CE e 2003/108/CE, relative alla riduzione delluso di sostanze pericolose
nelle apparecchiature elettriche ed elettroniche, nonch allo smaltimento dei rifiuti.

Tiesse S.p.A. garantisce che le apparecchiature da essa prodotte soddisfano le direttive RoHS
(Restriction of Hazardous Substances), che limitano luso di materiali pericolosi nella produzione di
dispositivi elettrici ed elettronici.

Il simbolo del cassonetto barrato riportato sullapparecchiatura o sulla sua confezione indica che il
prodotto alla fine della propria vita utile deve essere raccolto separatamente dagli altri rifiuti.

La raccolta differenziata della presente apparecchiatura giunta a fine vita organizzata e gestita da
Tiesse SpA. Lutente che vorr disfarsi della presente apparecchiatura dovr quindi contattare
Tiesse SpA e seguire il sistema che essa ha adottato per consentire la raccolta separata
dellapparecchiatura giunta a fine vita.

Ladeguata raccolta differenziata per lavvio successivo dellapparecchiatura dismessa al riciclaggio,


al trattamento e allo smaltimento ambientalmente sostenibile contribuisce ad evitare possibili
effetti negativi sullambiente e sulla salute favorendo il reimpiego e/o riciclo dei materiali di cui
composta lapparecchiatura.

Lo smaltimento abusivo del prodotto da parte del detentore comporta lapplicazione delle sanzioni
amministrative previste dalla normativa vigente.

4
INTRODUZIONE Imola User Guide

TIESSE - IMOLA USER GUIDE


Avvertenze per la sicurezza dellutente ....................................................... 3
Conformit ROHS RAEE ............................................................................. 4
TIESSE - IMOLA USER GUIDE ......................................................................... 5
INTRODUZIONE ............................................................................................................. 12
ACCEDERE AD IMOLA ................................................................................................ 16
VERSIONE SOFTWARE E MODELLO ................................................................. 17
ACCESSO MEDIANTE PORTA TTYS0 ............................................................... 17
Impostazione della porta ttyS0: ................................................................. 17
ACCESSO MEDIANTE PORTA ETH0 O ETH1 .................................................... 18
Impostazioni di default eth0/eth1: ............................................................ 18
ACCESSO MEDIANTE PORTA ISDN BRI ........................................................ 18
Impostazioni ISDN .................................................................................... 18
USERNAME E PASSWORD ............................................................................... 19
CONCEDERE E REVOCARE PRIVILEGI .............................................................. 20
LIVELLI DI PRIVILEGIO E COMANDO ENABLE .................................................. 20
ACCESSO TRAMITE SSH ................................................................................ 23
PROCEDURA DI PASSWORD RECOVERY .......................................................... 23
REBOOT DEL ROUTER ................................................................................... 23
DEFAULT SETTINGS ...................................................................................... 24
CONFIGURAZIONE DI IMOLA ................................................................................. 25
LA PROCEDURA DI CONFIGURAZIONE ........................................................... 25
GUIDA AI COMANDI CLI ................................................................................ 27
GESTIONE DELLE PASSWORD CIFRATE ........................................................... 29
Introduzione ............................................................................................. 29
Comandi di configurazione ....................................................................... 29
Sintassi del comando ................................................................................ 30
PROCEDURA DI PASSWORD RECOVERY .......................................................... 30
REBOOT DEL ROUTER ................................................................................... 31
INTERFACCIA ETHERNET ......................................................................................... 32
CONFIGURAZIONE DELLINTERFACCIA ........................................................... 32
COMANDO DETECT-LINK-STATE.................................................................... 33
VISUALIZZAZIONE STATO INTERFACCIA ........................................................ 34
SIGNIFICATO LED INTERFACCIA ETHERNET .................................................... 35
TRIGGER ETHERNET ...................................................................................... 35
TRIGGER DHCP CLIENT ................................................................................. 36
GESTIONE PORTE ETHERNET: MII-TOOL ......................................................... 36
INTERFACCIA ISDN ...................................................................................................... 38
COMANDI PER LA CONFIGURAZIONE DELLINTERFACCIA ISDN ....................... 38
SIGNIFICATO LED ISDN ................................................................................. 45
TRIGGER ISDN .............................................................................................. 45
VERIFICA SESSIONE ISDN .............................................................................. 46
CONTROLLO DI TRAFFICO ............................................................................ 47
INTERFACCIA ADSL ..................................................................................................... 49
5
INTRODUZIONE Imola User Guide

CONFIGURAZIONE ........................................................................................ 49
VISUALIZZAZIONE ......................................................................................... 52
COMANDO OAMPING ................................................................................... 54
SIGNIFICATO DEI LED ................................................................................... 54
TRIGGER ADSL ............................................................................................. 54
INTERFACCIA VDSL ..................................................................................................... 56
INTRODUZIONE ............................................................................................ 56
CONFIGURAZIONE DELLA CONNESSIONE FISICA............................................. 56
CONFIGURAZIONE ADSL ............................................................................... 57
CONFIGURAZIONE VDSL ............................................................................... 59
VISUALIZZAZIONE ......................................................................................... 60
SIGNIFICATO DEI LED ................................................................................... 61
INTERFACCIA SHDSL .................................................................................................. 62
CONFIGURAZIONE ........................................................................................ 62
VISUALIZZAZIONE ......................................................................................... 64
SIGNIFICATO DEI LED ................................................................................... 65
TRIGGER SHDSL............................................................................................ 65
INTERFACCIA FRAME RELAY .................................................................................. 67
CONFIGURAZIONE ........................................................................................ 67
VISUALIZZAZIONE ......................................................................................... 68
INTERFACCIA MOBILE ................................................................................................ 71
CONFIGURAZIONE ........................................................................................ 71
VISUALIZZAZIONE ......................................................................................... 74
SIGNIFICATO DEI LED ................................................................................... 78
TRIGGER GPRS.............................................................................................. 78
CONTROLLO DI TRAFFICO ............................................................................ 79
CONTROLLO SESSIONE GPRS......................................................................... 80
VERIFICA SESSIONE GPRS .............................................................................. 81
RACCOLTA DATI DI TRAFFICO ...................................................................... 82
GESTIONE SMS ............................................................................................. 83
NOTIFICA CONNESSIONE MOBILE: COMANDO HELLO ..................................... 86
INTERROGAZIONE DIRETTA DEL MODEM: COMANDO GPRSAT ........................ 87
Comandi comuni ...................................................................................... 87
DOPPIA SIM DATI ......................................................................................... 89
SBLOCCO SIM ............................................................................................... 89
LETTURA IMSI ED IMEI .................................................................................. 90
INTERFACCIA WI-FI ...................................................................................................... 91
CONFIGURAZIONE ........................................................................................ 91
INTERFACCIA RS232 .................................................................................................. 93
INTRODUZIONE ............................................................................................ 93
CONFIGURAZIONE ........................................................................................ 93
Salvataggio configurazione ....................................................................... 96
VISUALIZZAZIONE ......................................................................................... 96
CONNETTORI SERIALI ................................................................................... 97
ROTTE STATICHE ......................................................................................................... 98
6
INTRODUZIONE Imola User Guide

CONFIGURAZIONE ROTTE STATICHE ............................................................. 98


BLOCCO DEL TRAFFICO MEDIANTE ROTTE STATICHE .................................... 99
VISUALIZZAZIONE ROTTE STATICHE .............................................................. 99
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE............. 101
INDIRIZZO LOOPBACK ................................................................................ 101
COMANDO IFCONFIG .................................................................................. 101
INDIRIZZI SECONDARI (ALIAS) ..................................................................... 103
COMANDO IP ............................................................................................. 104
Generalit ............................................................................................... 104
Visualizzare lo stato delle interfacce, le tabelle di ARP e di routing mediante
comando IP............................................................................................. 105
Cancellare le tabelle di arp mediante comando IP .................................... 106
Disabilitare uninterfaccia di rete mediante comando IP ........................... 106
Aggiungere un indirizzo di rete mediante comando IP ............................. 106
Policy routing mediante comando IP ........................................................ 106
PVC BUNDLING........................................................................................... 107
COMANDO PING ......................................................................................... 111
COMANDO TRACEROUTE............................................................................ 112
COMANDO TCPDUMP ................................................................................. 112
COMANDO LOAD-AVG ................................................................................ 113
COMANDO SET INTERFACE ......................................................................... 114
ACCESS LIST, SOURCE NAT E REDIRECT ...................................................... 115
ACCESS LIST............................................................................................... 115
Configurazione ....................................................................................... 115
Visualizzazione....................................................................................... 117
REDIRECT................................................................................................... 118
Configurazione ....................................................................................... 118
Visualizzazione....................................................................................... 119
SOURCE-NAT .............................................................................................. 119
Configurazione ....................................................................................... 119
Visualizzazione....................................................................................... 120
FUNZIONI DI FIREWALL: IPTABLES................................................................... 122
GENERALIT............................................................................................... 122
TABELLE, CATENE, REGOLE E TARGET ......................................................... 122
FIREWALL CON LA TABELLA FILTER ............................................................. 123
NETWORK ADDRESS TRANSLATION CON LA TABELLA NAT ........................... 124
PORT FORWARDING.................................................................................... 124
ALTERAZIONE ............................................................................................ 125
APPLICAZIONE DELLE REGOLE SUI PACCHETTI ............................................. 125
CRITERI STANDARD DI MATCH ................................................................... 126
TARGET ..................................................................................................... 127
CRITERI AVANZATI DI MATCH ..................................................................... 128
LOAD BALANCING ...................................................................................... 130
LOGGING DEI PACCHETTI ........................................................................... 131
ACCOUNTING DEI PACCHETTI..................................................................... 131
CONNECTION TRACKING ............................................................................ 134
Introduzione ........................................................................................... 134
Connessioni TCP ..................................................................................... 135

7
INTRODUZIONE Imola User Guide

Connessioni UDP .................................................................................... 136


Connessioni ICMP ................................................................................... 137
Connessioni FTP ..................................................................................... 138
Un esempio di firewall ............................................................................ 139
COMANDI DI GESTIONE E CONFIGURAZIONE ............................................... 140
PROTOCOLLO VRRP ................................................................................................. 143
CONFIGURAZIONE ...................................................................................... 143
VISUALIZZAZIONE ....................................................................................... 144
TRIGGER VRRP............................................................................................ 144
CONFIGURAZIONE VRRP MEDIANTE COMANDO VRRPD ................................ 144
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP ..................... 146
CONFIGURAZIONE PROTOCOLLO RIP........................................................... 146
CONFIGURAZIONE PROTOCOLLO OSPF........................................................ 148
CONFIGURAZIONE PROTOCOLLO BGP ......................................................... 151
Esempi di configurazione ........................................................................ 154
PROTOCOLLO BGP ...................................................................................... 155
CONFIGURAZIONE DEL ROUTER-ID .............................................................. 158
BGP CON FILTRO DELLE ROTTE E ROUTE-MAP ............................................. 158
BGP CON ANNUNCIO DELLA ROTTA DI DEFAULT ......................................... 159
BGP CON REDISTRIBUZIONE DI NETWORK CONNESSE ................................... 159
BGP CON REDISTRIBUZIONE DI ROTTE STATICHE ......................................... 161
BGP CON REDISTRIBUZIONE DI ROTTE OSPF ................................................ 162
BGP CHE REDISTRIBUISCE OSPF E OSPF CHE REDISTRIBUISCE BGP ................. 165
BGP CON DOPPIO NEIGHBOR ...................................................................... 166
COMANDO ROUTER.................................................................................... 170
PROTOCOLLO DI MULTICAST ROUTING ...................................................... 173
PROTOCOL INDIPENDENT MULTICAST (PIM) ................................................ 173
Configurazione del protocollo PIM DENSE MODE ...................................... 173
Configurazione del protocollo PIM SPARSE MODE .................................... 173
MULTICAT SOURCE DISCOVERY PROTOCOL................................................. 175
PROTOCOLLO IGMP .................................................................................... 175
IGMP snooping........................................................................................ 175
IGMP proxy ............................................................................................. 176
STATIC MULTICAST ROUTING ..................................................................... 177
COMANDI PER IL MULTICAST GENERICI ....................................................... 177
TUNNEL GRE ................................................................................................................. 179
CONFIGURAZIONE DI UN TUNNEL GRE ........................................................ 179
CONFIGURAZIONE DI PI TUNNEL GRE ........................................................ 182
TRIGGER GRE ............................................................................................. 182
CONFIGURAZIONE GRE MEDIANTE COMANDO CREATE-TUNNEL ................... 182
CONFIGURAZIONE GRE MEDIANTE COMANDO IP ......................................... 183
DYNAMIC GRE MEDIANTE PROCOLLO NHRP ................................................ 184
IPSEC................................................................................................................................. 186
CONFIGURAZIONE DI UN TUNNEL IPSEC ...................................................... 186
TRIGGER IPSEC ........................................................................................... 188
RACOON IPSEC SECURITY .................................................................................... 190
8
INTRODUZIONE Imola User Guide

INTRODUZIONE .......................................................................................... 190


CONFIGURAZIONE DI UN TUNNEL IPSEC CON RACOON ................................ 190
ANALISI E TROUBLESHOOTING DELLE CONNESSIONI .................................... 196
TUNNEL L2TP .............................................................................................................. 201
CONFIGURAZIONE DI UN TUNNEL L2TP ....................................................... 201
VISUALIZZAZIONE STATO DEL TUNNEL ........................................................ 202
TRIGGER L2TP ............................................................................................ 202
EASY VPN ....................................................................................................................... 203
CONFIGURAZIONE DI UN TUNNEL EASY VPN................................................ 203
TRIGGER EZVPN.......................................................................................... 204
QUALITY OF SERVICE .............................................................................................. 205
INTRODUZIONE .......................................................................................... 205
CONFIGURAZIONE DI UNA POLITICA DI TRAFFICO ....................................... 205
CONFIGURAZIONE DI UNA CLASSE .............................................................. 206
CLASSIFICAZIONE DEL TRAFFICO ................................................................ 207
MARCATURA DEL TRAFFICO ....................................................................... 209
POLICING ................................................................................................... 209
QUEUE DISCIPLINE PRIO .............................................................................. 209
ATTIVAZIONE DELLA QOS ........................................................................... 210
VISUALIZZAZIONE DELLA CONFIGURAZIONE E DELLE STATISTICHE ............... 210
LIMITAZIONE DELLA BANDA IN OUTPUT ...................................................... 213
VLAN E SWITCH .......................................................................................................... 214
PROTOCOLLO TACACS .......................................................................................... 218
CONFIGURAZIONE PROTOCOLLO TACACS ................................................... 218
ACCOUNTING E AUTORIZZAZIONE .............................................................. 220
PROTOCOLLO RADIUS ............................................................................................ 223
CONFIGURAZIONE PROTOCOLLO RADIUS .................................................... 223
PROTOCOLLO SNMP ................................................................................................ 225
CONFIGURAZIONE PROTOCOLLO SNMP ....................................................... 225
CONFIGURAZIONE SNMP V3 ........................................................................ 227
Controllo di Accesso (Utenti SNMPv3) ...................................................... 227
Visualizzazione SNMP ............................................................................. 227
PROTOCOLLO NETFLOW ....................................................................................... 229
FPROBE ...................................................................................................... 229
PROTOCOLLO NETFLOW ............................................................................. 229
Target .................................................................................................... 229
Architettura ............................................................................................ 230
CONFIGURAZIONE ...................................................................................... 230
Parametri ................................................................................................ 230
Filtri ....................................................................................................... 231
VERIFICA .................................................................................................... 231
SYSLOG............................................................................................................................ 232
CONFIGURAZIONE DELLA FUNZIONALIT DI LOGGING ................................. 232
9
INTRODUZIONE Imola User Guide

PROTOCOLLO DLSW ................................................................................................ 236


INTRODUZIONE .......................................................................................... 236
CONFIGURAZIONE DLSW............................................................................. 236
CONFIGURAZIONE IN AMBIENTE DLC IEEE 802.2 .......................................... 237
CONFIGURAZIONE IN AMBIENTE SDLC ......................................................... 238
VISUALIZZAZIONE CONFIGURAZIONE, STATO E STATISTICHE DSLW .............. 239
Configurazione ....................................................................................... 242
ATTIVAZIONE E CONTROLLO DEI CIRCUITI .................................................. 243
PROTOCOLLO NTP ................................................................................................... 244
CONFIGURAZIONE DEL PROTOCOLLO NTP .................................................. 244
TRIGGER NTP ............................................................................................. 244
ESECUZIONE PIANIFICATA DI COMANDI...................................................... 245
COMANDI DI VISUALIZZAZIONE .................................................................. 245
ESECUZIONE DI COMANDI IN BASE ALLA POSIZIONE GEOGRAFICA247
PROTOCOLLO DHCP ................................................................................................ 250
CONFIGURAZIONE DEL SERVIZIO DHCP-SERVER ........................................... 250
ISTANZE MULTIPLE DEL SERVIZIO DHCP....................................................... 251
SERVIZIO DHCP-RELAY AGENT .................................................................... 254
VISUALIZZAZIONE DEL SERVIZIO DHCP ........................................................ 255
TIMEZONE...................................................................................................................... 256
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI ........................................ 257
TRIGGER O COMANDI DA ATTIVARE DOPO UN EVENTO ............................... 257
NETWORK INTERFACES CONTROL ............................................................... 260
CONTROLLO OCCUPAZIONE DELLA CPU ...................................................... 260
MECCANISMI DI ATTIVAZIONE BACKUP ....................................................... 261
COMANDO SET BACKUP ............................................................................. 261
COMANDO SET TRIGGER BACKUP ............................................................... 264
COMANDO SET EXTBACKUP ........................................................................ 264
POLICY ROUTING ...................................................................................................... 265
SPLIT ACCESS ............................................................................................. 265
LOAD BALANCING ...................................................................................... 266
RESPONDER TIME REPORTER ............................................................................. 267
CONFIGURAZIONE DEL SERVIZIO ................................................................. 267
VISUALIZZAZIONE DEL SERVIZIO ................................................................. 268
IP SLA RESPONDER ..................................................................................... 269
GESTIONE DELLE CONFIGURAZIONI AGGIORNAMENTO SOFTWARE270
GESTIONE DELLE CONFIGURAZIONI INTERMEDIE .......................................... 270
DOWNLOAD E UPLOAD DELLE CONFIGURAZIONI ......................................... 270
AGGIORNAMENTO DEL SOFTWARE .............................................................. 271
CAVEAT ........................................................................................................................... 274
ESECUZIONE COMANDI CLI AL REBOOT DEL ROUTER .................................. 274
ROUTING TABLES ....................................................................................... 275
10
INTRODUZIONE Imola User Guide

PROTOCOLLO GRE...................................................................................... 275


ESEMPI DI CONFIGURAZIONE ...................................................................... 276
DHCP server ........................................................................................... 276
VLAN in modalit access ......................................................................... 277
VLAN in modalit trunk .......................................................................... 277
ADSL con NAT di un ip pubblico e LAN cliente con ip privati .................... 278
ADSL con un pool di ip pubblici e un pool di ip privati ............................. 279
Connessione HDSL .................................................................................. 280
GPRS su APN pubblica (navigazione internet) ........................................... 281
GPRS su APN privata con tunnel GRE ....................................................... 282
ISDN con indirizzo dinamico ricevuto dal POP E NAT sullinterfaccia ISDN 284
ISDN senza NAT con indirizzo statico ...................................................... 284
ADSL con backup su GPRS ....................................................................... 285
ADSL con backup su GPRS con invio segnalazione backup via SMS ........... 287
QoS Per connessione ADSL ...................................................................... 290
QoS PER CONNESSIONE HDSL .................................................................. 291
Configurazione LOOPBACK ..................................................................... 291
Configurazione SNMP.............................................................................. 291
Configurazione TACACS .......................................................................... 292
Configurazione RADIUS ........................................................................... 292
Configurazione BANNER .......................................................................... 292

11
INTRODUZIONE Imola User Guide

INTRODUZIONE
IMOLA una linea di dispositivi di rete che offrono funzioni di Router in configurazioni wired e
wireless (in questo caso supportando connessioni GPRS/EDGE e UMTS/HSDPA/HSUPA/LTE).
progettato per connettere tra loro siti locali e remoti, in particolare in tutti i casi in cui siano
esigenze primarie la sicurezza, la continuit del servizio e le prestazioni della rete.

Figura 1: IMOLA Mod. 4230

Imola si basa su tre moduli funzionali, non necessariamente fisicamente distinti: un modulo su cui
sono implementate tutte le funzionalit principali; un modulo su cui risiedono i controllori di
protocollo e i dispositivi di interfaccia delle linee per le estensioni WAN infine il modulo di
alimentazione, che pu equipaggiare sia un convertitore AC/DC (Internal Power Supply) oppure un
convertitore DC/DC (External Power Supply). Per distinguere le varie caratteristiche e interfacce di
comunicazione, ogni modello identificato dalla sigla Imola XYZT, dove:

X identifica il tipo di connessione geografica su rete mobile presente


Y identifica il tipo di connessione locale
Z identifica il tipo di connessione geografica su rete fissa.
T identifica il tipo di porte LAN (FE oppure GBE)

I valori definiti sono:


0 Nessuna connessione mobile presente
X 1 GPRS
2 GPRS / EDGE
3 GPRS / EDGE / UMTS / HSDPA
4 GPRS / EDGE / UMTS / HSDPA / HSUPA
5 GPRS / EDGE / UMTS / HSDPA / HSUPA / LTE
0 1 porta Ethernet presente
Y 1 2 porte Ethernet
2 Switch Ethernet 5 porte (4 porte nella versione LX)
3 1 porta WI-FI (oltre allo switch Ethernet)
1
8 8 porte Ethernet
0 Nessuna connessione WAN presente
Z 1 ADSL
2 ADSL2+
3 HDSL
4 SHDSL
6 VDSL2
T 0 Le porte Ethernet sono FE 10/100 Mbps
2 Le porte Ethernet sono GBE 10/100/1000 Mbps

1
Nel modello con 8 porte Ethernet, le porte 6, 7 ed 8 sono sempre FE indipendentemente dalle altre 5, che possono essere
FE o GBE.

12
INTRODUZIONE Imola User Guide

Le versioni Imola 0220, 0320, 0320, 4320, 4200, 4300 e 0800 sono disponibili anche con
alimentatore esterno e denominate Imola LX, in questo caso la porta ISDN BRI non presente e lo
switch presenta 4 porte Fast Ethernet invece di 5. Negli altri casi per identificare un modello
generico si adotta il termine Imola Full.

Le caratteristiche principali sono:

Network Processor Risc


64-256 MB RAM di sistema, a seconda del modello
512KB Boot Flash
16-32 MB Flash Memory per sistema operativo e applicazioni, a seconda del modello

Dispone, inoltre, delle seguenti porte di comunicazione:

1 Ethernet FE o GBE (salvo i modelli LX, dove prevista la sola porta FE)
1 porta console RS232 con connettore maschio DB9
1 ISDN S/T BRI con connettore RJ 45 (non sui modelli LX)
1 Switch LAN con 3 porte FE con supporto VLAN 802.1q (opzionale)
1 porta WI-FI 802.11 b/g/n (opzionale)
1 ADSL/ADSL2+ con connettore RJ11 (opzionale)
1 porta GSM/GPRS/EDGE (opzionale)
1 porta GSM/GPRS/EDGE/UMTS/HSDPA/HSUPA (opzionale)
1 porta GMS/GPRS/EDGE/UMTS/HSDPA/HSUPA/LTE (opzionale)
1 porta seriale sincrona con connettore LFH 60 V.35(opzionale)
2 porte g.SHDSL che possono essere usate in modalit 2-Wire o 4-Wire
1 switch LAN integrato con 5 (4 porte FE sul modello LX) porte FE o GBE con supporto VLAN
802.1q

E disponibile inoltre il modello Lipari, funzionalmente equivalente al router Imola con la differenza
che supporta solo connessioni mobili.

Per verificare lo stato delle connessioni sono disponibili led luminosi 2:

TIPO LED DESCRIZIONE

ROUTER ACCESO/SPENTO Led verde On ACCESO: indica che il Router Imola acceso

INTERFACCE ETHERNET Nei connettori RJ45 delle interfacce Ethernet sono incorporati due led: a sinistra di
colore giallo, a destra di colore verde.
Led giallo acceso: indica che l'interfaccia ethernet connessa alla velocit di
100Mbps
Led verde lampeggiante: indica attivit di LAN.

INTERFACCIA ADSL Lo stato dell'interfaccia ADSL viene indicato mediante 3 led di colore verde, etichettati
con le seguenti denominazioni: Pw, Link e Data.
Led Pw acceso: indica che il modem ADSL interno alimentato in modo corretto
Led Link lampeggiante: indica la fase di sincronizzazione con la centrale
Led Link acceso fisso: indica che la fase di sincronizzazione stata effettuata con
successo
Led Data lampeggiante: viene utilizzato per visualizzare il traffico dati.

INTERFACCIA ISDN Lo stato dellinterfaccia ISDN viene indicato mediante 2 led di colore giallo (sinistra) e
verde (destra) incorporati nel connettore stesso.
Led giallo acceso: indica che il livello fisico ISDN attivo (chiamata in corso)

2
La disposizione dei led e la relativa etichetta possono variare in funzione del modello di router

13
INTRODUZIONE Imola User Guide

Led verde acceso: indica l'attivit di almeno una sessione ISDN

INTERFACCIA GPRS Lo stato dell'interfaccia GPRS viene indicato mediante 3 led di colore verde.
Sono etichettati con le seguenti denominazioni: On, Link e Data.
I rimanenti due led non hanno un significato predefinito e sono dipendenti
dallapplicazione.
Il significato il seguente:
Led On acceso: indica che il modem GPRS interno operativo in modo corretto.
Allaccensione del router il led normalmente spento. Esso viene acceso dopo aver
richiesto lattivazione dellinterfaccia GPRS.
Led Link lampeggiante ad intermittenza veloce (alcune accensioni al secondo):
indica la fase di sincronizzazione con la centrale
Led Link lampeggiante ad intermittenza lenta (un'accensione ogni 1-2 secondi):
indica la corretta connessione alla rete
Led Link acceso fisso: indica che la connessione attiva di tipo GSM (solo se il
router stato espressamente configurato per questa funzione), altrimenti indica che la
rete UMTS
Led Data acceso indica che la connessione GPRS attiva: linterfaccia dispone di un
indirizzo IP per trasmettere e ricevere tramite la rete GPRS.
INTERFACCIA HDSL Led verde v35 acceso: indica che il Router ha rilevato la presenza della rete

INTERFACCIA SHDSL Led verde link accesso: indica che il router ha rilevato la presenza della rete
Led verde data lampeggiante viene utilizzato per indicare attivit di traferimento dati

Ai servizi di comunicazione possono sono associate le seguenti funzionalit:

Supporto ACLs
Supporto Autentication e Accounting tramite RADIUS
Supporto AAA tramite Tacacs+
Funzioni di NAT/PAT
Funzioni Stateful Firewalling
VPN con IP Sec 3DES Encryption
Tunnel GRE
Tunnel PPtP
Tunnel Open VPN
Tunnel Easy VPN
Advanced Routing (Policy Routing)
Routing RIP, OSPF, BGP e supporto BFD
Muticast con IGMP Proxy
Supporto PIM (Protocol IndIPendent Multicast - routing Multicast)
Ottimizzazione di banda con QoS (Quality of Service)
Supporto VRRP (Virtual Router Redundant Protocol)
Funzioni di IP SLA con Responder Time Reporter
Supporto SNMP v1/v2/v3
Supporto TR-069
Supporto DHCP server
Funzioni di logging locale e remoto
Accesso tramite Telnet ed SSH
Comandi di amministrazione e controllo (ping, traceroute, ifconfig, )

L'ambiente di Command Line Interface (CLI), di propriet unica di Tiesse S.p.A., permette la
configurazione e la gestione del sistema in maniera guidata e facilitata.
14
INTRODUZIONE Imola User Guide

Il modello Lipari si presenta come nella seguente figura:

E dotato di un modulo di alimentazione esterno AC/DC 5Vdc / 1A.

Analogamente ad Imola, per distinguere le varie caratteristiche e interfacce di comunicazione, ogni


modello identificato dalla sigla Lipari XY00, dove:

X identifica il tipo di connessione geografica su rete mobile presente.

X 1 GPRS
2 GPRS / EDGE
3 GPRS / EDGE / UMTS / HSDPA
4 GPRS / EDGE / UMTS / HSDPA / HSUPA
5 GPRS / EDGE / UMTS / HSDPA / HSUPA / LTE

Y identifica il numero di porte LAN Ethernet 10/100 presenti.

Y 0 1 porta Ethernet FE 10/100 Mbps


1 2 porta Ethernet FE 10/100 Mbps

15
ACCEDERE AD IMOLA Imola User Guide

ACCEDERE AD IMOLA
Laccesso al router pu essere effettuato mediante la porta console con connettore DB9 maschio
presente sul frontale dell'Imola, tramite apposito cavo null modem, utilizzando un qualsiasi
programma di emulazione di terminale (hyperterm, minicom, putty,...) oppure tramite connessione
Telnet verso uno degli indirizzi IP presenti su Imola.

I modelli Imola Full dispongono di una porta singola Fast Ethernet identificata con il termine eth0 e
di uno switch integrato a 5 porte numerate da 1 a 5. Nella configurazione di fabbrica tutte le porte
dello switch asseriscono ad un unico indirizzo IP e linterfaccia logica chiamata eth1.

I modelli Imola LX dispongono solamente dello switch integrato a 4 porte numerate da 1 a 4. Nella
configurazione di fabbrica tutte le porte asseriscono ad un unico indirizzo IP associato
allinterfaccia logica eth0.

In caso di connessione diretta alla singola porta Ethernet del modello Imola Full (porta eth0)
necessario usare un cavo LAN cross, mentre il tipo di cavo ininfluente se ci si collega ad una delle
porte dello switch integrato, essendo prevista la funzionalit di auto-mdx:

Per i modelli con sole due porte Ethernet (senza lo switch), le porte sono associate a due interfacce
logiche distinte chiamate rispettivamente eth0 ed eth1.

Tiesse spa - IMOLA Interworking Unit

No Radius configured. Using Local authentication


login: root
Password:
local: Authentication OK
Service Type is: Administrative-User
Idle timeout is set to 3600 seconds
Connected Users:
ttyp1 root

You are logged on ttyp1


root@Imola>

Una volta entrati nellambiente di configurazione il prompt si presenta nella forma:


username@hostname dove username la login utilizzata per laccesso e hostname il nome
configurabile della macchina. Vengono visualizzati il tipo di servizio (Administrative-User o
Login-User) che indica i privilegi dellutente utilizzato, il valore del timeout di inattivit della
sessione, gli utenti collegati e la virtual tty utilizzata. In qualsiasi istante digitando il comando
who si pu verificare tale lista3:

root@Imola> who
Connected Users:
ttyp1 root
ttyp2 root

You are logged on ttyp2


root@Imola>

3
Bench pi utenti possano essere collegati al router, opportuno che solo uno di questi effettui le modifiche alla
configurazione, per evitare effetti indesiderati.

16
ACCEDERE AD IMOLA Imola User Guide

VERSIONE SOFTWARE E MODELLO


Mediante il comando: show model si pu leggere il modello di router:

root@IMOLA> show model


Tiesse Imola 4220 Multiprotocol Router

Mentre il comando show version mostra la versione di software presente:

root@IMOLA> show version


Imola version: 4.3.1-2

Il numero di versione segue la seguente convenzione: 4.x.y-N

Oltre ai router con versione 4.x.y-N, sono stati prodotti router la cui versione del tipo 1.x.y-N e
router con versioni del tipo 2.x.y-N. Da un punto di vista funzionale non vi alcuna differenza:

La prima cifra identifica la piattaforma hardware utilizzata per la produzione.

Il valore x indica il major number, il quale cambia in caso di funzionalit rilevanti, ad


esempio con il supporto del protocollo IPv6 si passa dalla release 4.3.1 alla release 4.4.0.

Il valore y indica il minor number, il quale incrementa quando si aggiungono funzionalit


indIPendenti che non impattano le altre funzioni software. Ad esempio con laggiunta del
supporto Tacacs si passa dalla release 4.3.0 alla release 4.3.1.

Il suffisso N indica il numero di build. Esso si incrementa in caso di bug-fixing di minore


entit che in generale non richiedono lesecuzione di test di non regressione. Ad esempio
effettuando una correzione allinterno del modulo che gestisce le funzioni di IP SLA si passa
dalla release 4.3.1-0 alla release 4.3.1-1.

ACCESSO MEDIANTE PORTA TTYS0


Cavo da utilizzare: cavo null-modem DB9

Porta Imola: porta ttyS0

Applicazione da usare: Windows HyperTerminal (o simili)

Impostazione della porta ttyS0:


Volendo utilizzare la porta ttyS0 per l'accesso ad Imola, occorre essere sicuri che l'applicazione
impiegata per connettersi all'Imola sia configurata in accordo alle impostazioni riportate nella seguente
tabella:

Bits per second: 9600


Data bits: 8
Parity: none
Stop bit(s): 1
Flow Control: N.A. (Not Applicable)

Le operazioni sono riepilogate a scopo esemplificativo nella seguente figura:


17
ACCEDERE AD IMOLA Imola User Guide

TieSse spa - IMOLA Interworking Unit

login: root
Password: *********
Imola# cli
Service Type is: Administrative-User
Idle timeout is set to 600 seconds
Connected Users:
ttyS0 root

You are logged on ttyp1


root@Imola>

ACCESSO MEDIANTE PORTA ETH0 O ETH1


Cavo da impiegare: cavo LAN (Ethernet type)

Porta Imola: porta eth0 o eth1

Applicazione da usare: Telnet (o simili)

Impostazioni di default eth0/eth1:


eth0 port eth1 port
IP Address 10.10.113.1 172.151.113.1
Netmask 255.255.0.0 255.255.0.0
Broadcast 10.10.255.255 172.151.255.255
Network Address 10.10.0.0 172.151.0.0

Nel caso di modello con switch LAN integrato (Imola X2X0), la connessione alla porta eth1 avviene
mediante una qualsiasi delle porte dello switch stesso.

ACCESSO MEDIANTE PORTA ISDN BRI


Cavo da impiegare: cavo ISDN

Porta Imola: porta ISDN BRI

Applicazione da usare: Telnet (o simili)

Impostazioni ISDN
Nella configurazione di default, Imola accetta sulla porta ISDN BRI chiamate da qualsiasi numero.
Lutente da utilizzare per lattivazione della sessione PPP PPPuser con password tiesse e la
sessione IP viene attivata accettando lindirizzo IP assegnato dal chiamante.

18
ACCEDERE AD IMOLA Imola User Guide

USERNAME E PASSWORD
Per accedere ad Imola necessario specificare login e password:

La configurazione di fabbrica di Imola riconosce la seguente login e relativa password:

LOGIN: root
PASSWORD: tiesseadm

possibile cambiare la password dellutente root mediante il comando cli:


change_password root

che in modalit interattiva chiede di introdurre la nuova password.

possibile aggiungere ulteriori utenti mediante il comando:


add_user <user_name>

il quale richiede di specificare anche la password associata.

Sono previsti due tipi di utenti: Administrative-User e Login-User. Gli utenti i possono eseguire
qualsiasi comando previsto dalla CLI, mentre gli utenti Login possono eseguire un sottoinsieme
ridotto di comandi, ad esempio non possono eseguire quei comandi che permettono di modificare
la configurazione e si limitano a comandi di visualizzazione. Gli utenti aggiunti tramite il comando
add_user sono di tipo Login.

Il comando su permette di passare dalla modalit Login a quella Administrative.

TieSse spa - IMOLA Interworking Unit

No Radius configured. Using Local authentication


login: mario
Password:
local: Authentication OK
Service Type is: Login-User
Idle timeout is set to 3600 seconds
Connected Users:
ttyp0 mario

You are logged on ttyp0


mario@Imola# set hostname MyRouter
Command "set hostname MyRouter ..." not allowed for this user
mario@Imola# su root
Password:
root@Imola> set hostname MyRouter
Setting hostname to MyRouter
root@Imola> quit
mario@Imola#
mario@Imola# set eth1 ipaddr 3.3.3.3
Command "set eth1 ipaddr 3.3.3.3 ..." not allowed for this user
mario@Imola#

Se per esempio si accede al router usando lutente mario e si tenta di eseguire il comando set
hostname per cambiare il nome del router, il comando fallisce a causa dei mancati privilegi di
quell'utente specifico. Si esegue allora il comando su, che permette di utilizzare un utente con privilegi
superiori, specificando correttamente la password si entra nella modalit Administrative, e si cambia

19
ACCEDERE AD IMOLA Imola User Guide

lhostname. Con il comando quit si ritorna allutente precedente. Da notare lultimo carattere del
prompt: il carattere # in caso di Login-User ed il carattere > in caso di Administrative-User.

possibile configurare la modalit di autenticazione tramite protocollo RADIUS come descritto nel
capitolo relativo. In tale caso il server RADIUS che determina quale utente ha pieni diritti e quali
utenti hanno diritti limitati.

CONCEDERE E REVOCARE PRIVILEGI


Un utente di tipo Administrative-User pu concedere ad utente di tipo Login la possibilit di
eseguire particolari comandi che altrimenti sarebbero negati e allo stesso modo pu revocare ad un
utente di tipo Administrative la possibilit di eseguire alcuni comandi che normalmente sarebbero
concessi.
grant-to <username> <command prefix>

eseguito da un utente di tipo Administrative concede allutente <username> (di tipo Login) la
possibilit di eseguire tutti i comandi che iniziano con il prefisso specificato.
revoke-to <username> <command prefix>

eseguito da un utente di tipo Administrative revoca allutente <username> (di tipo Administrative)
la possibilit di eseguire i comandi che iniziano con il prefisso specificato.

Supponiamo che siano stati definiti due utenti, da un server Radius collegato ad Imola,
rispettivamente "operatore" di tipo Login-User e "tecnico" Administrative-User. Normalmente
lutente operatore pu solo controllare la configurazione, ma non pu intervenire su di essa,
mentre lutente tecnico pu modificarla senza alcun vincolo. I comandi:

grant-to operatore set eth1


revoke-to tecnico set isdn dialer ippp1

consentono allutente operatore la possibilit di configurare la porta ethernet e revocano


allutente tecnico la possibilit di configurare la dialer ISDN.

Per eliminare un privilegio concesso e togliere una revoca si usano rispettivamente i comandi:
no-grant-to <username> <command prefix>
no-revoke-to <username> <command prefix>

La stringa <command prefix> la parte iniziale di un qualsiasi comando di configurazione.

Attenzione al caso in cui sia presente un solo utente Admnistrative, ad esempio root. I comandi:
revoke-to root set
revoke-to root no-revoke

tolgono definitivamente la possibilit allutente root di eseguire un qualsiasi comando di


configurazione.

LIVELLI DI PRIVILEGIO E COMANDO ENABLE


Oltre agli utenti di tipo Administrative-User e di tipo Login se laccesso al router Imola viene
regolato da un server TACACS+ (o RADIUS) possibile gestire dei livelli di privilegio per stabilire
quali comandi possono essere eseguiti.

E possibile definire fino a 15 livelli di privilegio, numerati da 0 a 14, dove maggiore il livello e
maggiore sono i comandi disponibili. Inoltre esiste il livello 15 che corrisponde a quello di utente
20
ACCEDERE AD IMOLA Imola User Guide

superuser, cio un utente che non ha alcuna restrizione sui comandi da eseguire (analogo allutente
di tipo Administrative descritto nella sezione precedente).

Il livello di privilegio viene stabilito dal server di Autenticazione utilizzato (RADIUS o Tacacs+). Nel
primo caso necessario configurare sul server un attributo di tipo Custom, descritto nella sezione
RADIUS.

Nella configurazione di default sono presenti 3 livelli predefiniti:

Livello 0 dove i soli comandi disponibili sono: enable, exit e quit


Livello 1 dove i comandi disponibili sono quelli associati ad un utente di tipo Login, ovvero
solo i comandi di lettura, senza possibilit di modificare la configurazione
Livello 15 dove i comandi disponibili sono quelli associato ad un utente di tipo
Administrative, ovvero sono potenzialmente disponibili tutti comandi
Un livello N eredita i privilegi dei livelli inferiori, per passare ad un livello superiore
necessario conoscere la password associata a quel livello.

Il comando:
set privilege level n <command prefix>

eseguito da un utente abilitato stabilisce che a livello N possono essere eseguiti tutti i comandi che
iniziano con il prefisso specificato. Ad esempio, utilizzando:
set privilege level 3 set adsl

si specifica che gli utenti che hanno ricevuto un livello di privilegio 3, potranno eseguire tutti i
comandi di configurazione dellinterfaccia ADSL.

Per eliminare dei privilegi precedentemente impostati, si utilizza:


set no-privilege level N <command prefix>

Per visualizzare il livello di privilegio corrente si usa il comando:


show privilege

Per accedere da un livello inferione ad un livello superiore necessario che al livello superiore sia
associata una password.

Il comando che permette di associare la password ad un determinato livello :


set enable password level N

che in modalit interattiva chiede di introdurre la password. Per rimuovere la password si utilizza:

set no-enable password level N

rendendo quindi inaccessibile il livello N dai livelli inferiori.

Per accedere ad un livello superiore si utilizza il comando:


enable N

il quale chiede di introdurre la password associata al livello N ed in caso di password impostata


correttamente, lutente potr eseguire tutti i comandi associati al livello N. Ad esempio,
supponiamo che un utente superuser abbia impostato sul router i seguenti comandi:
set privilege level 3 set eth1
set privilege level 3 set gprs
set enable password level 3

tramite i quali si concede ad un utente con livello di privilegio 3 di configurare la porta ethernet e la
porta mobile ed inoltre stata associata una password a tale livello.

21
ACCEDERE AD IMOLA Imola User Guide

Il comando per impostare la password interattivo e il suo comportamento il seguente:

admin@IMOLA> set enable password level 3


Changing password for $enable3$
New password: ********
Retype password: ********
Password for $enable3$ changed by root

Su un server di Autenticazione, Tacacs o RADIUS, stato configurato un utente, chiamato poor cui
associato il livello di privilegio 1. Si effettua una connessione verso il router e ci si autentica con
lutente poor:

telnet 10.10.113.1
Trying 10.10.113.1...
Connected to 10.10.113.1.
Escape character is '^]'.

---------------------------------------------------------------
(IMOLA) (port 0)
---------------------------------------------------------------
login: poor
Password:
TACACS+: Authentication OK
Service Type is: Login-User
Privilige Level is: 1
Idle timeout is set to 3600 seconds
Connected Users:
pts/0 poor@IMOLA

You are logged on pts/0


poor@IMOLA#

Si tenta di eseguire il comando per configurare lindirizzo IP dellinterfaccia Ethernet:

poor@IMOLA# set eth1 ipaddr 192.168.1.1


% Command "set eth1 ipaddr 192.168.1.1" not allowed for this user
poor@IMOLA#

e il comando fallisce. Quindi si esegue il comando per accedere al livello superiore:

poor@IMOLA# enable 3
Password: ********
$enable3$@IMOLA#
$enable3$@IMOLA# show privilege
Current privilege level is 3
$enable3$@IMOLA#

A questo punto il comando:


$enable3$@IMOLA# set eth1 ipaddr 192.168.1.1

viene correttamente eseguito.

Infine, il comando disable ci riporta al nostro livello iniziale:

22
ACCEDERE AD IMOLA Imola User Guide

$enable3$@IMOLA# disable
poor@IMOLA#
poor@IMOLA#
poor@IMOLA# show privilege
Current privilege level is 1

Nel caso in cui laccesso al router sia regolato da un server Tacacs, anche il controllo della
password di enable viene effettuato dal server. Tuttavia se vogliamo ottenere laccesso al router dal
server Tacacs e controllare localmente le password di enable, bisogna impostare il comando:
set enable local-authentication

mentre con

set enable no-local-authentication

si rimanda nuovamente il controllo al server Tacacs.

ACCESSO TRAMITE SSH


Il comando:

set ssh2-enabled

abilita laccesso al router tramite protocollo SSHv2. Analogamente alle sessioni Telnet, anche in
questo caso laccesso viene regolato dal server RADIUS o Tacacs+ se opportunamente configurato.

Per disabilitare laccesso il comando :


set no-ssh2-enabled

Quando si usa il protocollo sshv2 per effettuare la login al router Imola si verr automaticamente
indirizzati all'ambiente shell di Linux.

Digitando il comando CLI ci si sposta nuovamente nell'ambiente di configurazione.

PROCEDURA DI PASSWORD RECOVERY


Se si utilizza il collegamento seriale possibile utilizzare una login particolare che consente
laccesso al router senza chiedere la password in modo da poter effettuare il ripristino della
configurazione di fabbrica. Il valore della login pu essere quello di default, oppure possibile
concordare con il cliente un valore riservato solo ad esso. Utilizzando tale login si accede
direttamente allambiente di configurazione, senza passare attraverso la shell di Linux.

REBOOT DEL ROUTER


Per effettuare il riavvio del router disponibile il comando:

reboot

Al riavvio, tutte le modifiche non salvate, tramite il comando save, verranno perse.

E possibile programmare un reboot a tempo, specificando dopo quanti secondi questo deve essere
eseguito:
schedule-reboot wait N

23
ACCEDERE AD IMOLA Imola User Guide

Il controllo viene restituito allutente, in modo che possono essere eseguiti eventuali altri comandi.

Per annullare loperazione di reboot programmata disponibile il comando:


no-schedule-reboot

Si raccomanda di non effettuare salvataggi della configurazione quando programmata


loperazione di reboot.

DEFAULT SETTINGS
La configurazione di default di Imola prevede:

Indirizzo eth0 (di servizio): 10.10.113.1/16


Indirizzo eth1 (e switch integrato): 172.151.113.1/16
SNMP v1 e v2 abilitati, con la community public per accessi read-only e tiesseadm per
accessi read-write.
syslog disabilitato
ADSL disabilitata
GPRS disabilitato
Routing Dinamico e tunneling disabilitati
Dialer ISDN abilitata per le chiamate entranti
Dialer ISDN disabilitata per le chiamate uscenti

24
CONFIGURAZIONE DI IMOLA Imola User Guide

CONFIGURAZIONE DI IMOLA
Per effettuare la configurazione di Imola l'operatore ha a disposizione una interfaccia a caratteri
denominata Command Line Interface (CLI).

Mediante la CLI possibile configurare, attivare e verificare interfacce e servizi disponibili su


Imola.

LA PROCEDURA DI CONFIGURAZIONE
La procedura di configurazione di Imola prevede le fasi:

di configurazione
di verifica
di attivazione dei parametri
di salvataggio

Per svolgere le fasi di configurazione e di attivazione sono utilizzati comandi che hanno prefisso:
set

Per la fase di verifica si hanno a disposizione lo stato dei led sulla scocca del router e tutti i
comandi che iniziano con il prefisso:
show

Per salvare la configurazione completa e verificata si ha a disposizione il comando:

save

Si impiega inoltre il comando:


restore

al fine di ripristinare particolari configurazioni.

Distinguiamo tre tipi differenti di configurazione:


current saved started

La configurazione current quella contenente tutti i valori impostati nella fase di configurazione.

La configurazione saved quella salvata sulla flash di Imola con il comando save ed quella con la
quale l'apparato si attiver al prossimo boot.

La configurazione started quella con la quale l'apparato si attivato al boot. Al termine del boot
e prima che cominci la fase di configurazione, le tre configurazioni sono uguali.

Durante la fase di configurazione e verifica, le configurazioni saved e started sono uguali.

Dopo aver eseguito il comando save, la configurazione current diventa anche saved e sar quella
con cui si attiver l'apparato al prossimo boot.

possibile visualizzare il contenuto dei tre diversi profili di configurazione mediante il comando:
show config current|saved|started

oppure, nel caso si voglia visualizzare la configurazione di un singolo modulo:


show config current|saved|started <module-name>

25
CONFIGURAZIONE DI IMOLA Imola User Guide

Occorre completare sempre la fase di configurazione e di verifica con il comando save, cos da
rendere permanenti i valori assegnati ai vari parametri.

Inoltre possibile gestire fasi intermedie di configurazione.

Il comando CLI set checkpoint permette di creare un salvataggio intermedio, denominato


checkpoint, utile per salvare un profilo di configurazione relativo ad un certo istante. Tramite il
comando restore checkpoint possibile rIPristinare la particolare configurazione salvata.

Ad esempio:
set checkpoint-1

crea un salvataggio intermedio che in qualsiasi momento pu essere richiamato mediante il


comando:
restore checkpoint-1

Possono essere presenti 2 configurazioni intermedie: checkpoint-1 e checkpoint-2.

Per rendere effettive le modifiche alla configurazione apportate dal comando restore, necessario
eseguire il comando save ed effettuare il reboot del router.

Il comando:
sync-config

permette invece di allineare lo stato del router ad una specifica configurazione. Questa pu essere
una di quelle predefinite (checkpoint-1, checkpoint-2, saved, started) oppure pu essere letta
da un file di comandi opportunamente scaricato sul router.

La sintassi la seguente:
sync-config <conf-file> immediately
sync-confg <conf-file> in N seconds

In quest'ultimo caso occorre indicare il path assoluto del file con la relativa estensione (*.txt, *.cli,
ecc..).

dove <conf-file> pu essere una delle keyword: checkpoint-1, checkpoint-2, saved, started,
oppure un file contenente i comandi di configurazione da applicare. In quest'ultimo caso occorre
indicare il path assoluto del file con la relativa estensione (*.txt, *.cli, ecc..).

La configurazione pu essere applicata

immediatamente
dopo N secondi
prossimo reboot del router.
sync-config <conf-file> on-next-reboot [<watch-ip> <tmout> <rstr>]

Nel caso di next-reboot, il router effettua il boot con quella che la sua configurazione saved e
subito dopo applica i comandi contenuti nel file <conf-file>.

E possibile specificare alcuni parametri di controllo:


<watch-ip>

indica un indirizzo di cui inviare dei pacchetti di ping dopo aver applicatio la nuova configurazione.
<tmout>

indica n tempo di attesa prima di iniziare linvio dei ping.


<rstr>

26
CONFIGURAZIONE DI IMOLA Imola User Guide

Il parametro pu essere assente oppure pu assumere il valore 1. Nel secondo caso indica se deve
essere effettuato un nuovo reboot del router dopo aver applicato la nuova configurazione.

Il significato il seguente: dopo aver applicato la configurazione, il router aspetta il tempo


specificato dal parametro <tmout> e quindi invia dei pacchetti ICMP verso lindirizzo <whatch-ip>.
Se non si ottiene risposta, allora viene ripristinata la configurazione precedente, viceversa, la nuova
configurazione diventa la configurazione current, sovrascrivendo la precedente. Il parametro
<rstr> indica se il router dovr effetture un nuovo reboot dopo aver attualizzato la nuova
configurazione.

Distinguiamo cinque tipi differenti di configurazione a cui possibile sincronizzare lo stato del
router:
checkpoint-1 checkpoint-2 current saved started

dove:

la configurazione checkpoint-1 quella salvata con il comando:


set checkpoint-1
la configurazione checkpoint-2 quella salvata con il comando:
set checkpoint-2
la configurazione current quella contenente tutti i valori impostati nella fase di
configurazione
la configurazione saved quella salvata sulla flash di Imola con il comando save ed
quella con la quale l'apparato si attiver al prossimo boot.
la configurazione started quella con la quale l'apparato si attivato al boot.

Oltre alle configurazioini checkpoint predefinite, possibile definire un numero arbitrario di


configurazioni mediante il comando:
set checkpoint <name>

Per queste valgono le stesse regole per i checkpoint predefiniti 1 e 2, ad esempio, possono essere
ripristinate mediante il commando:

restore checkpoint <name>

Per visualizzare il numero di checkpoint presenti, si usa il comando:

show checkpoint-list

e per rimuovere un checkpoint:

set no-checkpoint <name>

GUIDA AI COMANDI CLI


La CLI di Imola fornita di un help in linea che consente di guidare l'utente verso la corretta
formulazione sintattica e semantica di tutti i comandi disponibili.

Premendo due volte il pulsante <TAB> oppure il carattere ? verranno mostrati tutti i comandi
disponibili.

Inoltre possibile il completamento intelligente dei comandi o la visualizzazione delle alternative


disponibili mediante lausilio del tasto <TAB>.

27
CONFIGURAZIONE DI IMOLA Imola User Guide

Infine, nel caso in cui il comando invocato fosse incompleto, verr chiamata automaticamente una
funzionalit di help che fornir tutti i ragguagli necessari al corretto completamento dell'istruzione
CLI.

Tiesse spa - IMOLA Interworking Unit

No Radius configured. Using Local authentication


login: root
Password: *********
local: Authentication OK
Service Type is: Administrative-User
Idle timeout is set to 600 seconds
Connected Users:
ttyp0 recovery_user
root@Imola>
# download record show
add_user exit restore su
append help router traceroute
no-record run upload change_password
ping save version clear_counter
quit set who del_user
reboot shell
root@Imola>

Figura 2: alcuni comandi disponibili con la doppia pressione del tasto <TAB>

root@Imola> set
access-list no-access-list no-radius
adsl no-adsl no-redirect
alias no-alias no-rip
autocmd no-autocmd no-route
backup no-backup no-snmp
banner no-banner no-source-nat
bgp no-bgp no-trigger
checkpoint-1 no-default-gateway no-vrrp
checkpoint-2 no-dns ntp
comment no-eth0 ospf
default-gateway no-eth1 pos
dns no-gprs ppp
eth0 no-gre proxy
eth1 no-host qos
gprs no-ipsec radius
gre no-iptables redirect
host no-isdn rip
hostname no-log route
ipsec no-loopback snmp
iptables no-ntp source-nat
isdn no-ospf timezone
log no-ppp trigger
loopback no-qos vrrp
root@Imola>

Figura 3: autocompletamento del comando ed elencazione parametri accettati alla pressione del tasto <TAB>

root@Imola> set eth1


Usage: set eth1 keyword <value>
set eth1 ipaddr <value> [netmask <value>] [broadcast <value>] [mtu <value>]
set eth1 broadcast <value>

28
CONFIGURAZIONE DI IMOLA Imola User Guide

set eth1 dhcp-client


set eth1 dhcp-server....
set eth1 netmask <value>
set eth1 no-dhcp-client
set eth1 no-dhcp-server
set eth1 description
set eth1 no-description
set eth1 speed <value>
set eth1 on
set eth1 off
root@Imola>

Figura 4: help in linea automatico per comandi inseriti in modo non corretto

Le regole base per il setup di una interfaccia o di un servizio sono sostanzialmente di


configurazione e di successiva attivazione dei parametri configurati.

I comandi si suddividono in 3 categorie:

il comando per la configurazione set <opzioni>


il comando per la visualizzazione show <opzioni>
i comandi di gestione e amministrazione.

Il comando:
show version

visualizza la versione del firmware installata sul router, mentre il comando:

show system

visualizza i dettagli hardware e software del router e la lista completa dei servizi disponibili con la
data e il numero di versione.

GESTIONE DELLE PASSWORD CIFRATE

Introduzione
Grazie a questa funzionalit possibile visualizzare le password in modalit cifrata. Le password
originali vengono nascoste all'utente che non autorizzato a conoscerle, in questo modo possono
essere utilizzate per impostare configurazioni analoghe su router differenti.

E una funzionalit utile soprattutto in quei casi in cui si ha la necessit di delegare a soggetti terzi
la configurazione di apparati e contemporaneamente non si vuole che questi soggetti vengano a
conoscenza di eventuali password o chiavi di accesso per specifici servizi.

La cifratura delle password applicata a tutte le password di sistema, incluso password di


autenticazione, secret key e Border Gateway Protocol neighbor password.

Comandi di configurazione
La sequenza dei comandi per ottenere una configurazione con password cifrate la seguente:

Applicare la configurazione desiderata utilizzando le password in chiaro


Abilitare la cifratura delle password
Visualizzare la configurazione
29
CONFIGURAZIONE DI IMOLA Imola User Guide

Sintassi del comando


set crypted-passwords (on|off)

permette di abilitare (on) o disabilitare (off) la visualizzazione cifrata delle password.

Quando disabilitato, la visualizzazione delle password potr essere in chiaro o utilizzando la


notazione con * in base ai privilegi dellutente.

N.B.: La visualizzazione in chiaro della password avviene solo se la stessa stata precedentemente impostata
in modalit in chiaro, altrimenti, se si utilizzata la modalit cifrata, verr visualizzata sempre e solo cifrata
indIPendentemente dallabilitazione o meno della funzionalit crypted-passwords.

I comandi che utilizzano le password cifrate hanno sempre il prefisso crypted- (vedi esempio).

E possibile ripristinare una configurazione con le password in chiaro digitando il comando con la
password in chiaro oppure riportando la configurazione relativa a questo modulo ai parametri di fabbrica.

Configurazione login/password PPP:

set ppp login pppuser password tiesse


set crypted-passwords on
show config current
...
set PPP login PPPuser crypted-password 6XY4+Gzy

Esempio di configurazione di un server RADIUS:


set radius authhost 1.2.3.4
set radius secret 1.2.3.4 mypassword
set radius on

Eseguendo
set crypted-passwords on
show config current radius

avremo la seguente visualizzazione:


set radius authhost 1.2.3.4
set radius crypted-secret 1.2.3.4 0V6Povfs4/Q=
set radius on

utilizzando il comando set radius crypted-secret 1.2.3.4 0V6Povfs4/Q= su un qualsiasi


router Tiesse, esso sar in grado di riconoscere e cifrare automaticamente il secret "mypassword"
perper il server RADIUS 1.2.3.4.

Per ripristinare la modalit di visualizzazione delle password in chiaro occorre resettare la


configurazione del modulo:
restore factory radius

PROCEDURA DI PASSWORD RECOVERY


Se si utilizza il collegamento seriale possibile utilizzare una login particolare che consente
laccesso al router senza chiedere la password in modo da poter effettuare il ripristino della
configurazione di fabbrica.

30
CONFIGURAZIONE DI IMOLA Imola User Guide

Nel router Imola presente una login di default impostata direttamente dalla fabbrica che non
possibile modificare. Qualora necessiti, sar possibile concordare con il cliente una password di
recovery personalizzata.

REBOOT DEL ROUTER


Per effettuare il riavvio del router disponibile il comando:
reboot

Al riavvio, tutte le modifiche non salvate, tramite il comando save, verranno perse. E' possibile
programmare un reboot a tempo, specificando dopo quanti secondi questo deve essere eseguito:
schedule-reboot wait N

Il controllo viene restituito all'utente, in modo che possono essere eseguiti eventuali altri comandi,
oppure per terminare la sessione corrente.

Per annullare loperazione di reboot programmata disponibile il comando:

no-schedule-reboot

Si raccomanda di non effettuare salvataggi della configurazione quando programmata


loperazione di reboot.

31
INTERFACCIA ETHERNET Imola User Guide

INTERFACCIA ETHERNET

CONFIGURAZIONE DELLINTERFACCIA
Le interfacce Ethernet di Imola sono denominate eth0ed eth1. Linterfaccia eth0 quella pi a
sinistra, normalmente viene utilizzata come porta di servizio, delegando le attivit di rete
all'interfaccia eth1. Se presente, lo switch LAN collegato alla porta eth1. Sui modelli LX, leventuale
switch LAN con 4 porte collegato invece alla porta eth0. Per impostare l'indirizzo IP di
un'interfaccia ethernet si utilizza il seguente comando CLI:

set eth0|eth1 ipaddr <ip_address> [netmask <netmask> broadcast <broadcast>]

Ad esempio, per configurare un'interfaccia eth0 con indirizzo IP 10.10.9.1/16, specificandone il


broadcast, si procede come nel seguente modo:
set eth0 ipaddr 10.10.9.1 netmask 255.255.0.0 broadcast 10.10.255.255

E possibile impostare un indirizzo di tipo IPv6 mediante il comando:


set eth0 ipv6addr X:X::X:X/M

Per attualizzare i parametri impostati necessario eseguire il comando:

set eth0|eth1 on

Per disattivare un'interfaccia ethernet si usa il comando:


set eth0|eth1 off

Per configurare il default gateway il comando :

set last-resort-gateway <gw_ip_address>

mentre per rimuoverlo:

set no-last-resort-gateway

Ad esempio, per impostare l'indirizzo 10.10.254.254 come gateway di default pu essere


impiegata la seguente linea di comando:

set last-resort-gateway 10.10.254.254

mentre per rimuovere lo stesso default gateway:

set no-last-resort-gateway

possibile, per ciascuna interfaccia ethernet, impostare o rimuovere il servizio DHCP Client
mediante i comandi:
set eth0|eth1 dhcp-client
set eth0|eth1 no-dhcp-client

inoltre possibile configurare le due interfacce ethernet in modalit Transparent Bridge IEEE 802.1d
mediante il comando:
set eth0 bridge

In questo modo il router viene visto con lo stesso indirizzo IP sia attraverso la porta eth0 che
attraverso la eth1. Per ripristinare invece la configurazione con due porte si usa:

set eth0 no-bridge

Per aggiungere una voce alla lista degli host si utilizza il seguente comando CLI:

32
INTERFACCIA ETHERNET Imola User Guide

set host <ip_address> <HOSTNAME>

mentre per effettuarne la rimozione:


set no-host <ip_address>

Ad esempio, per aggiungere l'host 10.7.10.10 con hostname MyHost:

set host 10.7.10.10 MyHost

e per cancellarlo dalla lista:


set no-host 10.7.10.10

Inoltre possibile attivare, su ciascuna interfaccia ethernet, uno o pi indirizzi secondari,


denominati alias. Per impostare o rimuovere una alias interface si utilizza il seguente comando CLI:

set alias|no-alias <interface> ipaddr <alias_ip_addr> netmask <netmask>

Ad esempio, per impostare e rimuovere l'alias per l'interfaccia eth0 con indirizzo IP 10.10.10.3/24
si procede come nel seguente esempio:

set alias eth0 ipaddr 10.10.10.3 netmask 255.255.255.0


set no-alias eth0 ipaddr 10.10.10.3 netmask 255.255.255.0

Se lindirizzo da aggiungere di tipo IPv6 il comando diventa:

set no-alias eth0 ipv6addr X:X::X:X/M

possibile disattivare la funzione di ip-redirect mediate il comando:

set eth0 ip-redirect

oppure disabilitarla mediante

set eth0 no-ip-rediect

possibile attivare (o disattivare) una descrizione dell'interfaccia ethernet, restituita dall'agent


SNMP (se configurato ed attivato) ad interrogazioni della variabile della Mib_II ifDescr, con i seguenti
comandi:
set eth0|eth1 description|no-description <my description>

possibile impostare il tipo di connessione ethernet, disattivando la procedura di


autonegoziazione:

set eth0|eth1 speed <value>

dove value pu assumere uno dei seguenti valori:


100BaseT4 100BaseTx-FD 10BaseT 10BaseT-HD
100BaseTx 100BaseTx-HD 10BaseT-FD

Nel caso in cui sia presente lo switch i parametri della connessione dovranno essere impostati
mediante appositi comandi descritti nella sezione relativa alle funzioni di Switch.

Sui modelli di router Imola-LX oppure Lipari presente solamente la porta eth0.

COMANDO DETECT-LINK-STATE
E da tenere presente che una volta configurata, linterfaccia Ethernet sempre disponibile
indipendentemente dal suo stato operativo: il router risponde sempre ad eventuali richieste che
arrivano sullindirizzo IP associato allinterfaccia. Se tali richieste vogliono essere inibite, occorre
utilizzare il comando:

33
INTERFACCIA ETHERNET Imola User Guide

detect-link-state <interface-name>4

grazie al quale il router abilita linterfaccia specificata solamente se lo stato operativo di essa
attivo (i.e., presente il cavo di collegamento).

Oltre alle interfacce LAN, tale comando vale per tutte le interfacce configurate, in particolare vale
anche per le VLAN.

VISUALIZZAZIONE STATO INTERFACCIA


Per visualizzare la configurazione di un'interfaccia ethernet viene impiegato il seguente comando
CLI:

show interface ethernet eth0|eth1 config|statistics|status

In particolare con l'argomento config vengono visualizzati i seguenti dati dell'interfaccia in oggetto:

Indirizzo IP
Netmask
Broadcast
MAC_Address

Specificando l'argomento statistics vengono visualizzate le statistiche relative all'interfaccia in


oggetto. Infine, mediante l'argomento status viene visualizzato lo stato dell'interfaccia ethernet
specificata.

Per visualizzare la tabella di routing possibile impiegare il comando CLI:


show route

Per visualizzare lARP table si usa il comando:


show arp

Per visualizzare i sistemi adiacenti di tipo IPv6 si usa il comando:


show ipv6 neighbor

Infine possibile visualizzare gli alias impostati su un router Imola mediante il comando CLI
show alias

mentre per visualizzare l'elenco degli hosts aggiunti su un router Imola viene impiegato il comando
show hosts

Seguono alcuni esempi significativi degli output a video dei comandi descritti nel presente
paragrafo.

root@Imola> show interface ethernet eth0 config

IP Address: 11.11.1.1
Netmask: 255.255.0.0
Broadcast: 11.11.255.255
MAC Address: 00:0D:5A:04:6F:F6
DHCP-Client: no

4
Affinch il comando venga eseguito anche al reboot del router occorre impostare il comando set autocmd detect-link-
state <ifname>

34
INTERFACCIA ETHERNET Imola User Guide

root@Imola> show interface ethernet eth0 statistics

6: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100


link/ether 00:0D:5A:04:6F:F6 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
1578722 15255 0 0 0 0
TX: bytes packets errors dropped carrier collsns
3659952 13964 0 0 0 0
inet 11.11.1.1/16 brd 11.11.255.255 scope global eth0

root@Imola> show interface ethernet eth0 status


eth0: negotiated 100baseT4 flow-control, link ok

root@Imola> show route

Kernel IP routing table


Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 1.1.1.1 255.255.255.0 UG 40 0 0 eth1
1.1.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1
11.11.0.0 0.0.0.0 255.255.0.0 U 40 0 0 eth0
10.10.0.0 1.1.1.1 255.255.0.0 UG 40 0 0 eth1

root@Imola> show alias


eth0 ipaddr 11.11.10.10 netmask 255.255.0.0
eth0 ipaddr 7.113.10.10 netmask 255.255.255.0

SIGNIFICATO LED INTERFACCIA ETHERNET


Sul connettore RJ45 dell'interfaccia Ethernet sono presenti due led: a sinistra di colore giallo, a
destra di colore verde. L'accensione del led di colore giallo indica che l'interfaccia ethernet
connessa alla velocit di 100Mbps. L'accensione a intermittenza del led verde, invece, indica attivit
di LAN.

TRIGGER ETHERNET
E possibile definire delle azioni da eseguire al variare dello stato dellinterfaccia operativa delle
porte ethernet mediante i comandi:
set trigger eth0 up <action>
set trigger eth0 down <action>
set trigger eth1 up <action>
set trigger eth1 down <action>

dove <action> pu essere un qualsiasi comando CLI supportato da Imola. Una sequenza di azioni
viene configurata mediante una sequenza di comandi:

35
INTERFACCIA ETHERNET Imola User Guide

set trigger eth0 up <action1>


set trigger eth0 up <action2>
set trigger eth0 up <actionN>

Lesecuzione delle azioni avviene secondo lordine con cui sono state impostate. Ad esempio
mediante i comandi:
set trigger eth0 up logger Ethernet0 is up
set trigger eth0 down logger Ethernet0 is down

viene effettuato il log di un messaggio che indica la variazione dellinterfaccia operativa della porta
Ethernet eth0.

Per cancellare un trigger si utilizzano i comandi:

set no-trigger eth0 up <action>


set no-trigger eth0 down <action>

TRIGGER DHCP CLIENT


Nel caso sia configurato il DHCP Client, possibile definire delle azioni da eseguire quando viene
ottenuto un indirizzo IP e delle azioni da eseguire quando questo viene rilasciato mediante i
comandi:
set trigger dhcp up <action>
set trigger dhcp down <action>

dove <action> pu essere un qualsiasi comando CLI supportato da Imola. Lesecuzione delle
azioni avviene secondo lordine con cui sono state impostate.

Ad esempio mediante i comandi:


set trigger dhcp up logger We got an address
set trigger dhcp up ip route add 131.151.10.12 via 10.10.254.254
set trigger dhcp down logger ethernet is not ready

si effettua il logging di un messaggio che indica che stato ottenuto un indirizzo IP e si aggiunge
una rotta statica verso un host. Quando lindirizzo viene rilasciato si logga un messaggio. Per
cancellare il trigger si utilizzano i comandi:

set no-trigger dhcp up <action>


set no-trigger dhcp down <action>

GESTIONE PORTE ETHERNET: MII-TOOL


Il comando mii-tool verifica o imposta lo stato delle interfacce Fast Ethernet eth0 e eth1 e delle 5
interfacce dello switch integrato (denominate rispettivamente eth1, eth2, eth3, eth4 ed eth5). Il
comando viene usato prevalentemente per scopi diagnostici.

Attivato con le apposite opzioni, le funzionalit offerte dal comando sono sostanzialmente le
seguenti:

effettuare il reset della porta, forzando la velocit di negoziazione a 10Mbps


forzare il restart della autonegoziazione
fissare la velocit della porta ad uno specifico valore

36
INTERFACCIA ETHERNET Imola User Guide

effettuare il restart della negoziazione, specificando per le velocit accettate dalla porta
modificare la funzionalit di crossover delle porte switch
effettuare il monitor dello stato delle porte

La modalit operativa del comando la seguente:


mii-tool [<opzione>] [<parametro>] <interfaccia>

Di seguito sono descritte le opzioni ed i parametri accettati:

Opz. parametri uso

-r - restart autonegoziazione

resetta linterfaccia alla configurazione di default e fissa la velocit


-R -
di negoziazione a 10Mbps
100baseTx-FD,
100baseTx-HD, disabilita l'autonegoziazione e forza la velocit della porta al valore
-F
10baseT-FD, indicato
10baseT-HD
100baseTx-FD,
100baseTx-HD, abilita e fa rIPartire la procedura di autonegoziazione, specificando
-A
10baseT-FD, per le sole velocit accettate
10baseT-HD
permette di modificare le caratteristiche relative alla funzionalit di
crossover delle porte switch; il valore dei parametri indica:
-C 0|1|2 0 crossover disabilitato (tx: TXP/TXN, rx: RXP/RXN)
1 crossover forzato (tx: RXP/RXN, rx: TXP/TXN)
2 automatic crossover

-v -- visualizza lo stato e la configurazione della porta specificata

Nellesempio di seguito si verifica lo stato della porta eth2 disabilitando la modalit di crossover :

root@Imola> mii-tool -v eth2


eth2: no link
bmcr=1000, bmsr=7849, advert=5e1 lkpar=0
registers for MII PHY 17:
4130 0010 0000 0050 0000 0000 4584 30cc
42bf 0000 0000 0000 0002 0000 0000 0000
product info: vendor 00:50:43, model 8 rev 7
basic mode: autonegotiation enabled
basic status: no link
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
root@Imola>
root@Imola> mii-tool -C 0 eth2
Crossover Register before change = 0x4130
Crossover Register after change = 0x4100
restarted auto negotiation...
root@Imola> set autocmd mii-tool -C 0 eth2
cmd "mii-tool -C 0 eth2" stored.

A seconda del valore assunto dal campo 17 del registro MII possiamo capire la configurazione della
funzionalit di crossover:
4130 automatic crossover abilitato
4110 crossover forzato manualmente
4100 crossover disabilitato manualmente
37
INTERFACCIA ISDN Imola User Guide

INTERFACCIA ISDN

COMANDI PER LA CONFIGURAZIONE


DELLINTERFACCIA ISDN
L'interfaccia ISDN di Imola pu essere utilizzata per attivare dei circuiti di comunicazione di tipo
temporaneo tra due punti terminali (per esempio tra due Imola). La sua configurazione basata
sulle dialer map.

Una dialer map una interfaccia logica che consente una connessione (in uscita o in ingresso)
verso un utente remoto.

La configurazione di fabbrica di Imola prevede 2 dialer map:

ippp0 accetta chiamate in ingresso


ippp1 consente di effettuare chiamate in uscita

Le chiamate in uscita possono essere attivate automaticamente o manualmente.

L'attivazione automatica delle chiamate in uscita consente ad Imola di agire in modalit di dial on
demand router.

I parametri fondamentali per la configurazione delle dialer map sono sostanzialmente:

la modalit di gestione delle chiamate, che pu essere incoming (in questo caso la dialer
accetter solo chiamate in ingresso) o outgoing (che consente la sola esecuzione di
chiamate in uscita)
la modalit di esecuzione delle chiamate in uscita, che pu essere automatica o manuale
il numero di telefono cui connettersi (per le chiamate in uscita)
login e password per l'autenticazione delle chiamate in uscita
login e password per l'autenticazione delle chiamate in ingresso

Per l'attivazione automatica delle chiamate in uscita dovr essere necessario configurare una
interfaccia IP associata alla outgoing dialer map.

Le chiamate in uscita verranno attivate solo nel momento in cui il processo di routing avr stabilito
che un pacchetto necessita di essere trasmesso sullinterfaccia ISDN.

La configurazione di una dialer map (per esempio la dialer ippp0) che accetti esclusivamente
chiamate in ingresso viene effettuata con l'utilizzo dei seguenti comandi:
set isdn dialer ippp0 eaz all
set isdn dialer ippp0 in-number <value> [<value>]
set isdn dialer ippp0 accept-remote-ip
set isdn dialer ippp0 dialmode manual
set ppp login <user> password <password>
set isdn dialer ippp0 on

Il comando set isdn dialer IPPP0 eaz <all|number> viene utilizzato per configurare il
numero di telefono che accetter le connessioni in ingresso: solo le chiamate entranti destinate a
quel numero saranno accettate.

La chiave all consente di accettare le chiamate a prescindere dal numero chiamato.

38
INTERFACCIA ISDN Imola User Guide

Se viene configurato un numero di telefono non esistente, per esempio il numero 999999, la dialer
map rifiuter qualsiasi chiamata che non sia destinata a quel numero ed essendo il numero non
esistente, di conseguenza sar rifiutata qualsiasi chiamata.
set isdn dialer ippp0 in-number <numero numero>

permette di specificare una lista di numeri chiamante dai quali accettare le chiamate ISDN (Calling
Line Identification).
set isdn dialer ippp0 no-in-number

consente di accettare le chiamate a prescindere dal numero chiamante.

set ppp login <user> password <password>

viene utilizzato per popolare il database di autenticazione degli utenti.

Il database sar utilizzato durante la fase di autenticazione delle chiamate in uscita ed in ingresso.

Per verificare la configurazione della dialer appena attivata pu essere utilizzato il comando show
interface ISDN dialer ippp0, il cui output viene mostrato nella seguente figura:

root@Imola> show interface isdn dialer ippp0


Current setup of interface 'ippp0':
EAZ/MSN: *
Phone number(s):
Outgoing: 0125629552
Incoming:
Dial mode: manual
Secure: off
Callback: off
Reject before Callback: off
Callback-delay: 5
Dialmax: 1
Hangup-Timeout: 60
Incoming-Hangup: on
ChargeHangup: off
Charge-Units: 0
Charge-Interval: 0
Layer-2-Protocol: hdlc
Layer-3-Protocol: trans
Encapsulation: syncppp
Login: pppuser
Accept Remote IP: yes
Set Local IP: no
Default Route: no
Masquerade: no
---------------------------------------
ippp0 is not connected
8: ippp0: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 30
link/ppp
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0

La configurazione di una dialer map che consenta di effettuare le sole chiamate in uscita viene
effettuata con l'utilizzo dei seguenti comandi:
set isdn dialer ippp1 eaz 999999

39
INTERFACCIA ISDN Imola User Guide

set isdn dialer ippp1 out-number <number>


set isdn dialer ippp1 login <user> password <passwrd>
set isdn dialer ippp1 huptimeout 120
set isdn dialer ippp1 ipaddr 1.1.1.1 nexthop 2.2.2.2
set isdn dialer ippp1 masquerade
set isdn dialer ippp1 accept-remote-ip
set isdn dialer ippp1 no-accept-local-ip
set isdn dialer ippp1 dialmode manual
set isdn dialer ippp1 default-route
set isdn dialer ippp1 on
Il comando
set isdn dialer ippp1 eaz <all|number>

viene utilizzato per configurare il numero di telefono che accetter le connessioni in ingresso: solo
le chiamate entranti destinate a quel numero saranno accettate. La chiave all consente di accettare
le chiamate provenienti da qualsiasi numero.

Se viene configurato un numero di telefono non esistente, per esempio il numero 999999, la dialer
map rifiuter qualsiasi chiamata che non sia destinata a quel numero ed essendo il numero non
esistente, di conseguenza sar rifiutata qualsiasi chiamata, stabilendo in questo modo che la dialer
ippp1 usata solo per chiamate uscenti.
set isdn dialer ippp1 out-number <number>

viene utilizzato per configurare il numero di telefono verso il quale la dialer map si dovr
connettere.

set isdn dialer ippp1 login <user>

viene utilizzato per configurare l'utente che sar utilizzato per l'autenticazione al momento della
connessione al numero di telefono chiamato.
set isdn dialer ippp1 ipaddr 1.1.1.1 nexthop 2.2.2.2

consente la configurazione di una interfaccia IP associata alla outgoing dialer map. Nel caso in cui
gli indirizzi saranno assegnati dal sistema remoto, pu essere usata la forma: set isdn dialer
IPPP1 IPaddr 0.0.0.0

set isdn dialer ippp1 masquerade

viene utilizzato per consentire linvio dei pacchetti IP utilizzando come indirizzo IP sorgente
lindirizzo locale associato alla dialer, ovvero sullinterfaccia dialer verranno effettuate operazioni di
NATP.
set isdn dialer ippp1 accept-remote-ip
e
set isdn dialer ippp1 accept-local-ip

definiscono la modalit in base alla quale verrano assegnati gli indirizzi sullinterfaccia ippp1. Il
funzionamento descritto in seguito.

set isdn dialer ippp1 dialmode manual

viene utilizzato per stabilire la modalit di attivazione della chiamata: la modalit manual consente
la attivazione della chiamata solo in modo manuale, mediante il comando isdnctrl dial IPPP1;
invece la modalit auto consente di attivare la chiamata ISDN in maniera automatica sulla prima
richiesta di trasmissione sullinterfaccia ippp1.

40
INTERFACCIA ISDN Imola User Guide

Si pu stabilire quali pacchetti potranno attivare in maniera automatica la connessione ISDN


mediante il comando:
set access-list dial-isdn prot <prot> port <value> from <src> to <src>

descritto nel capitolo relativo alle access list.

set isdn dialer ippp1 default-route

viene utilizzato per configurare una rotta di instradamento di default sulla dialer ippp1. La rotta
sar attivata solo se la modalit di dial auto (set isdn dialer IPPP1 dialmode auto) oppure
nel momento in cui la chiamata viene instaurata.

Per verificare la configurazione della dialer attivata:

root@Imola> show interface isdn dialer ippp1


Current setup of interface 'ippp1':
EAZ/MSN: 999
Phone number(s):
Outgoing: 0125629552
Incoming:
Dial mode: manual
Secure: off
Callback: off
Reject before Callback: off
Callback-delay: 5
Dialmax: 1
Hangup-Timeout: 60
Incoming-Hangup: on
ChargeHangup: off
Charge-Units: 0
Charge-Interval: 0
Layer-2-Protocol: hdlc
Layer-3-Protocol: trans
Encapsulation: syncppp
Login: pppuser
Accept Remote IP: yes
Set Local IP: no
Default Route: no
Masquerade: no
---------------------------------------
ippp1 is not connected
9: ippp1: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 30
link/ppp
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0

inoltre possibile utilizzare entrambi i canali ISDN sulla singola connessione logica (connessione
multilink). Per abilitare la connessione multilink possono essere utilizzati i comandi:
set isdn dialer ippp1 multi-link

Il secondo canale, denominato slave, deve essere attivato al momento della connessione del canale
master. Per questa operazione pu essere utilizzato il comando:

set trigger isdn up isdnctrl addlink ippp1

Il canale slave verr disconnesso automaticamente al momento dellabbattimento del canale master.

41
INTERFACCIA ISDN Imola User Guide

Al momento della attivazione del canale master possibile verificare lattivazione dei due canali:

root@Imola> isdnctrl list ippp1


Current setup of interface 'ippp1':

EAZ/MSN: 999
Phone number(s):
Outgoing: 0125201010
Incoming:
Dial mode: manual
Secure: off
Callback: off
Reject before Callback: off
Callback-delay: 5
Dialmax: 1
Hangup-Timeout: 60
Incoming-Hangup: on
ChargeHangup: off
Charge-Units: 0
Charge-Interval: 0
Layer-2-Protocol: hdlc
Layer-3-Protocol: trans
Encapsulation: syncppp
Slave Interface: ippp62
Slave delay: 10
Slave trigger: 6000 cps
Master Interface: None
Pre-Bound to: Nothing
PPP-Bound to: 1
root@Imola> show interface isdn status
isdn Status and Statistics:
irq=28 io=24000000 led=25000000
link status = up, chan B1 status = active, chan B2 status = active
link up = 00000009, link down = 00000009
chan B1 activations = 00000008, chan B1 deactivations = 00000007
chan B2 activations = 00000007, chan B2 deactivations = 00000006
D-frames rcvd = 00000533, D-frames sent = 00000188, D-rxowf = 00000000
B1-frames rcvd = 00000350, B1-frames sent = 00000172, B1-rxowf = 00000000
B2-frames rcvd = 00000056, B2-frames sent = 00000056, B2-rxowf = 00000000

E` possibile configurare, sia per le chiamate in ingresso che per le chiamate in uscita, la modalit di
subaddressing. Per accettare le chiamate in ingresso solo se corredate dal subaddress 400:
set isdn dialer ippp0 eaz *.400

Per effettuare le chiamate in uscita verso un determinato numero (0125230544) associando il


subaddress 500:
set isdn dialer ippp1 out-number 0125230544.500

Nel caso di utilizzo del router collegato a linee ISDN di tipo punto-punto, invece che punto-multi-
punto, occorre impostare il comando:

set isdn mode point-to-point

Invece il comando:

set isdn mode multi-point

passa alla modalit multi-point.

42
INTERFACCIA ISDN Imola User Guide

Vengono di seguito riportati alcuni esempi di configurazione in base alla modalit con cui devono
essere assegnati gli indirizzi dellinterfaccia ippp1. I casi sono:

indirizzo locale e indirizzo nexthop entrambi assegnati da Imola stesso


indirizzo locale ed indirizzo nexthop entrambi assegnati dal sistema remoto (RAS)
Imola stabilisce il suo indirizzo mentre il nexthop viene assegnato dal RAS.

I seguenti comandi sono comuni a tutti e tre gli esempi:


set isdn dialer ippp1 eaz 999999
set isdn dialer ippp1 out-number 0125230544
set isdn dialer ippp1 login isdnuser password isdnpasswd
set isdn dialer ippp1 huptimeout 120
set isdn dialer ippp1 masquerade
set isdn dialer ippp1 dialmode auto
set isdn dialer ippp1 default-route

Indirizzo locale e indirizzo nexthop entrambi assegnati da Imola stesso


set isdn dialer ippp1 ipaddr 1.1.1.1 nexthop 1.1.1.2
set isdn dialer ippp1 no-accept-remote-ip
set isdn dialer ippp1 accept-local-ip
set isdn dialer ippp1 on

Sia prima che dopo la chiamata ISDN linterfaccia si presenta nel modo seguente:

root@Imola> show interface isdn dialer ippp1 statistics


19: ippp1: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 30
link/ppp
RX: bytes packets errors dropped overrun mcast
311 22 0 0 0 0
TX: bytes packets errors dropped carrier collsns
305 22 0 0 0 0
inet 1.1.1.1 peer 1.1.1.2/32 scope global ippp1

Indirizzo locale ed indirizzo nexthop entrambi assegnati dal sistema remoto

set isdn dialer ippp1 ipaddr 0.0.0.0


set isdn dialer ippp1 accept-remote-ip
set isdn dialer ippp1 no-accept-local-ip
set isdn dialer ippp1 on

Dopo lattivazione della sessione ISDN linterfaccia IPPP1 si presenta nel modo seguente:

root@Imola> show interface isdn dialer ippp1 statistics


19: ippp1: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 30
link/ppp
RX: bytes packets errors dropped overrun mcast
311 22 0 0 0 0
TX: bytes packets errors dropped carrier collsns
305 22 0 0 0 0
inet 1.1.1.1 peer 2.2.2.1/32 scope global ippp1

43
INTERFACCIA ISDN Imola User Guide

Indirizzo locale assegnato da Imola ed indirizzo nexthop assegnato dal sistema remoto

set isdn dialer ippp1 ipaddr 1.1.1.1


set isdn dialer ippp1 accept-remote-ip
set isdn dialer ippp1 accept-local-ip
set isdn dialer ippp1 on

disponibile inoltre un comando che consente di verificare lo storico delle chiamate effettuate e
ricevute:

root@Imola> show interface isdn history


--------------------------------------------------------------------------
Call Calling Called Sec. Setup Term. Txed Rxed
Type Number Number Used Time Cause Bytes Bytes
--------------------------------------------------------------------------
In 125230544 125633581 32,480 8 - 223 223
Out 123456789 0125201010 0,990 166 16 181 154
Out 12345678 0125201010 0,990 166 16 181 154
Out 12345678 0125201010 0,290 128 16 0 0
Out 12345678 0125201010 12,550 157 16 181 262
Out 12345678 0125201010 12,220 155 16 181 262
Out 12345678 0125629552 N/A - 146 0 0
Out 12345678 0125629552 N/A - 146 0 0

Vengono indicati:

Call Type tipo chiamata (incoming/outgoing)


Calling Number numero di telefono chiamante
Called Number numero di telefono chiamato
Sec. Used tempo di occupazione della linea
Setup Time durata setup ISDN
Term. Cause codice della causa della disconnessione
Txed Bytes/Rxed Bytes byte trasmessi e ricevuti

Per quanto riguarda il codice riportato nella colonna Term. Cause, il valore identifica la modalit di
chiusura della chiamata: se la disconnect viene effettuata a seguito di un evento remoto, il codice di
chiusura sar maggiore di 128.

show interface isdn active-calls

vengono visualizzate le chiamate attive al momento dellesecuzione del comando.

possibile attivare una descrizione dell'interfaccia ISDN, restituita dall'agent SNMP (se configurato
ed attivato) ad interrogazioni della variabile della Mib_II ifDescr, con il comando:

set isdn description <value>

anche possibile configurare messaggi differenti per ciascuna dialer:

set isdn dialer ippp0 description <value>

Infine il comando nativo isdnctrl, descritto nel seguito del manuale, pu essere utilizzato per
gestire direttamente le dialer ISDN.

Per stabilire invece quale traffico deve innescare la chiamata ISDN, si usa il comando set access-
list dial-isdn, in una delle seguente forme:

set access-list dial isdn prot <prot> port <value> from <sorgente> to <destinazione>
44
INTERFACCIA ISDN Imola User Guide

set access-list dial isdn prot <prot> sport <value> from <sorgente> to <destinazione>

Di seguito alcuni esempi di utilizzo:


set access-list dial-isdn prot icmp from this to 5.5.5.5

Un comando di ping emesso localmente (in uscita dal router: sorgente uguale alla keyword this)
verso 5.5.5.5 attiva la chiamata ISDN.
set access-list dial-isdn prot icmp from this to 5.5.0.0/16

per indicare la sottorete 5.5.0.0/16.

set access-list dial-isdn prot icmp from any to 5.5.5.5


set access-list dial-isdn prot icmp from any to 5.5.5.0/24

Tutti i pacchetti ICMP in transito (sorgente uguale alla keyword any) verso 5.5.5.5 oppure
5.5.5.0/24 attivano la chiamata ISDN.
set access-list dial-isdn prot udp port all from any to any

Tutti i pacchetti UDP in transito dal router, provenienti da qualsiasi sorgente verso qualsiasi
destinazione attivano la chiamata ISDN.
set access-list dial-isdn prot udp port 2000:4000 from any to any

per indicare tutti i pacchetti UDP con porta destinataria compresa tra 2000 e 4000.

set access-list dial-isdn prot udp sport 1010 from this to 7.7.7.7

per indicare tutti i pacchetti originati localmente (keyword this) con porta sorgente 1010 verso
7.7.7.7.

Tale comando pu essere utilizzato anche per il protocollo TCP-IP.

SIGNIFICATO LED ISDN


Lo stato dellinterfaccia ISDN viene indicato mediante 2 led di colore giallo (sinistra) e verde (destra)
posti ai lati del connettore.

Laccensione del led giallo indica che il livello fisico ISDN attivo.

Laccensione del led verde indica invece l'attivit di almeno una sessione ISDN.

TRIGGER ISDN
E possibile definire delle azioni da eseguire quando viene attivata e deattivata una chiamata ISDN,
rispettivamente mediante i comandi5:

set trigger isdn up <action>


set trigger isdn down <action>

dove <action> pu essere un qualsiasi comando CLI supportato da Imola. Una sequenza di azioni
viene configurata mediante una sequenza di comandi:
set trigger isdn up <action1>
set trigger isdn up <action2>

5
I comandi di trigger hanno significato ed effetto solamente sulla dialer map ippp1. Sono ininfluenti se la dialer attiva
invece ippp0

45
INTERFACCIA ISDN Imola User Guide

set trigger isdn up <actionN>

Lesecuzione delle azioni avviene secondo lordine con cui sono stati impostati.

Ad esempio mediante la sequenza di comandi:

set trigger isdn up ip route add 12.12.12.12 dev ippp1


set trigger isdn up logger r 10.10.1.212 isdn is up
set trigger isdn down ip route del 12.12.12.12 dev ippp1
set trigger isdn down logger r 10.10.1.212 isdn is down

si imposta una rotta statica verso lhost 12.12.12.12 e si invia il messaggio di log isdn is up
quando la connessione ISDN viene attivata, mentre si elimina la rotta e si invia il messaggio di log
isdn is down quando la sessione ISDN viene terminata.

Per cancellare un trigger si utilizzano i comandi:

set no-trigger isdn up <action>


set no-trigger isdn down <action>

VERIFICA SESSIONE ISDN


isdnchat <numero-di-telefono>

attiva una sessione Q.931 senza innescare la fase di autenticazione PPP. Esso utile per verificare il
funzionamento della sola linea telefonica.
isdnping <ip-address>

ermette di attivare una chiamata sulla dialer ippp1 senza innescare gli effetti collaterali dei trigger.
Ess attiva una connessione ISDN utilizzando i parametri della dialer ippp1 ed esegue una serie di
ping verso l'IP specificato senza l'intervento dei trigger isdn up e isdn down.

Un esempio di utilizzo ed output del comando, in caso di esito positivo, sono visibili nella seguente
figura:

root@IMOLA> isdnping 85.34.166.21


Dialing of ippp2 triggered
PING 85.34.166.18 (85.34.166.18) from 151.71.17.73 ippp2: 56(84) bytes of data.
64 bytes from 85.34.166.18: icmp_seq=0 ttl=56 time=212.459 msec
--- 85.34.166.18 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max/mdev = 212.459/212.459/212.459/0.000 ms
PING 85.34.166.18 (85.34.166.18) from 151.71.17.73 ippp2: 56(84) bytes of data.
64 bytes from 85.34.166.18: icmp_seq=0 ttl=56 time=255.972 msec
64 bytes from 85.34.166.18: icmp_seq=1 ttl=56 time=185.896 msec
64 bytes from 85.34.166.18: icmp_seq=2 ttl=56 time=93.655 msec
64 bytes from 85.34.166.18: icmp_seq=3 ttl=56 time=89.054 msec
64 bytes from 85.34.166.18: icmp_seq=4 ttl=56 time=82.312 msec
64 bytes from 85.34.166.18: icmp_seq=5 ttl=56 time=189.865 msec
64 bytes from 85.34.166.18: icmp_seq=6 ttl=56 time=268.800 msec
64 bytes from 85.34.166.18: icmp_seq=7 ttl=56 time=424.999 msec
64 bytes from 85.34.166.18: icmp_seq=8 ttl=56 time=88.148 msec
64 bytes from 85.34.166.18: icmp_seq=9 ttl=56 time=171.538 msec
--- 85.34.166.18 ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/mdev = 82.312/185.023/424.999/103.606 ms
ippp2 hung up

46
INTERFACCIA ISDN Imola User Guide

Nel caso di esito negativo:

root@IMOLA> isdnping 85.34.199.23


Dialing of ippp2 triggered
PING 85.34.199.23 (85.34.199.23) from 151.71.17.73 ippp2: 56(84) bytes of data.
--- 85.34.199.23 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
PING 85.34.199.23 (85.34.199.23) from 151.71.17.73 ippp2: 56(84) bytes of data.
--- 85.34.199.23 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
PING 85.34.199.23 (85.34.199.23) from 151.71.17.73 ippp2: 56(84) bytes of data.
--- 85.34.199.23 ping statistics ---
10 packets transmitted, 0 packets received, 100% packet loss
ippp2 hung up

CONTROLLO DI TRAFFICO
possibile configurare il router in modo da effettuare il controllo del traffico in ingresso ed in
uscita sull'interfaccia ISDN. In particolare si pu configurare un valore di soglia ed innescare degli
eventi quando il traffico in una data unit di tempo superiore od inferiore a tale soglia 6.

set isdn traffic-control input-threshold <N>

Il valore N espresso in byte e rappresenta il valore di soglia per il traffico in ingresso.

set isdn traffic-control output-threshold <N>

Il valore N espresso in byte e rappresenta il valore di soglia per il traffico in uscita.

set isdn traffic-control timer-unit <N>

Il valore N espresso in secondi e rappresenta la frequenza con cui viene effettuato il controllo.

set isdn traffic-control mode or|and

Definisce se il controllo del traffico relativo alla soglia di ingresso e a quella di uscita, oppure alla
soglia di ingresso o a quella di uscita.
set isdn traffic-control prewait <N>

Rappresenta un valore in secondi di attesa prima di iniziare il controllo del traffico.

set isdn traffic-control on|off

Attiva/disattiva il controllo del traffico.

Tipicamente i comandi si usano in concomitanza del comando set trigger isdn-tc per attivare il
secondo canale ISDN. Il seguente esempio ne chiarisce l'utilizzo.
set isdn traffic-control input-threshold 30000
set isdn traffic-control output-threshold 20000
set isdn traffic-control mode or
set isdn traffic-control timer-unit 10
set trigger isdn-tc up isdnctrl addlink ippp1
set trigger isdn-tc down isdnctrl removelink ippp1

6
I comandi di traffic control hanno significato ed effetto solamente sulla dialer map ippp1. Sono ininfluenti se la dialer attiva
invece ippp0.

47
INTERFACCIA ISDN Imola User Guide

set trigger isdn up set isdn traffic-control on


set trigger isdn down set gprs traffic-control off

Il controllo del traffico viene attivato contestualmente all'attivazione della sessione ISDN e
disattivato quando termina la sessione. Si imposta un valore di soglia di 30Kbyte per il traffico in
ingresso ed un valore di 20Kbyte per il traffico in uscita. Il controllo si effettua ogni 10 secondi.

Se in 10 secondi il traffico in ingresso oppure quello in uscita supera il valore di soglia impostato
viene eseguito il comando specificato dal trigger set isdn-tc up, che richiede lattivazione del
secondo canale ISDN. Viceversa, se in 10 secondi il traffico inferiore ai valori di soglia viene
eseguito il comando specificato dal trigger set trigger gprs-tc down.

48
INTERFACCIA ADSL Imola User Guide

INTERFACCIA ADSL

CONFIGURAZIONE
I modelli Imola XX10 supportano solo connessioni ADSL, mentre i modelli XX20 supportano sia
connessioni ADSL che connessioni ADSL2+. Per i modelli XX6X far riferimento al capitolo
Interfaccia VDSL.

In caso di ADSL la massima banda sostenuta :

downstream fino a 8 Mbps


upstream fino a 1 Mbps.

Mentre per ADSL2+ la banda sostenuta :

downstream fino a 24 Mbps


upstream fino a 3.5 Mbps.

Sono supportati fino a 8 PVC (Permanent Virtual Circuit)

conforme ai seguenti standard:

ADSL: G.992.1 (G.dmt) - Annex A (ADSL over POTS), G992.2 (G.lite), ANSI T1.413 issue 2
ATM: ITU T-I.361, ITU T.I.363.5, ITU T-I.432, ITU T.I.610, ITU T-I.731
RFC 2684 (former RFC 1483 MultIProtocol over ATM)
RFC 2364 (PPP over ATM)
RFC 2516 (PPP over Ethernet)

Nei modelli Imola XX20 sono supportati inoltre i seguenti standard:

G.992.3 annexA, B, I, J, L (extended reach), M (double upstream)


G.992.4 g.Lite.bis
G.992.5 annexA, B, C, I, J, M

Il link ADSL configurabile ed attivabile mediante comandi CLI e la configurazione trasparente


rispetto al tipo di ADSL presente.

Per attivare l'interfaccia ADSL disponibile il comando:

set adsl on

Per disattivare l'interfaccia ADSL disponibile il comando:

set adsl off

Per disattivare l'interfaccia ADSL e disabilitarne la configurazione disponibile il comando:


set no-adsl

Prima di attivare l'interfaccia ADSL necessario eseguire alcune operazioni di configurazione,


secondo le indicazioni e i valori forniti dal Provider con cui si stipulato il contratto.

Per configurare il tipo di incapsulamento :

set adsl encap rfc1483-llc|rfc1483-bridged|ppoa-vcmux|PPPoe-llc

Per configurare il numero ed il tipo di PVC:


set adsl pvc_number <value>

49
INTERFACCIA ADSL Imola User Guide

set adsl pvc atmX vpi <value> vci <value>

dove pvc_number pu essere al massimo 87 e di conseguenza atmX dovr essere atm0,


atm1,atm7. Il valore di default di pvc_number 1.

Occorre quindi completare la configurazione di ogni PVC definito.

Per configurare lincapsulamento del pvc :


set adsl pvc atm0||atm7 encap rfc1483-llc|rfc1483-bridged|pppoa-vcmux|pppoe-llc

Per configurare vpi (valore tipico 8) e vci (valore tipico 35):

set adsl pvc atm0||atm7 vpi <value> vci <value>

Nel caso in cui il tipo di incapsulamento sia rfc1483-vcmux oppure rfc1483-llc (protocolli descritti
nella RFC 1483, Multipotocol Encapsulation over ATM Adaptation Layer 5) necessario definire un
indirizzo IP, mediante il comando:

set adsl pvc atm0||atm7 ipaddr <value>

Per rimuovere lindirizzo IP:


set adsl pvc atm0||atm7 no-ipaddr

oppure a seconda delle informazioni ricevute dal Provider, potrebbero essere usati i comandi:

set adsl pvc atm0||atm7 ipaddr <value>


set adsl pvc atm0||atm7 nexthop
set adsl pvc atm0||atm7 netmask <value>
set adsl pvc atm0||atm7 mtu <value>

Per assegnare un indirizzo di tipo IPv6 il comando :


set adsl pvc atm0||atm7 ipv6addr X:X::X:X/M

Opzionalmente pu essere richiesto di abilitare la rotta di default:


set adsl pvc atm0||atm7 default-route

Per abilitare le funzioni di NAT (Network Address Translation):


set adsl pvc atm0||atm7 masquerade

Per rimuovere le opzioni impostate:

set adsl pvc atm0||atm7 no-ipaddr


set adsl pvc atm0||atm7 no-nexthop
set adsl pvc atm0||atm7 no-mtu
set adsl pvc atm0||atm7 no-default-route
set adsl pvc atm0||atm7 no-masquerade

Quando si utilizza invece il tipo di incapsulamento PPPoa (PPP over ATM) oppure PPPoe (PPP over
Ethernet), occorre definire login e password che saranno usate per l'autenticazione:
set adsl login <value> password <value>

Nei modelli Imola XX20 possibile configurare la tipologia di traffico ATM per PVC nel seguente
modo

set adsl pvc atm0||atm7 service <service-type>

7
Per connessioni di tipo PPPoA e PPPoE ammesso un solo PVC.

50
INTERFACCIA ADSL Imola User Guide

dove service-type pu assumere i valori UBR, CBR, VBR e RTVBR. Per il traffico UBR e CBR
possibile specificare un valore di PCR (Peak Cell Rate), mentre per VBR e RTVBR possibile
specificare, oltre al PCR, i valori per SCR (Sustainable Cell Rate) e per MBS (Maximum Burst Size), nel
seguente modo:
set adsl pvc atm0||atm7 pcr <value>
set adsl pvc atm0||atm7 scr <value>
set adsl pvc atm0||atm7 mbs <value>

Il valore indicato per PCR e SCR si esprime in celle/sec, mentre il valore per MBS si esprime in bytes.
Per rimuovere le opzioni impostate:

set adsl pvc atm0||atm7 no-service


set adsl pvc atm0||atm7 no-pcr
set adsl pvc atm0||atm7 no-scr
set adsl pvc atm0||atm7 no-mbs

E possibile variare la lunghezza della coda di trasmissione sullinterfaccia associata al pvc, nel
seguente modo:
set adsl pvc atm0||atm7 qlen <value>

Per rimuovere lopzione:


set adsl pvc atm0||atm7 no-qlen

Per impostare la modalit di linea dello standard ADSL possibile impiegare il comando set ADSL
line-mode, che assume opzioni diverse a seconda del modello di Imola.

Su Imola XX10, le opzioni possono essere: ITU (Europa), ANSI e AUTO (Multimode):

set adsl line-mode itu|ansi|auto

Su Imola XX20, le opzioni possono essere una scelta tra combinazioni dei possibili standard ADSL,
nel seguente modo:
set adsl line-mode adsl2 | adsl2+/adsl2/G.DMT/T1.413 | adsl2 AnnexM | adsl2/G.DMT | adsl2+/adsl2 | G.DMT | adsl2+/adsl2/G.DMT | T1.413

Per rimuovere lopzione:


set adsl no-line-mode

Infine possibile attivare (o disattivare) una descrizione dell'interfaccia ADSL, che sar restituita
dall'agent SNMP (se configurato ed attivato) ad interrogazioni della variabile della Mib_II ifDescr, con
i seguenti comandi:

set adsl description|no-description <value>

Per rimuovere lopzione:

set adsl no-description

Un esempio di sequenza di comandi di configurazione dell'interfaccia ADSL pu essere la seguente:


set adsl encap rfc1483-vcmux
set adsl pvc-number 1
set adsl description muxadsl
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 pcr 0
set adsl pvc atm0 default-route
set adsl pvc atm0 Ipaddr 1.1.1.1 nexthop 2.2.2.2
set adsl on
51
INTERFACCIA ADSL Imola User Guide

VISUALIZZAZIONE
possibile visualizzare informazioni riguardanti la configurazione, i pvc, le statistiche e lo stato
dell'interfaccia ADSL. Il comando CLI il seguente:

show interface adsl config|pvc|statistics|status

Ad esempio, il comando:
show interface adsl config

produce un output a video simile al seguente:

root@Imola> show interface adsl config


Encapsulation: 1483 Routed IP VC_Mux
Number of PVC Configured: 1
Configured Backup isdn
Extended Backup no

Loutput del comando:

show interface adsl pvc atm0

invece:

root@Imola> show interface adsl pvc


Configuration for PVC atm0:
VPI/VCI: 8/35
Peak Cell Rate: 0
Local IP Address: 85.34.147.98
Nexthop IP Address: 85.34.147.97
Default Route on here: yes
Masquerade: yes
26: atm0: <BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:0d:5a:05:02:85 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
446 9 0 0 0 0
inet 85.34.147.98/30 brd 85.255.255.255 scope global atm0
root@Imola>

Nel caso di incapsulamento PPP over ATM oppure PPP over Ethernet loutput del comando il
seguente:

root@Imola> show interface adsl pvc atm0


Configuration for PVC atm0:
VPI/VCI: 8/35
Service category: UBR
Peak Cell Rate: no
Local IP Address: 94.95.231.152
Nexthop IP Address: no
Default Route on here: yes
Masquerade: no
11: atm0: <BROADCAST,MULTICAST,NOARP,UP,10000> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:0d:5a:00:00:00 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast

52
INTERFACCIA ADSL Imola User Guide

17588634 189164 0 0 0 0
TX: bytes packets errors dropped carrier collsns
20510132 216024 0 0 0 0
inet 94.95.231.152/30 brd 94.95.231.155 scope global atm0

Il comando:

show interface adsl status

produce la seguente visualizzazione sui router Imola XX20:

root@Imola> show interface adsl status


General Information
---------------------------------------------------------------------------
FW Revision: 0x061d 0x1235 0x0009

Near End Data Far End Data


Vendor country: 0xb5 0xb5
Vendor code: AWRE BDCM
Vendor product code: 0x5052 0xf2a1

Line Operational Data


---------------------------------------------------------------------------
adsl Standard: ITU-T G.992.5 annex A

Near End Data Far End Data


Attenuation (db): 40.5 22.7
Noise Margin (db): 11.1 14.2
Output Power (dbm): 12.3 19.1
Relative Capacity Occupancy (%): 92 101

Channel Operational Data


---------------------------------------------------------------------------
Near End Data Far End Data
Datarate (Interl/Latency-0) (kb/s): 830 6546
Datarate (Fast/Latency-1) (kb/s): 0 0

Errors Data
---------------------------------------------------------------------------
Near End Data Far End Data
CRC (Interl/Latency-0): 6793 0
CRC (Fast/Latency-1): 0 0
FEC (Interl/Latency-0): 64572 0
FEC (Fast/Latency-1): 0 0
HEC (Interl/Latency-0): 55677 0
HEC (Fast/Latency-1): 0 0
No cell delineation (Bearer-1): yes none

Atm Cell Counter Statistics


---------------------------------------------------------------------------
Rx Tx
Total Cell Count (Bearer-0): 1809151150 229435580
Total Cell Count (Bearer-1): 0 0
User Total Cell Count (Bearer-0): 555032 563454
User Total Cell Count (Bearer-1): 0 0
---------------------------------------------------------------------------

Current modem state: SHOWTIME (for 1 day, 8 hr, 32 min, 57 sec)

53
INTERFACCIA ADSL Imola User Guide

COMANDO OAMPING
Il comando oamping permette di verificare lo stato del collegamento inviando una cella OAM di tipo
F5. Un esempio di utilizzo il seguente:

root@TLC-GTW> oamping flow 5 vpi 8 vci 35


seq 0 response from vpi-vci 8-35 time=28.0 ms
seq 1 response from vpi-vci 8-35 time=27.6 ms
seq 2 response from vpi-vci 8-35 time=28.8 ms

E possible specificare il numero di cella da inviare:

root@TLC-GTW> oamping flow 5 vpi 8 vci 35 count 10


seq 0 response from vpi-vci 8-35 time=27.2 ms
seq 1 response from vpi-vci 8-35 time=27.6 ms
seq 2 response from vpi-vci 8-35 time=27.7 ms
seq 3 response from vpi-vci 8-35 time=29.3 ms
seq 4 response from vpi-vci 8-35 time=27.7 ms
seq 5 response from vpi-vci 8-35 time=28.5 ms
seq 6 response from vpi-vci 8-35 time=27.6 ms
seq 7 response from vpi-vci 8-35 time=28.2 ms
seq 8 response from vpi-vci 8-35 time=29.0 ms
seq 9 response from vpi-vci 8-35 time=27.9 ms

SIGNIFICATO DEI LED


Nei router Imola XX10 lo stato dell'interfaccia ADSL viene indicato mediante 3 led di colore verde,
etichettati con le seguenti denominazioni: Pw, Link e Data.

Laccensione del led Pw indica che il modem ADSL interno alimentato in modo corretto.

Il led Link lampeggiante indica la fase di sincronizzazione con la centrale.

Il led Link acceso fisso indica che la fase di sincronizzazione stata effettuata con successo.

Il led Data viene utilizzato per visualizzare il traffico dati.

Nei router Imola XX20 lo stato dell'interfaccia ADSL viene indicato mediante 2 led di colore verde,
etichettati con le seguenti denominazioni: Link e Data.

Il led Link acceso indica che il modem stato inizializzato con successo.

Il led Data acceso indica che la fase di sincronizzazione con la centrale stata effettuata con
successo e che il modem in stato operativo.

TRIGGER ADSL
E possibile definire delle azioni da eseguire quando viene attivata e deattivata linterfaccia ADSL,
rispettivamente mediante i comandi:

set trigger adsl up <action>


set trigger adsl down <action>

54
INTERFACCIA ADSL Imola User Guide

dove <action> pu essere un qualsiasi comando CLI supportato da Imola. Una sequenza di azioni
viene configurata mediante una sequenza di comandi:
set trigger adsl up <action1>
set trigger adsl up <action2>
set trigger adsl up <actionN>

Lesecuzione delle azioni avviene secondo lordine con cui sono stati impostati.

Ad esempio mediante la sequenza di comandi:


set trigger adsl up ip route add 12.12.12.12 dev atm0
set trigger adsl up logger r 10.10.1.212 adsl is up
set trigger adsl down ip route del 12.12.12.12 dev atm0
set trigger adsl down logger r 10.10.1.212 adsl is down

si imposta una rotta statica verso lhost 12.12.12.12 e si invia il messaggio di log ADSL is up
quando linterfaccia ADSL viene attivata, mentre si elimina la rotta e si invia il messaggio di log
ADSL is down quando linterfaccia ADSL non operativa.

Per cancellare un trigger si utilizzano i comandi:


set no-trigger adsl up <action>
set no-trigger adsl down <action>

55
INTERFACCIA VDSL Imola User Guide

INTERFACCIA VDSL

INTRODUZIONE
I modelli Imola XX6X supportano connessioni ADSL, ADSL2+ e VDSL2.

Sono conformi a:

tutti gli standard ADSL e annessi: ADSL 1/2/2+, Annexes A, B, I, J, M e L


tutti i profili VDSL2 da 8 Mhz a 30 Mhz
standard G.993.5 (G.Vector)

I modelli Imola XX6X presentano una sola porta RJ11. Linterfaccia ADSL/VDSL consente la
sincronizzazione in ADSL o VDSL mode, a seconda dellesito di quanto negoziato con la centrale
nella fase di handshaking.

La configurazione dei livelli 2 e 3 della connessione differisce in funzione dello standard di


riferimento.

CONFIGURAZIONE DELLA CONNESSIONE FISICA


E possibile configurare il tipo di connettivit fisica, ADSL, VDSL o multimode mediante il comando:
set dsl line-mode multimode | VDSL | adsl

In modalit multimode il router in grado di riconoscere, in fase di allineamento, lo standard


di riferimento e di conseguenza connettersi in modalit ADSL o VDSL. In alternativa possibile
specificare una delle due modalit. In tal caso se le modalit prescelta non corrisponde al servizio
fornito, la connessione non sar instaurata.

Se non specificato, il line mode multimode.

E possibile configurare un scelta di uno o pi standard ADSL e/o di uno o pi profili VDSL mediante
il comando:

set dsl advanced line-types <value>

Dove <value> pu assumere uno dei seguenti valori:

adsl-t1e1-issue-2
adsl1-dmt-annex-a
adsl1-dmt-annex-b
adsl1-dmt-annex-c
adsl2-annex-l
adsl2-dmt-annex-a
adsl2-dmt-annex-b
adsl2-plus-annex-a
adsl2-plus-annex-b
adsl2-plus-annex-m
vdsl1
vdsl2-prof-12a
vdsl2-prof-12b
vdsl2-prof-17a

56
INTERFACCIA VDSL Imola User Guide

vdsl2-prof-30a
vdsl2-prof-8a
vdsl2-prof-8b
vdsl2-prof-8c
vdsl2-prof-8d

Il comando deve essere ripetuto per ogni modalit che si desidera abilitare. Per tornare alla
configurazione di default disponibile il comando:
set dsl advanced no-line-types

N.B.: il comando advanced non visibile n come opzione n in auto-completamento.

Per attivare la connessione disponibile il comando:

set dsl on

Per abbattere la connessione disponibile il comando:

set dsl off

Per cancellare la configurazione disponibile il comando:

set no-dsl

CONFIGURAZIONE ADSL
Per la configurazione dellADSL disponibile lo stesso insieme di comandi utilizzati sui modelli
Imola XX20.

In modalit ADSL sono supportati fino a 8 PVC (Permanent Virtual Circuit). Per configurare il numero
di PVC:

set adsl pvc_number <value>

Per configurare il tipo di incapsulamento :

set adsl encap rfc1483-llc|rfc1483-bridged|ppoa-vcmux|pppoe-llc

Per configurare vpi e vci:

set adsl pvc atm0||atm7 vpi <value> vci <value>

Per configurare lincapsulamento del PVC:


set adsl pvc atm0||atm7 encap rfc1483-llc|rfc1483-bridged|ppoa-vcmux|pppoe-llc

Per configurare lindirizzo IP:


set adsl pvc atm0||atm7 ipaddr <value>

Per rimuovere lindirizzo IP:

set adsl pvc atm0||atm7 no-ipaddr

Per configurare la netmask:

set adsl pvc atm0||atm7 netmask <value>

Per ripristinare la netmask di default:

set adsl pvc atm0||atm7 no-netmask

57
INTERFACCIA VDSL Imola User Guide

Per configurare la mtu:

set adsl pvc atm0||atm7 mtu <value>

Per ripristinare la mtu di default:

set adsl pvc atm0||atm7 no-mtu

Per configurare il next hop:

set adsl pvc atm0||atm7 nexthop <value>

Per rimuovere il next hop:

set adsl pvc atm0||atm7 no-nexthop

Per assegnare un indirizzo di tipo IPv6:

set adsl pvc atm0||atm7 ipv6addr X:X::X:X/M

Per abilitare la rotta di default:


set adsl pvc atm0||atm7 default-route

Per rimuovere la rotta di default:


set adsl pvc atm0||atm7 no-default-route

Per abilitare le funzioni di NAT (Network Address Translation):

set adsl pvc atm0||atm7 masquerade

Per rimuovere le funzioni di NAT:

set adsl pvc atm0||atm7 no-masquerade

Quando si utilizza invece il tipo di incapsulamento PPPoa (PPP over ATM) oppure PPPoe (PPP over
Ethernet), occorre definire login e password che saranno usate per l'autenticazione:
set adsl login <value> password <value>

Per configurare la tipologia di traffico ATM:

set adsl pvc atm0||atm7 service <service-type>

dove service-type pu assumere i valori UBR, CBR, VBR e RTVBR. Per il traffico UBR e CBR
possibile specificare un valore di PCR (Peak Cell Rate), mentre per VBR e RTVBR possibile
specificare, oltre al PCR, i valori per SCR (Sustainable Cell Rate) e per MBS (Maximum Burst Size), nel
seguente modo:

set adsl pvc atm0||atm7 pcr <value>


set adsl pvc atm0||atm7 scr <value>
set adsl pvc atm0||atm7 mbs <value>

Il valore indicato per PCR e SCR si esprime in celle/sec, mentre il valore per MBS si esprime in bytes.

Per rimuovere le opzioni impostate:

set adsl pvc atm0||atm7 no-service


set adsl pvc atm0||atm7 no-pcr
set adsl pvc atm0||atm7 no-scr
set adsl pvc atm0||atm7 no-mbs

E possibile variare la lunghezza della coda di trasmissione sullinterfaccia associata al pvc, nel
seguente modo:

58
INTERFACCIA VDSL Imola User Guide

set adsl pvc atm0||atm7 qlen <value>

Per rimuovere lopzione:


set adsl pvc atm0||atm7 no-qlen

Infine possibile attivare (o disattivare) una descrizione dell'interfaccia ADSL, che sar restituita
dall'agent SNMP (se configurato ed attivato) ad interrogazioni della variabile della Mib_II ifDescr, con
i seguenti comandi:
set adsl description|no-description <value>

Per rimuovere lopzione:

set adsl no-description

CONFIGURAZIONE VDSL
La connessione VDSL2 viene presentata a livello 2 tramite linterfaccia ethernet vdsl0.

Per impostare l'indirizzo IP:


set vdsl0 ipaddr <ip_address> [netmask <netmask> broadcast <broadcast>]

E possibile impostare un indirizzo di tipo IPv6 mediante il comando:

set vdsl0 ipv6addr X:X::X:X/M

possibile impostare o rimuovere il servizio DHCP Client mediante i comandi:

set vdsl0 dhcp-client


set vdsl0 no-dhcp-client

E possibile effettuare il bridge diretto dei pacchetti VDSL mediante il comando:

set vdsl0 bridge-with <interface>

Per disabilitare le funzioni di bridge:

set vdsl0 no-bridge

Per attivare una rotta di default sulla interfaccia vdsl0:


set vdsl0 default-route

Per rimuovere la rotta di default:

set vdsl0 no-default-route

Per impostare un valore di mtu:


set vdsl0 mtu <value>

Per tornare al valore di default:


set vdsl0 no-mtu

E possibile variare la lunghezza della coda di trasmissione sullinterfaccia vdsl0, nel seguente
modo:

set vdsl0 qlen <value>

Per rimuovere lopzione:

set vdsl0 no-qlen

59
INTERFACCIA VDSL Imola User Guide

possibile attivare (o disattivare) una descrizione dell'interfaccia VDSL, restituita dall'agent SNMP
(se configurato ed attivato) ad interrogazioni della variabile della Mib_II ifDescr, con i seguenti
comandi:
set vdsl0 description|no-description <value>

VISUALIZZAZIONE
possibile visualizzare informazioni sullo stato operativo della connessione ADSL/VDSL mediante il
comando CLI:

show interface dsl status

il quale produce la seguente visualizzazione

root@Imola> show interface dsl status

General Information
-------------------------------------------------------------------------------
Firmware-VTU-R:10.17.1.22IKF7185 Time Aug 13 2013, 08:30:23
RTOS Copyright MGC 2006 - Nucleus PLUS - v. 1.15, Source Tag:10087
BME R:112 AFE<num, ver> <0:f2>
IFE<num:Dev.Rev> <0:242.0>

Near End Data Far End Data


Vendor country: 0xb5 0xff
Vendor code: IKNS GSPN
Product code: 0x0200 0x020b

Bandplan type: 0

Line Operational Data


-------------------------------------------------------------------------------
Trained Mode: adsl2 PLUS ANNEX M

Near End Data Far End Data


Line rate 2616 kbps 22060 kbps
Bearer 0 Payload rate 0 kbps 0 kbps
Bearer 1 Payload rate 2290 kbps 20135 kbps
Tx Power 14.4 dBm 0.5 dBm
Delay 5.9 ms 6.2 ms

Channel Operational Data


-------------------------------------------------------------------------------
Signal Attenuation: 13.3 dB
Noise Margin: 7.8 dB
Average SNR: 47.8 dB
Average Noise Margin: 8.6 dB
Number of bands: 1 1
Per Band Status: D0
Line Attenuation (db): 13.3
Signal Attenuation (db): 8.7
Noise Margin (db): 8.6
Retransmission status: Disabled Disabled

Errors Data
-------------------------------------------------------------------------------
Near End Data Far End Data
60
INTERFACCIA VDSL Imola User Guide

HEC Fast count 0 0


HEC Slow count 0 0
CRC Fast count 0 0
CRC Slow count 0 1

Performance Counters
-------------------------------------------------------------------------------
Rx Tx
Block Count Bearer 0 0 0
Block Count Bearer 1 2732066 9930

numReInit 0
numInitFailure 0
PowerOnNumReInit 0
FastLosShutDownCnt 0
NeLpr 0

Modem Status: SHOWTIME ( 2m 50s )

SIGNIFICATO DEI LED


Lo stato dell'interfaccia ADSL/VDSL viene indicato mediante 1 led di colore verde, etichettato con la
denominazione: Link

Il led lampeggia a lenta intermittenza quando linterfaccia pronta per stabilire una connessione.

Il led lampeggia con intermittenza pi elevata quando stato instaurato il colloquio con la
centrale ed in corso la connessione.

Il led rimane acceso fisso quando la connessione stata instaurata.

61
INTERFACCIA SHDSL Imola User Guide

INTERFACCIA SHDSL

CONFIGURAZIONE
Linterfaccia SHDSL disponibile tramite due connettori RJ11 indicati rispettivamente come Line0 e
Line1. Ognuno fornisce una banda di 2 Mbps, possono essere utilzzati contemporaneamente (4-
Wire) per sostenere quindi la banda di:

downstream fino a 4 Mbps


upstream fino a 4 Mbps.

Sono supportati fino a 4 PVC (Permanent Virtual Circuit), ed conforme ai seguenti standard:

ETSI TS 101 524 (SDSL ETSI)


ITU-T G.991.2, inclusi Annex A, B, F, G (G.SHDSL)
ITU-T G.994.1 (G.hs)
IEEE 802.3ah-2004 (IEEE EFM)
ANSI T1E1.4/2003-334R6 (ATM bonding)
ITU G.998.1 (ATM bonding)
ITU G.998.2 (EFM bonding)

Per attivare l'interfaccia SHDSL disponibile il comando:

set shdsl on

Per disattivare l'interfaccia SHDSL disponibile il comando:

set shdsl off

Per disattivare l'interfaccia SHDSL e disabilitarne la configurazione disponibile il comando:

set no-shdsl

Prima di attivare l'interfaccia SHDSL necessario eseguire alcune operazioni di configurazione,


secondo le indicazioni e i valori forniti dal Provider con cui si stipulato il contratto.

Al fine di configurare il chip SHDSL in modalit ATM oppure EFM si pu asserire il seguente
comando:
set shdsl chipmode atm|efm

Per configurare il tipo di Annex disponibile il seguente comando:


set shdsl annex A|B|B-ANFP

Per configurare la modalit di funzionamento 2-Wire disponibile il seguente comando:

set shdsl line-mode 2-wire

Il comando attiva la modalit 2-Wire sulla linea 0.

Per configurare la modalit di funzionamento 4-Wire disponibile il seguente comando:


set shdsl line-mode 4-wire standard

Per configurare il chip SHDSL come CPE oppure CO si pu asserire il seguente comando:

set shdsl line-term cpe|co

Per configurare la modalit di selezione del data rate durante la fase di sincronizzazione sono
disponibili i comandi:
62
INTERFACCIA SHDSL Imola User Guide

set shdsl line-rate-type adaptive e set shdsl line-rate-type fixed

Se si configura il line rate in modalit adaptive possibile specificare un valore di margine


minimo desiderato, nel seguente modo:
set shdsl line-rate-type margin <value>

dove <value> pu essere un valore compreso tra 0db e +10b. Se non specificato, il valore di
default 0db.

Se si configura il line rate in modalit fixed, possibile specificare i valori di rate minimo e
massimo, nel seguente modo:
set shdsl line-rate min <value>
set shdsl line-rate max <value>

dove i valori di default sono rispettivamente 192 (kbit/sec) e 2034 (kbit/sec)

Se non viene configurato il line-rate-type, la modalit di default fixed.

Per configurare il tipo di incapsulamento:


set shdsl pvc atmX encap rfc1483-bridged|rfc1483-llc

Per configurare il numero ed il tipo di PVC:

set shdsl pvc_number <value>


set shdsl pvc atmX vpi <value>
set shdsl pvc atmX vci <value>

dove pvc_number pu essere al massimo 4 e di conseguenza atmX dovr essere atm0, atm1, atm2,
atm3. Il valore di default di pvc_number 1.

Occorre quindi completare la configurazione di ogni PVC definito.

Per abilitare le funzioni di NAT (Network Address Translation) :

set shdsl pvc atm0||atm3 masquerade

Per assegnare un indirizzo IP allinterfaccia SHDSL:

set shdsl pvc atm0||atm3 Ipaddr <value>

Per assegnare un indirizzo di tipo IPv6:

set shdsl pvc atm0||atm3 ipv6addr X:X::X:X/M

Opzionalmente pu essere richiesto di abilitare la rotta di default:

set shdsl pvc atm0||atm3 default-route

Un esempio di sequenza di comandi di configurazione dell'interfaccia SHDSL pu essere la


seguente:

CPE 4-Wire standard


set shdsl chipmode atm
set shdsl line-mode 4-wire standard
set shdsl line-term cpe
set shdsl pvc atm0 encap rfc1483-llc
set shdsl pvc atm0 vpi 8
set shdsl pvc atm0 vci 35
set shdsl pvc atm0 default-route

63
INTERFACCIA SHDSL Imola User Guide

set shdsl on

CPE 2-Wire
set shdsl chipmode atm
set shdsl line-mode 2-wire
set shdsl line-term cpe
set shdsl pvc atm0 encap rfc1483-bridged
set shdsl pvc atm0 vpi 8
set shdsl pvc atm0 vci 35
set shdsl pvc atm0 default-route
set shdsl on

Una volta attivata, il nome dellinterfaccia logica SHDSL che identifica il PVC : shdsl.835.

VISUALIZZAZIONE
possibile visualizzare informazioni riguardanti la configurazione, i PVC, le statistiche e lo stato
dell'interfaccia SHDSL.

show interface shdsl statistics

produce un output a video del seguente tipo:

root@Imola> show interface shdsl statistics


8: shdsl: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
101796 87 0 0 0 0
TX: bytes packets errors dropped carrier collsns
658422 503 0 0 0 0

Il comando:
show interface shdsl status

produce la seguente visualizzazione:

root@Imola> show interface shdsl status

General Information
Controller Chipset: Ikanos CX98102
DSL Mode: SHDSL Annex B
Line Mode: Two Wire
Framer Mode: ATM
Line Termination: CPE
Firmware Version: G119
Remote Country Code 0x00B5 (181)
Remote Provider Code PNGS
Remote FW Version 0x0042 (66)

Line 0 Status
Actual rate: 2312 kbps
Transmit Power: 9.5 dBm
Receiver Gain: 21.86 dB
Loop Attenuation 0.0 dB
64
INTERFACCIA SHDSL Imola User Guide

SNR (SQ Mean): 41.24 dB

DSL Framer Status


Last 1 Sec. Errors
CRC Errors: 0
SEGment Anomaly Errors: 0
LOSs of Signal Errors: 0

ATM Framer Status


Received Cells: 4160
Transmitted Cells: 13890
Dropped Cells: 0
HEC on Received Cells: 0

Modem Status: DATA Mode (for 10 hr, 1 min, 54 sec)

E inoltre possibile visualizzare le celle oam scambiate mediante il comando


show interface shdsl oam

SIGNIFICATO DEI LED


Nei router Imola4 lo stato dell'interfaccia viene indicato mediante 2 led di colore verde, etichettati
con le seguenti denominazioni: Link, Data.

Laccensione del led Link indica che il modem SHDSL interno alimentato in modo corretto e che il
chip stato correttamente inizializzato.

Il led Data lampeggiante indica la fase di sincronizzazione con la centrale.

Il led Data acceso fisso indica che la fase di sincronizzazione stata effettuata con successo e che
dunque il chip pronto a gestire la trasmissione dei dati.

TRIGGER SHDSL
E possibile definire delle azioni da eseguire quando viene attivata e deattivata linterfaccia SHDSL,
rispettivamente mediante i comandi:
set trigger shdsl up <action>
set trigger shdsl down <action>

dove <action> pu essere un qualsiasi comando CLI supportato da Imola. Una sequenza di azioni
viene configurata mediante una sequenza di comandi:

set trigger shdsl up <action1>


set trigger shdsl up <action2>
set trigger shdsl up <actionN>

Lesecuzione delle azioni avviene secondo lordine con cui sono stati impostati.

Ad esempio mediante la sequenza di comandi:


set trigger shdsl up ip route add 12.12.12.12 dev atm0
set trigger shdsl up logger r 10.10.1.212 SHDSL is up
set trigger shdsl down ip route del 12.12.12.12 dev atm0
set trigger shdsl down logger r 10.10.1.212 SHDSL is down

65
INTERFACCIA SHDSL Imola User Guide

si imposta una rotta statica verso lhost 12.12.12.12 e si invia il messaggio di log SHDSL is up
quando linterfaccia SHDSL viene attivata, mentre si elimina la rotta e si invia il messaggio di log
SHDSL is down quando linterfaccia SHDSL non operativa.

Per cancellare un trigger si utilizzano i comandi:


set no-trigger shdsl up <action>
set no-trigger shdsl down <action>

66
INTERFACCIA FRAME RELAY Imola User Guide

INTERFACCIA FRAME RELAY

CONFIGURAZIONE
Le funzioni Frame Relay di Imola sono supportate dal chipset Serocco di Infineon. Esternamente
linterfaccia si presenta con una porta seriale V.35 su connettore ISO DIN 2593.

Supporta fino a 8 PVC (Permanent Virtual Circuit).

conforme ai seguenti standard:

Frame-Relay: ITU-T X.36


Protocolli PVC: ANSI T1 617 Annex D, ITU-T Q.933 Annex A (CCITT)

Il link Frame Relay configurabile ed attivabile mediante comandi CLI.

Per attivare l'interfaccia Frame Relay disponibile il comando:

set frame-relay on

Per disattivare l'interfaccia Frame Relay disponibile il comando:

set frame-relay off

Per disattivare l'interfaccia Frame Relay e disabilitarne la configurazione disponibile il comando:


set no-frame-relay

Prima di attivare l'interfaccia Frame Relay necessario eseguire alcune operazioni di


configurazione.

Per configurare la tipologia della station:

set frame-relay station dte|dce

il valore di default dte.

Per configurare la velocit:


set frame-relay baud-rate <val>|external

il valore di default external.

Per configurare il tipo di Protocollo di PVC management (LMI):


set frame-relay lmi-type ansi|ccitt|cisco|none

Il valore di default ansi.

Per configurare il singolo PVC:


set frame-relay pvc pvcX Ipaddr <ip-value> nexthop <ip-value>
set frame-relay pvc pvcX netmask <value>
set frame-relay pvc pvcX dlci <value>

dove pvcX dovr essere pvc0, pvc1,pvc7.

Per assegnare un indirizzo di tipo IPv6:

set frame-relay pvc pvcX ipv6addr X:X::X:X/M

Occorre quindi completare la configurazione di ogni PVC definito.

67
INTERFACCIA FRAME RELAY Imola User Guide

Per abilitare le funzioni di NAT (Network Address Translation) :

set frame-relay pvc pvc0||pvc7 masquerade

e opzionalmente pu essere richiesto di abilitare la rotta di default:


set frame-relay pvc pvc0||pvc7 default-route

E possibile configurare uninterfacce di tipo Frame Relay in bridge con uninterfaccia di LAN
mediante il comando:
set frame-relay pvc pvc0 bridge-with <Ethernet-ifname>

possibile attivare (o disattivare) una connessione ISDN da utilizzarsi come link di backup qualora
l'interfaccia Frame Relay non sia disponibile, con il seguente comando:

set backup checking-interface pvcX


set trigger backup up <cmdUp>
set trigger backup down <cmdDown>
set backup on|off

Dove il comando <cmdUp> verr eseguito nel momento in cui il backup attivato, e il comando
<cmdDown> quando il backup viene disattivato.

Inoltre possibile stabilire che la linea di backup venga attivata qualora un determinato indirizzo IP
non sia raggiungibile.

La verifica di raggiungibilit effettuata mediante invio di messaggi ICMP request (ping).


set backup checking-ipaddr <ipaddr> via icmp|bfd through-interface pvcX
set trigger backup up <cmd>
set trigger backup down <cmd>

Per attivare (o disattivare) il criterio configurato disponibile il comando:


set backup on|off

Per disabilitare una configurazione di backup dell'interfaccia Frame Relay disponibile il comando
CLI:

set no-backup

Un esempio di sequenza di comandi di configurazione dell'interfaccia Frame Relay pu essere la


seguente:

set frame-relay pvc pvc0 dlci 21


set frame-relay pvc pvc0 default-route
set frame-relay pvc pvc0 ipaddr 1.1.1.1 nexthop 1.1.1.2
set frame-relay pvc pvc0 netmask 255.255.255.252
set frame-relay on

VISUALIZZAZIONE
possibile visualizzare informazioni riguardanti la configurazione, i PVC, le statistiche e lo stato
dell'interfaccia Frame Relay. Il comando CLI il seguente:

show interface frame-relay config|pvc|statistics|status

Ad esempio, il comando:
show interface frame-relay config

68
INTERFACCIA FRAME RELAY Imola User Guide

produce un output a video simile al seguente:

root@Imola> show interface frame-relay config


Frame-Relay Protocol configuration:
Internal clock, baud-rate: external
Frame-relay station: dte
Configured frame-Relay Backup: no

Loutput del comando:


show interface frame-relay pvc

invece simile a:

root@Imola> show interface frame-relay pvc


Configuration for PVC pvc0:
Local IP Address: 1.1.1.1
Nexthop IP Address: 1.1.1.2
Default Route on here: yes
Masquerade: no
DLCI 16 [pvc0] Status: active,Last time pvc status changed: 0:47:11
15: pvc0: <POINTOPOINT,UP> mtu 1500 qdisc noqueue
link/dlci 00:10 peer 04:01
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
inet 1.1.1.1 peer 1.1.1.2/30 scope global pvc0
pvc1 is not defined
pvc2 is not defined
Configuration for PVC pvc3:
Local IP Address: 11.11.11.1
Nexthop IP Address: 11.11.11.2
Default Route on here: no
Masquerade: yes
DLCI 17 [pvc3] Status: active,Last time pvc status changed: 0:40:10
35: pvc3: <POINTOPOINT,UP> mtu 1500 qdisc noqueue
link/dlci 00:11 peer 04:01
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
inet 11.11.11.1 peer 11.11.11.2/30 scope global pvc3
pvc4 is not defined
pvc5 is not defined
pvc6 is not defined
pvc7 is not defined

Il comando:
show interface frame-relay statistics

produce un output a video del seguente tipo:

root@Imola> show interface frame-relay statistics


13: hdlc0: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/frad
RX: bytes packets errors dropped overrun mcast
69
INTERFACCIA FRAME RELAY Imola User Guide

4810 305 0 0 0 0
TX: bytes packets errors dropped carrier collsns
4270 610 0 0 0 0

Infine il comando:
show interface frame-relay status

produce la seguente visualizzazione dei parametri relativi al modem, come lo stato dei segnali, il
tipo di modulazione, il baud-rate, etc.

root@Imola> show interface frame-relay status

Mode: V.35
Clock: EXTERNAL
Encoding: NRZ
Parity: CRC16_PR1_CCITT

Modem Status
DTR: active DSR: active CTS: active

Data Reception
Packets: 55753 Bytes: 9476470
Dropped: 8
Errors:
Frame: 4 CRC: 0
Len: 0 Overflow: 4
No Space: 0

Data Transmission
Packets: 44519 Bytes: 7877889
Dropped: 5
Errors:
XFIFO Disabled: 1 XFIFO Error: 1

PVC status for Frame Relay interface


DLCI 454 [pvc0] Status: active, Last time pvc status changed: 6:54:44

70
INTERFACCIA MOBILE Imola User Guide

INTERFACCIA MOBILE

CONFIGURAZIONE
Imola pu essere impiegato come Router tra la rete Ethernet e una rete mobile. I modelli Imola
1XX0 supportano solo connessioni GPRS, i modelli 2XX0 supportano sia connessioni EDGE, che
GPRS, i modelli 3XX0 supportano sia connessioni UMTS/HSDPA che GPRS/EDGE, i modelli 4XX0
supportano connessione GPRS/EDGE/UMTS/HSDPA ed HSUPA, infine i modelli 5XX0 supportano
qualsiasi tipo di connessione mobile fino ad LTE. La scelta del tipo di rete trasparente. La
configurazione viene effettuata con gli stessi comandi della sessione GPRS della CLI.

Per attivare l'interfaccia mobile di Imola disponibile il comando CLI:

set gprs on

Mentre per disattivare l'interfaccia GPRS pu essere impiegato il comando:


set gprs off

Se invece si vuole disattivare l'interfaccia GPRS e disabilitarne la configurazione disponibile il


comando CLI:

set no-gprs

Prima di attivare l'interfaccia GPRS necessario eseguire alcune operazioni di configurazione,


secondo le indicazioni e i valori forniti dal Provider con cui si stipulato il contratto, utilizzando i
comandi CLI indicati di seguito.

Configurazione dellAPN:
set gprs apn <value>

Su modelli di router 5xxx supportato il protocollo IPv6 su rete mobile ed disponibile il


comando:

set gprs apn-type <value>

dove <value> pu assumere i valori: IPv4 per attivare una sessione di tipo IPv4, oppure IPv6 per
attivare una sessione di tipo IPv6 oppure IPv4v6 per attivare una sessione Dual Stack IPv4-IPv6.

Configurazione login e password per l'autenticazione PPP:


set gprs login <value> password <value>

Per attivare o disattivare una rotta di default sulla connessione GPRS:


set gprs default-route
set gprs no-default-route

Per abilitare o disabilitare il Port Address Translation (PAT) sulla connessione GPRS:

set gprs masquerade


set gprs no-masquerade

Nella configurazione di default la connessione GPRS rimane sempre attiva. possibile per
configurare l'interfaccia in modo da terminare la connessione dopo un certo numero di secondi di
inattivit, ristabilendola alla prima richiesta di trasmissione:
set gprs on-demand yes|no
set gprs idle <value>

71
INTERFACCIA MOBILE Imola User Guide

Il parametro idle permette di definire un intervallo di tempo di inattivit della sessione GPRS:
se allinterno di tale intervallo non viene ricevuto o trasmesso alcun pacchetto la sessione GPRS
viene abbattuta e nel caso in cui non sia stata configurata in modalit on-demand, essa viene
automaticamente riattivata.

E possibile conteggiare linattivit della sessione della sessione solamente in base ai caratteri
ricevuti, ignorando quelli trasmessi, utilizzando i comandi:
set gprs idle 0
set gprs rx-idle <value>

Per configurare la velocit del modem viene impiegato il comando CLI:

set gprs speed <value>

La velocit da selezionare nel caso di modem EDGE 230400, per connessioni GPRS deve essere un
valore inferiore, ad esempio 115200, mentre risulta invece ininfluente nel caso di modem
UMTS/HSDPA/HSUPA.

Il comando:

set gprs mtu 1500

imposta il Max Transfer Unit ( i) relativo all'interfaccia GPRS. A volte alcune configurazioni di APN
limitano a 1476 la dimensione dei pacchetti trasmessi, per cui in questi casi conviene utilizzare il
comando:
set gprs mtu 1476

Mediante i seguenti comandi:

set gprs lcp-echo-interval


set gprs lcp-echo-failure

possiamo impostare rispettivamente la frequenza con cui vengono inviati i pacchetti lcp echo
request ed il numero di tentativi da effettuare prima di abbattere l'interfaccia GPRS. L'interfaccia
verr ripristinata automaticamente, subito dopo l'abbattimento della stessa.

possibile invece negoziare i parametri DNS direttamente dal peer con il comando:

set gprs usepeerdns

Per impostare la modalit di autenticazione su linee GPRS (il default lautenticazione CHAP), viene
impiegato il comando:
set gprs sgauth <auth_type_code>

Le varie modalit di autenticazione possono essere specificate impiegando i seguenti codici:

0: nessun tipo di autenticazione


1: autenticazione PAP
2: autenticazione CHAP
3: autenticazione PAP e CHAP

In caso di modello con modem UMTS/HSDPA/HSUPA per stabilire il tipo di autenticazione PAP
bisogna usare il comando:
set gprs directive refuse-chap

Sono disponbili dei comandi che permettono di selezione il tipo di rete mobile (3G o 2G) cui
collegarsi:
set gprs auto-network

72
INTERFACCIA MOBILE Imola User Guide

La scelta viene affidata al modulo radio, il quale seleziona la rete migliore disponibile in quel
momento, al variare della disponibilit il modem passa in maniera automatica da una rete allaltra,
effettuando loperazione di roaming.
set gprs umts

Il modem tenta di registrarsi alla rete 3G, se non riesce passa alla rete 2G. Rispetto al comando
precedente, una volta selezionato un tipo di rete, il modem resta collegato ad essa fino alla
disconnessione.
set gprs no-umts

Configura il modem per lavorare solamente sulla rete 2G.

set gprs umts-only

Configura il modem per lavorare solamente sulla rete 3G.

set gprs lte

Configura il modem per lavorare sulla rete LTE, se disponibile, altrimenti viene utilizzata la
tecnologia HSPA disponibile in quella cella.. Se viene impostato tale comando possibile specificare
altre opzioni per selezionare le frequenze di lavoro o la tecnologia di accesso radio, in particolare, il
comando:
set gprs lte-band <value>

dove i valori ammessi sono: b1, b3, b7, b8, b20, b8-900, b1-2100 permette di selezionare la
frequenza di lavoro sulla rete LTE, mentre il comando:
set gprs selrat <value>

dove <value> pu essere uno dei seguenti:

2G-Only 3G-Only 2G-3G-Only LTE-Only 3G-LTE 2G-3G-LTE auto

permette di specificare la tecnologia radio di accesso.

possibile attivare (o disattivare) una descrizione dell'interfaccia GPRS, che sar restituita dall'agent
SNMP (se configurato ed attivato) ad interrogazioni della variabile della Mib_II ifDescr, con i
seguenti comandi:
set gprs description <value>
set gprs no-description

Una sequenza significativa di comandi di configurazione dell'interfaccia GPRS pu essere la


seguente:
set gprs apn ibox.tim.it
set gprs login mylogin password mypasswd
set gprs default-route
set gprs masquerade
set gprs on

possibile attivare sull'interfaccia una connessione GSM V110, anzich GPRS , con i seguenti
comandi:
set gprs v110
set gprs apn <value>

in questo caso largomento <value> rappresenta il numero di telefono da chiamare.

73
INTERFACCIA MOBILE Imola User Guide

Se si configura la connessione di tipo on demand, si pu stabilire quali sono i pacchetti che


contribuiscono a mantenere attiva la connessione PPP (GPRS o v110) mediante il comando:
set access-list dial-PPP prot <prot> port <value> from <src> to <src>

descritto nel capitolo relativo alle access list.

Linterfaccia di rete per la sessione GPRS di tipo PPP ed il nome ad essa assegnata PPPX, dove
X un indice che di solito assume il valore 0 (PPP0). Allo stesso modo anche una connessione ADSL
con incapsulamento di tipo PPP over ATM (PPPoA) viene indicata con PPPX. Il criterio di scelta
dellindice X funzione dellordine di attivazione delle connessione: la prima attivata sar PPP0 e la
seconda PPP1.

Nel caso in cui sullo stesso router debbano essere attive sia una connessione ADSL di tipo PPPoA
che una connessione mobile (GPRS/EDGE/UMTS/HSDPA/HSUPA), per evitare indeterminazione nella
scelta del nome previsto il comando:
set gprs directive unit N

mediante il quale il nome dellinterfaccia associata alla sessione mobile sar sempre PPPN,
riservando alla connessione ADSL il nome PPP0. Il valore di N deve essere scelto tra 1 e 9.

Sui modelli 5XX0 inoltre disponibile il comando:


set gprs direct-ip

il quale permette di utilizzare nativamente la connessione mobile, senza ricorrere allutilizzo del
protocollo PPP. In tal caso linterfaccia mobile viene chiamata: wwan0.

Su tali modelli possibile configurare una seconda APN utilizzata contemporanemente a quella
principale mediante i comandi:

set gprs apn2 <apn-name>


set gprs apn2-login <login-second-apn> password <password>
set gprs apn2type IPv4 | IPv4v6 | IPv6

Nel caso si utilizzi tale comando, diventa obbligatorio impostare anche il comando:

set gprs direct-ip

in modo tale che il nome dellinterfaccia di rete che corrisponde alla APN principale sia wwan0,
mentre quello per la seconda APN sia wwan1.

VISUALIZZAZIONE
possibile visualizzare informazioni riguardanti la configurazione, le statistiche e lo stato
dell'interfaccia GPRS. Il comando CLI il seguente:

show interface gprs config|statistics|status

Ad esempio, il comando show interface gprs config produce un output a video simile a:

show interface gprs config|statistics|status

root@Imola> show interface gprs config


Start gprs: yes
APN: ibox.tim.it
PPP Login: mylogin
PPP Passwd: mypasswd
MTU: 576

74
INTERFACCIA MOBILE Imola User Guide

Idle Timeout: 3600


Masquerade: yes
Deflt-Route: yes

Il comando show interface gprs statistics produce un output a video simile al seguente:

root@Imola> show interface gprs statistics


Number of gprs Connection: 1
Total Bytes Transmitted: 40
Total Bytes Received: 1517
Total Duration: 3

Il comando show interface gprs status visualizza lo stato della sessione. Loutut prodotto
potrebbe cambiare in funzione della tecnologia di accesso:

root@Imola> show interface gprs status


Signal Quality: +CSQ: 17,99
Network: HSDPA/UMTS

IMSI: 222017302670415 IMEI: 355841030174450

There is an active gprs Connection:


31: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 3
link/ppp
RX: bytes packets errors dropped overrun mcast
40 4 0 0 0 0
TX: bytes packets errors dropped carrier collsns
77 6 0 0 0 0
inet 217.201.91.46 peer 192.168.254.254/32 scope global ppp0

root@Imola> show interface gprs status

Signal Power: CSQ = 23 => -67 dBm


Network: HSDPA/UMTS vodafone IT

HSDPA Category: 24 HSUPA Category: 6


Current Time: 75749 Temperature: 38
Bootup Time: 1 Mode: ONLINE
System mode: WCDMA PS state: Attached
WCDMA band: WCDMA 2100
WCDMA channel: 10838
GMM (PS) state: REGISTERED NORMAL SERVICE
MM (CS) state: IDLE NORMAL SERVICE

WCDMA L1 State:L1M_PCH_SLEEP RRC State: DISCONNECTED


RX level C0: -68 LAC: 3ABB (15035)
RX level C1: -106 Cell ID: 003A5837 (3823671)

Current Network Technology: 0,UMTS


Available Network Technology: 1,UMTS
Supported Network Technology: 2,GSM,GPRS,EDGE,UMTS,HSDPA/HSUPA,HSPA+,LTE

IMSI: 222101900000052 IMEI: 358178040098990

75
INTERFACCIA MOBILE Imola User Guide

Nel caso in cui venga usato il meccanismo del Dual Carrier HSPA, la riga Current Network
Technology mostra: DC-HSPA+.

root@Imola> show interface gprs status

Signal Power: CSQ = 30 => -53 dBm


Network: LTE I TIM

HSDPA Category: 24 HSUPA Category: 6


Current Time: 2932 Temperature: 40
Bootup Time: 1 Mode: ONLINE
System mode: LTE PS state: Attached
LTE band: B7 LTE bw: 15 MHz
LTE Rx chan: 3175 LTE Tx chan: 21175

EMM state: Registered Normal Service


EMM connection: RRC Connected

RSSI (dBm): -53 Tx Power: -26


RSRP (dBm): -77 TAC: 0BDF (3039)
RSRQ (dB): -7 Cell ID: 0493ED01 (76803329)
SINR (dB): 30.0

Current Network Technology: 0,LTE


Available Network Technology: 1,GSM,GRS,EDGE,UMTS,HSDPA,HSUPA,HSPA+,LTE
Supported Network Technology: 2,GSM,GPRS,EDGE,UMTS,HSDPA/HSUPA,HSPA+,LTE

IMSI: 222018234762487 IMEI: 358178040098891

Il livello di campo o dBm segnalato dal modem GPRS (le classiche tacche visualizzate dal telefono
GSM) visualizzato tra le informazioni riportate dal comando ed identificabile, nellesempio
sopra, dal Signal Quality: +CSQ: 17,99.

Il valore del livello di campo anche ottenibile partendo dal valore CSQ.

Riferendosi allesempio precedente, il livello di campo (dBm) si ottiene mediante una semplice
operazione aritmetica:
CSQ*2 - 113 = dBm
17 * 2 113 = -79

Il valore ottenuto ci servir per capire il livello di segnale disponibile (le classiche tacche visibili sul
display del cellulare):

dBm # tacche

-105 to -100 0
-100 to -95 1
-95 to -90 2
-90 to -85 3
> -85 4

Il valore CSQ 99,0 indica un livello di segnale non disponibile (il modem non connesso alla rete.

76
INTERFACCIA MOBILE Imola User Guide

Mediante lattivazione del meccanismo di log di sistema possibile verificare eventuali problemi di
attivazione del link. Per attivare i log di sistema utilizzare i comandi descritti nellapposito capitolo.

Di seguito sono riportate 2 sezioni di messaggi di log relativi ad una sessione attivata in modo
corretto e ad una sessione non attivata (APN errato):

root@Imola> set gprs on


root@Imola> show log
Jan 1 04:47:25 localhost GPRS[13375]: Trying Speed 19200
Jan 1 04:47:25 localhost GPRS[13375]: Modem OK
Jan 1 04:47:31 localhost pppd[13380]: pppd 2.4.1 started by root, uid 0
Jan 1 04:47:38 localhost pppd[13380]: Serial connection established.
Jan 1 04:47:38 localhost pppd[13380]: Using interface ppp0
Jan 1 04:47:38 localhost pppd[13380]: Connect: ppp0 <--> /dev/ttyS1
Jan 1 04:47:38 localhost pppd[13380]: Remote message: TTP Com PPP - Password Verified OK
Jan 1 04:47:39 localhost pppd[13380]: local IP address 217.201.192.147
Jan 1 04:47:39 localhost pppd[13380]: remote IP address 10.0.0.1

root@Imola> set gprs on


root@Imola> set log
Jan 1 04:47:25 localhost GPRS[13375]: Trying Speed 19200
Jan 1 04:47:25 localhost GPRS[13375]: Modem OK
Jan 1 04:47:31 localhost pppd[13380]: pppd 2.4.1 started by root, uid 0
Jan 1 04:47:38 localhost pppd[13380]: Serial connection established.Jan 1 05:03:07
localhost pppd[14236]: Using interface ppp0
Jan 1 05:03:07 localhost pppd[14236]: Connect: ppp0 <--> /dev/ttyS1
Jan 1 05:03:08 localhost pppd[14236]: Remote message: TTP Com PPP - Password Verified OK
Jan 1 05:03:17 localhost pppd[14236]: Terminating on signal 15.
Jan 1 05:03:17 localhost pppd[14236]: Connection terminated.
Jan 1 05:03:18 localhost pppd[14236]: Exit.

E possibile tracciare tutta la sequenza di attivazione del protocollo PPP specificando lopzione:

set gprs debug

In questo caso la sequenza di messaggi di log contiene maggiori dettagli relativamente alla fase di
negoziazione dei parametri:

root@Imola> set gprs on


root@Imola> show log
Dec 2 07:17:11 MR-Coach287-8 root: GPRS - Power On Modem..
Dec 2 07:17:21 MR-Coach287-8 GPRS[22884]: Trying Port /dev/ttyUSB0
Dec 2 07:17:22 MR-Coach287-8 GPRS[22884]: Modem OK
Dec 2 07:17:31 MR-Coach287-8 root: GPRS - Trying Auto Network
Dec 2 07:17:31 MR-Coach287-8 root: GPRS - Verify Network Registration
Dec 2 07:17:32 MR-Coach287-8 root: AT+CREG?
Dec 2 07:17:32 MR-Coach287-8 root: +CREG: 0,1
Dec 2 07:17:32 MR-Coach287-8 root: OK
Dec 2 07:17:32 MR-Coach287-8 root: AT+CSQ
Dec 2 07:17:32 MR-Coach287-8 root: +CSQ: 6,0
Dec 2 07:17:32 MR-Coach287-8 root: OK
Dec 2 07:17:32 MR-Coach287-8 root: GPRS - Network Registered
Dec 2 07:17:33 MR-Coach287-8 pppd[23130]: pppd 2.4.2 started by Tiesse
Dec 2 07:17:34 MR-Coach287-8 chat[23132]: send (AT+CGDCONT=1,"IP","ibox.tim.it
Dec 2 07:17:34 MR-Coach287-8 chat[23132]: AT+CGDCONT=1,"IP","intrainwifi.tim.it
Dec 2 07:17:34 MR-Coach287-8 chat[23132]: send (AT+CGATT=1^M)
77
INTERFACCIA MOBILE Imola User Guide

Dec 2 07:17:34 MR-Coach287-8 chat[23132]: send (ATD*99***1#^M)


Dec 2 07:17:34 MR-Coach287-8 chat[23132]: CONNECT

sent [LCP ConfReq id=0x1 <mru 1476> <asyncmap 0x0> <magic 0xe2270bc4>..
rcvd [LCP ConfReq id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0x6d503910>..
sent [LCP ConfAck id=0x0 <asyncmap 0x0> <auth chap MD5> <magic 0x6d503910>..
rcvd [LCP ConfAck id=0x1 <mru 1476> <asyncmap 0x0> <magic 0xe2270bc4> <pcomp>..
sent [LCP EchoReq id=0x0 magic=0xe2270bc4]
rcvd [LCP DiscReq id=0x1 magic=0x6d503910]
rcvd [CHAP Challenge id=0x1 <e4c6aed962128461f211d325443a3f44>, name = ..
sent [CHAP Response id=0x1 <9fabe2d692114fc609f6d85634254c16>, name = "..
rcvd [LCP EchoRep id=0x0 magic=0x6d503910 61 f2 11 d3]
rcvd [CHAP Success id=0x1 ""]
CHAP authentication succeeded
sent [IPCP ConfReq id=0x4 <compress VJ 0f 01> <addr 0.0.0.0>]
rcvd [IPCP ConfReq id=0x0]
sent [IPCP ConfNak id=0x0 <addr 0.0.0.0>]
rcvd [IPCP ConfRej id=0x4 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x5 <addr 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfAck id=0x1]
rcvd [IPCP ConfNak id=0x5 <addr 172.22.1.33>]
sent [IPCP ConfReq id=0x6 <addr 172.22.1.33>]
rcvd [IPCP ConfAck id=0x6 <addr 172.22.1.33>]
Could not determine remote IP address: defaulting to 10.64.64.64
local IP address 217.1.1.1
remote IP address 10.64.64.64

SIGNIFICATO DEI LED


Per indicare lo stato dell'interfaccia GPRS sono stati impiegati tre led verdi. La loro denominazione
la seguente: Pw, Link e Data.

Laccensione del led Pw indica che il modem interno alimentato in modo corretto.

Nel caso di modem GPRS oppure Edge (modelli 1xx0 e 2xx0), il led Link indica lo stato della
connessione alla rete:

il lampeggio ad intermittenza lenta (un'accensione ogni 1-2 secondi) indica la corretta


connessione alla rete
un lampeggio ad intermittenza pi veloce indica la fase di connessione alla rete
laccensione permanente serve ad a indicare che la connessione attiva di tipo GSM

Il led Data viene impiegato per indicare che attiva una sessione PPP.

Nel caso di modem HSDPA/UMTS (modelli 3xx0) il led Link acceso fisso in caso di corretta
connessione alla rete.

TRIGGER GPRS
E possibile definire delle azioni da eseguire quando viene attivata e deattivata linterfaccia GPRS,
rispettivamente mediante i comandi:

78
INTERFACCIA MOBILE Imola User Guide

set trigger gprs up <action>


set trigger gprs down <action>

dove <action> pu essere un qualsiasi comando CLI supportato da Imola. Una sequenza di azioni
viene configurata mediante una sequenza di comandi:
set trigger gprs up <action1>
set trigger gprs up <action2>
set trigger gprs up <actionN>

Lesecuzione delle azioni avviene secondo lordine con cui sono stati impostate.

Ad esempio mediante la sequenza di comandi:


set trigger gprs up ip route add 12.12.12.12 dev ppp0
set trigger gprs up logger r 10.10.1.212 adsl is up
set trigger gprs up hello 85.34.166.18 514
set trigger gprs down ip route del 12.12.12.12 dev ppp0
set trigger gprs down logger r 10.10.1.212 adsl is down

si imposta una rotta statica verso lhost 12.12.12.12 e si invia il messaggio di log GPRS is up .
Inoltre viene eseguito il comando hello con argomenti un indirizzo IP ed una porta. Il comando
hello manda verso lindirizzo e la porta specificati un messaggio contenente lindirizzo IP
dellinterfaccia GPRS, lhostname ed il serial number.

Si elimina la rotta e si invia il messaggio di log GPRS is down quando la sessione GPRS viene
terminata.

Per cancellare un trigger si utilizzano i comandi:


set no-trigger gprs up <action>
set no-trigger gprs down <action>

CONTROLLO DI TRAFFICO
possibile configurare il router in modo da effettuare il controllo del traffico in ingresso ed in
uscita sull'interfaccia GPRS . In particolare si pu configurare un valore di soglia ed innescare degli
eventi quando il traffico in una data unit di tempo superiore od inferiore a tale soglia.
set gprs traffic-control input-threshold <N>

Il valore N espresso in byte e rappresenta il valore di soglia per il traffico in ingresso.

set gprs traffic-control output-threshold <N>

Il valore N espresso in byte e rappresenta il valore di soglia per il traffico in uscita.


set gprs traffic-control timer-unit <N>

Il valore N espresso in secondi e rappresenta la frequenza con cui viene effettuato il controllo.
set gprs traffic-control mode or|and

Definisce se il controllo del traffico relativo alla soglia di ingresso e a quella di uscita, oppure alla
soglia di ingresso o a quella di uscita.
set gprs traffic-control prewait <N>

Rappresenta un valore in secondi di attesa prima di iniziare il controllo del traffico.


set gprs traffic-control on|off

79
INTERFACCIA MOBILE Imola User Guide

Attiva/disattiva il controllo del traffico.

Tipicamente i comandi si usano in concomitanza del comando set trigger GPRS -tc. Il seguente
esempio ne chiarisce l'utilizzo.
set gprs traffic-control input-threshold 10000
set gprs traffic-control output-threshold 20000
set gprs traffic-control mode or
set gprs traffic-control timer-unit 60
set trigger gprs-tc up logger -h 192.168.2.1 GPRS Traffic is too High
set trigger gprs-tc down logger -h 192.168.2.1 GPRS Traffic is at normal rate
set trigger gprs up set gprs traffic-control on
set trigger gprs down set gprs traffic-control off

Il controllo del traffico viene attivato contestualmente all'attivazione della sessione GPRS e
disattivato quando termina la sessione. Si imposta un valore di soglia di 10K per il traffico in
ingresso ed un valore di 20K per il traffico in uscita. Il controllo di effettua ogni 60 secondi.

Se in 60 secondi il traffico in ingresso oppure quello in uscita supera il valore di soglia impostato
viene eseguito il comando specificato dal trigger set gprs-tc up, che invia un messaggio di log
verso un determinato Host. Viceversa, se in 60 secondi il traffico inferiore ai valori di soglia viene
eseguito il comando specificato dal trigger set trigger gprs-tc down.

CONTROLLO SESSIONE GPRS


E possibile applicare una serie di comandi su Imola per effettuare il controllo sulla sessione GPRS.

Tramite le funzioni di rtr si invia un ping periodico (15 secondi) verso un IP specifico; impostando
il valore rx-idle a 120 secondi, la sessione GPRS si riattiva in caso di mancata risposta
dallindirizzo IP.

Di seguito un esempio:
set gprs idle 0
set gprs rx-idle 120

set rtr type ipIcmpEcho dst-addr <ip_addr>


set rtr frequency 15
set rtr timeout 2000
set rtr lifetime 0
set rtr start-time immediately

set trigger gprs up set rtr on


set trigger gprs down set rtr off

Un altro metodo possibile lutilizzo del comando bfdping, utile qualora non si ha a
disposizione alcun indirizzo IP cui mandare i pacchetti di tipo ICMP:
set gprs idle 0
set gprs rx-idle 120
set trigger timer-tick bfdping i ppp0
set trigger gprs up set timer-tick 15
set trigger gprs down set no-timer-tick

80
INTERFACCIA MOBILE Imola User Guide

Ogni qualvolta che si attiva la sessione GPRS, viene fatto partire un timer periodico di 15
secondi, allo scadere del quale si esegue il comando bfdping. Questo comando forza la
trasmissione sulla rete GPRS di un pacchetto UDP avente come indirizzo destinatario lindirizzo
associato allinterfaccia GPRS, quindi il primo router della rete (il primo hop) obbligato a
rimandarlo indietro. La mancata ricezione di tale pacchetto causa il timeout della sessione GPRS (rx-
idle 120), e la conseguente riattivazione.

Infine il comando gprs-keep-alive consente di effettuare dei ping verso l'indirizzo associato
all'interfaccia GPRS ad intervalli regolari e configurabili, per controllare il collegamento.
set trigger gprs up gprs-keep-alive [-k <Freq_sec>]

Il parametro -k <freq_sec> opzionale; se omesso, si assume il valore di default 60 secondi.

Ogni qualvolta si attiva la sessione GPRS questo comando forza la trasmissione di un pacchetto UDP
avente come destinazione lindirizzo associato allinterfaccia GPRS. La mancata risposta causa il
timeout della sessione GPRS e la conseguente riattivazione.

VERIFICA SESSIONE GPRS


La verifica della sessione GPRS ci permette di attivare una connessione, utilizzando i parametri
impostati mediante i comandi set gprs 8, senza innescare gli effetti collaterali dei trigger.

gprs ping <ip-address>

attiva una connessione GPRS ed esegue una serie di ping verso l'IP specificato senza l'intervento
dei trigger GPRS up e GPRS down.

Un esempio di utilizzo ed output del comando, in caso di esito positivo, sono visibili nella seguente
figura:

root@IMOLA> gprsping 85.34.166.21


Starting GPRS Ping...
This will take some time, please wait....
PING 85.34.166.21 (85.34.166.21) from 95.74.52.82 ppp9: 56(84) bytes of data.
64 bytes from 85.34.166.21: icmp_seq=0 ttl=249 time=1.224 sec
64 bytes from 85.34.166.21: icmp_seq=1 ttl=249 time=503.793 msec
64 bytes from 85.34.166.21: icmp_seq=2 ttl=249 time=323.527 msec
64 bytes from 85.34.166.21: icmp_seq=3 ttl=249 time=336.110 msec
64 bytes from 85.34.166.21: icmp_seq=4 ttl=249 time=345.791 msec
64 bytes from 85.34.166.21: icmp_seq=5 ttl=249 time=435.462 msec
64 bytes from 85.34.166.21: icmp_seq=6 ttl=249 time=426.071 msec
64 bytes from 85.34.166.21: icmp_seq=7 ttl=249 time=365.806 msec
64 bytes from 85.34.166.21: icmp_seq=8 ttl=249 time=345.464 msec
64 bytes from 85.34.166.21: icmp_seq=9 ttl=249 time=346.212 msec
--- 85.34.166.21 ping statistics ---
10 packets transmitted, 10 packets received, 0% packet loss
round-trip min/avg/max/mdev = 323.527/465.246/1224.227/258.727 ms
GPRS Test Successfully Completed

Nel caso di esito negativo:

root@IMOLA> gprsping 85.34.166.150

8
Tranne che per i modelli 2xxx consigliato l'inserimento del comando set gprs pwroff-modem nell'impostazione dei
parametri del GPRS per una corretta esecuzione del comando gprsping.

81
INTERFACCIA MOBILE Imola User Guide

Starting GPRS Ping...


This will take some time, please wait....
PING 85.34.166.150 (85.34.166.150) from 95.74.64.177 ppp9: 56(84) bytes of data.
--- 85.34.166.150 ping statistics ---
10 packets transmitted, 0 packets received, 100% packet loss
GPRS Test Successfully Completed

RACCOLTA DATI DI TRAFFICO


E possibile conteggiare i dati di traffico della sessione GPRS ed inviarli periodicamente verso un
server remoto affinch questi vengano memorizzati. Il comando da utilizzare :

gather_stats i <ifname> -h <rem-host> -p <rem-port> -n <interval>

dove:

-i specifica linterfaccia della sessione GPRS. Il valore di default Ppp0.


-h specifica lindirizzo IP del server cui mandare i messaggi.
-p specifica il valore della porta sullhost remoto
-n specifica lintervallo in secondi di invio dei contatori di traffico. Il valore di default 900
secondi.

Se vengono omessi sia lhost remoto che il valore della porta allora i dati vengono inviati come un
messaggio di syslog, quindi possono essere letti o localmente sul router stesso oppure sul server
remoto di syslog, in base alla configurazione del servizio di log sul router.

Il messaggio inviato ha il seguente formato:

TS800,00:0d:5a:07:01:13,IMOLA@192.168.254.3,449598,63720,449598,63720

Dove sono contenuti i seguenti campi separati dal carattere virgola:

testata fissa del messaggio (TS800)


MAC Address del router
Hostname@Indirizzo IP
Numero di caratteri ricevuti nellultimo intervallo
Numero di caratteri trasmessi nellultimo intervallo
Numero di caratteri ricevuti da quando il router stato acceso
Numero di caratteri trasmessi da quando il router stato acceso

E possibile consultare gli ultimi dati raccolti mediante il comando:


show gathered-stats

Ad esempio:

root@IMOLA> show gathered-stats


Traffic in the last interval (900 sec): bytes tx=38469, bytes rx=37800
Traffic since startup (77400 sec ago): bytes tx=11254187, bytes rx=6800200

La prima riga contiene i dati trasmessi e ricevuti nellultimo intervallo di rilevazione e la seconda
contiene i dati trasmessi e ricevuti dallaccensione del router.

82
INTERFACCIA MOBILE Imola User Guide

GESTIONE SMS
Il pacchetto Tiesse SMS gestisce tutte le operazioni legate all'invio ed alla ricezione di Short Text
Messages da parte di un router Tiesse dotato di interfaccia di connessione Mobile. Mediante tale
software , in sintesi, possibile compiere le seguenti operazioni:

Inviare dal router messaggi di testo ad un destinatario o a pi destinatari


contemporaneamente
Ricevere semplici messaggi di testo e visualizzarne il contenuto
Gestire i messaggi ricevuti contenenti comandi di sistema ed effettuare l'esecuzione delle
istruzioni in esso contenuta, fornendo eventualmente in risposta anche l'output dei
comandi eseguiti

Il software di gestione SMS si avvale in sintesi dei seguenti comandi:

set sms delay-time {seconds}


set sms no-delay-time
set sms password {password}
set sms no-password
set sms reply
set sms no-reply
set sms pin {PIN}
set sms no-pin
set sms helper-number {NUMBER1[,NUMBER2[,NUMBER3[,...]]]}
set sms no-helper-number
set sms [on|off]

Con il parametro
set sms delay-time

si imposta il periodo di controllo (in secondi), con cui il modem esegue il controllo dei messaggi in
arrivo ed effettua l'invio di quelli ancora presenti nella coda di uscita.

Con il comando
set sms password {password}

si stabilisce che i comandi inviati via SMS ad Imola, vengano autenticati con la password fornita
come argomento, al fine di autorizzarne l'esecuzione. Ad esempio, supponendo di aver configurato
la messaggistica SMS prevedendo la password esemplificativa "TIESSE" per autenticare i comandi:
set sms password TIESSE

e volendo avviare il modem da remoto mediante il comando CLI:

set gprs on

si dovr inviare al numero telefonico della SIM presente a bordo del router un SMS contenente il
testo:
TIESSE set gprs on

Tutti i comandi preceduti da prefisso diverso dalla password considerata (o non preceduti da alcun
prefisso) verranno scartati, in quanto l'autenticazione fallisce.

Con il comando
set sms reply

83
INTERFACCIA MOBILE Imola User Guide

si configura il router affinch, alla ricezione di un SMS di comandi Tiesse CLI, esso fornisca anche
risposta dell'eventuale output dello stesso al mittente. Come esempio, supponiamo di aver
configurato la messaggistica SMS con password "TIESSE" e supponiamo di aver configurato il router
col comando in analisi set sms reply. Se si vuole ricevere da remoto informazioni riguardo allo
stato dell'interfaccia Mobile, sufficiente inviare al router un SMS contenente il comando CLI:

TIESSE show interface gprs status

Dopo il tempo necessario al router per ricevere il messaggio ed elaborarne il contenuto, verr
inviato al mittente un SMS contenente un output del seguente tipo:

root@LTE> show interface gprs status

Signal Power: CSQ = 13 => -87 dBm


Network: HSDPA/UMTS I TIM

HSDPA Category: 24 HSUPA Category: 6


Current Time: 59199 Temperature: 33
Bootup Time: 1 Mode: ONLINE
System mode: WCDMA PS state: Attached
WCDMA band: WCDMA 2100
WCDMA channel: 10638
GMM (PS) state:REGISTERED NORMAL SERVICE
MM (CS) state: IDLE NORMAL SERVICE

WCDMA L1 State:L1M_PCH_SLEEP LAC: EEB5 (61109)


RRC State: DISCONNECTED Cell ID: 0455346A (72692842)
RxM RSSI C0: -89 RxD RSSI C0: -106
RxM RSSI C1: -106 RxD RSSI C1: -106

Current Netwrk Technology: 0,HSDPA/HSUPA


Available Netwrk Technology: 1,UMTS,HSDPA/HSUPA
Supported Netwrk Technology: 2,GSM,GPRS,EDGE,UMTS,HSDPA/HSUPA,HSPA+,LTE

HSDPA/UMTS I TIM

GPRS subsystem is not active on this system.

set sms pin {PIN}

Permette di inviare e/o riceve SMS dal router anche quando la scheda SIM inserita ancora dotata di
codice PIN a bordo. Grazie a questo comando infatti, il tool di messaggistica in grado di inserire il
PIN ad ogni richiesta proveniente dal modem, all'apertura di ogni connessione ad esso allo scopo
della lettura o dell'invio di messaggi.
set sms helper-number {NUMBER1[,NUMBER2[,NUMBER3[,...]]]}

Permette girare in forward ogni messaggio ricevuto dal router ad uno o pi numeri telefonici
destinatari specificati nell'argomento. In caso di inserimento di numeri telefonici multipli, questi
devono essere specificati separati da virgola e senza spazi tra loro. Inoltre un numero telefonico
deve essere rigorosamente specificato con il prefisso Country Code (con o senza il carattere +
iniziale). Ad esempio, per l'invio dell'SMS in forward a due numeri telefonici di rete mobile
335-23054400 e 335-23223223, il comando di helper da inserire :

set sms helper-number 3933523054400, 3933523223223

oppure:

84
INTERFACCIA MOBILE Imola User Guide

set sms helper-number +3933523054400,+3933523223223

Infine, per attivare il servizio di messaggistica con la parametrizzazione appena introdotta,


opportuno lanciare il comando CLI:

set sms on

Una volta correttamente impostato ed attivato il servizio, possono essere inviati messaggi dal
router, con il comando:

sens-sms -d {NUMBER1[,NUMBER2[,NUMBER3[,...]]]} {TEXT_MESSAGE}

E' possibile l'invio di un messaggio di test a numeri telefonici multipli, purch questi vengano
specificati separati da virgola e senza spazi tra loro. Inoltre un numero telefonico deve essere
rigorosamente specificato con il prefisso Country Code (con o senza il carattere + iniziale). Ad
esempio, per l'invio dell'SMS forward a due numeri telefonici di rete mobile 335-23054400 e 335-
23223223, il comando di helper da inserire :
send-sms -d 3933523054400,3933523223223 ESEMPIO DI MESSAGGIO DI TESTO

Per inviare messaggi in determinate fasi del funzionamento del router o per sollevare l'invio di SMS
al verificarsi di determinati eventi (si vedano le sezioni relative alla programmazione dei triggers
legati alle varie interfacce e/o servizi del router), possibile eseguire il lancio di comandi di invio
SMS, associando gli stessi ai trigger pi opportuni in relazione alle circostanze di esecuzione.

Esempio 1:

Si attivato il modem Mobile e voglio ricevere informazioni via SMS relativamente al momento in
cui il modem va in connessione, oppure va in stand-by; si possono in questo caso utilizzare
comandi simili ai seguenti:

set trigger gprs up send-sms -d +3933523054400 Customer Alfa Romeo Arese Viale Alfa Romeo TGU 011223321 Mobile Interface just connected
set trigger gprs down send-sms -d +3933523054400 Customer Alfa Romeo Arese Viale Alfa Romeo TGU 011223321 Mobile Interface in stand-by now

Esempio 2:

Il router e' configurato come Backup di un primario ed esegue un protocollo VRRP per assistere la
rete cliente. Nel caso in cui il VRRP elegge il router al ruolo di master, pu essere inviata
segnalazione SMS per avvertire della circostanza:
set trigger vrrp up send-sms -d +3933523054400 Customer Olivetti Via Jervis TGU 099223321 Site Running with BACKUP ROUTER
set trigger vrrp down send-sms -d +3933523054400 Customer Olivetti Via Jervis TGU 099223321 Site came back to PRIMARY ROUTER

Esempio 3:

Si vuole avvertire che il router ha appena terminato il boot a seguito di un riavvio:


set autocmd send-sms -d +3933523054400 Customer Innocenti Lambrate MI TGU 0123111321 ROUTER JUST REBOOTED

Il servizio di messagistica offre infine anche un'interfaccia per la lettura di SMS di testo
convenzionale, con cui viene inteso tutto l'insieme di quei messaggi non contenenti comandi
eseguibili da parte del router. E' possibile infatti leggere messaggi ricevuti dal modem mediante i
seguenti comandi:

Visualizzare gli SMS ancora non letti: show sms new


Visualizzare gli SMS gi letti: show sms read
Visualizzare tutti gli SMS: show sms all

Ad esempio, con
show sms all

visualizziamo tutti gli sms ricevuti dal router ed avremo un output simile al seguente:

85
INTERFACCIA MOBILE Imola User Guide

-------------------------
From: 393495311921
From_SMSC: 393258819001
Sent: 14-01-21 09:48:59
Received: 70-01-01 17:07:23
IMSI: 222016702779444
Length: 57

Text Message: Comunicazione Servizio Dirigersi Settore A Appena Possibile

-------------------------
Press Enter to continue...

-------------------------
From: 393495310926
From_SMSC: 393358819001
Sent: 14-01-21 09:48:59
Received: 70-01-01 17:07:23
IMSI: 222016702779444
Length: 36

Text Message: Inviare SMS di conferma appena fatto

-------------------------
Press Enter to continue...

NOTIFICA CONNESSIONE MOBILE: COMANDO HELLO


E possibile inviare un messaggio contentente alcune informazioni utili relative alla sessione mobile
verso un server remoto affinch questi vengano memorizzati. Il comando da utilizzare :
hello <rem-host> <rem-port>

dove:

<rem-host> specifica lindirizzo ip del server cui mandare i messaggi.


<rem-port> specifica il valore della porta sullhost remoto

Il messaggio inviato ha il seguente formato:


00:0d:5a:07:01:13,222017392670415,355841030174450,6 CSQ (-101 dBm), HSDPA I TIM, IMOLA@217.1.1.1

Dove sono contenuti i seguenti campi separati dal carattere virgola:

MAC Address del router


IMSI della SIM Card usata dal Router
IMEI del Router
Valore CSQ (6) e traduzione in dBm (-101)
Tipo di rete (HSDPA) ed operatore cui il router collegato (TIM)
Hostname@Indirizzo IP del router

E possibile inviare periodicamente tale messaggio specificando la sequenza di comandi:

86
INTERFACCIA MOBILE Imola User Guide

set timer-tick 600


set trigger timer-tick hello 85.34.166.18 22000

Il messaggio viene inviato mediante un pacchetto UDP. Se come porta di destinazione si specifa il
valore 514 (syslog ) e sul sistema specificato attivo il servizio di syslog server, allora i dati inviati
saranno raccolti direttamente da questo.

INTERROGAZIONE DIRETTA DEL MODEM: COMANDO


GPRSAT
E possibile utilizzare un comando che interroga direttamente il modem mobile e restituisce
informazioni di stato utili alla diagnosi.

Il comando da utilizzare : gprs at <comando AT>, il quale invia al modem delle direttive secondo
il formalismo AT e ne visualizza il risultato. La lista dei comandi disponibili contenuta in un
manuale separato.

Normalmente tutti i comandi visualizzano la stringa OK se il modem funziona correttamente ed


ERROR in caso di guasto.

Comandi comuni
Verifica che il modem sia operativo:

root@IMOLA> gprsat at
at
OK

Qualora non si ottenga la stringa OK come risposta, provare ad effettuare un reset del modem
utilizzando i comandi9:
gprs --poweroff
gprs --poweron

e quindi riprovare il comando gprsat at.

Informazioni sul modem:

root@IMOLA> gprsat ati


Manufacturer: SIMCOM INCORPORATED
Model: SIMCOM_SIM5218A
Revision: SIM5218A_240065_090911_V1.16
QCN:
IMEI: 355841030174450
+GCAP: +CGSM,+DS,+ES
OK

9
Il comando gprs --poweroff deve essere eseguito con la sessione mobile non attiva (set gprs off)

87
INTERFACCIA MOBILE Imola User Guide

Visualizza il segnale disponibile:

root@IMOLA> gprsat AT+CSQ


AT+CSQ
+CSQ: 6,0
OK

Il valore in dBm del segnale si ottiene ricorrendo alla formula 2 * CSQ 113.

Ricerca operatori disponibili:

10
root@IMOLA> gprsat at+cops?
AT+COPS?
+COPS: 0,0,"I TIM",2
OK

Verifica se il modem registrato sulla rete mobile:

root@IMOLA> gprsat AT+CREG?


AT+CREG?
+CREG: 0,1
OK

Il valore +CREG:0,1 indica che il modem correttamente registrato sulla rete.

Verifica che il modem sia collegato alla APN mobile:

root@IMOLA> gprsat AT+CGATT?


AT+CGATT?
+CGATT: 1
OK

Il valore +CGATT: 1 indica che il modem collegato alla APN.

Lettura dellIMSI:

root@IMOLA> gprsat AT+CIMI


AT+CIMI
222017302670415
OK

Lettura delle Informazioni sulla Location:

root@IMIOLA> gprsat AT+CPSI?


AT+CPSI?
+CPSI: WCDMA,Online,222-01,0xEEB2,72507253,WCDMA IMT 2000,334,10638,0,16,103,16,12
OK

10
Su alcune release di software per utilizzare il carattere ? (punto interrogativo) bisogna digitare prima la sequenza CTRL+V

88
INTERFACCIA MOBILE Imola User Guide

DOPPIA SIM DATI


Alcuni modelli di router potrebbero essere equipaggiati con una doppia SIM dati: oltre alla SIM
interna al router, disponibile un alloggiamento per una seconda SIM accessibile dallesterno.

La SIM interna detta Primary-SIM, mentre quella esterna detta Secondary-SIM.

Il loro utilizzo mutuamente esclusivo ed regolato dalle seguenti regole:

di default viene sempre utilizzata la SIM allinterno del router (Primary-SIM)


specificando i comandi:
set gprs secondary-sim
set gprs secondary-apn <myapn2>

viene usata sempre la SIM esterna collegandosi allAPN myapn2.

specificando i comandi:
set gprs primary-sim
set gprs-primary-apn <myapn1>
set gprs secondary-sim
set gprs secondary-apn <myapn2>

viene usata la prima SIM come collegamento primario allAPN myapn1. Tuttavia se per 3 volte
consecute fallisca la registrazione su tale APN, allora si passa ad utilizzare la seconda SIM
sullAPN myapn2.

Il comando:

set gprs no-secondary-sim

disabilita luso della seconda SIM.

Analogamente il comando:
set gprs no-primary-sim

disabilita il meccanismo di selezione tra le due SIM utilizzando quella di default.

SBLOCCO SIM
Le funzioni di attivazione della sessione mobile richiedono che la SIM inserita sia senza il codice
PIN. Qualora tale codice sia impostato, possibile disattivarlo mediante il comando:
unlock-sim

Tale comando eseguito senza argomenti verifica la presenza o meno del codice PIN. Ad esempio, se
il PIN non presente, il risultato del comando :

root@IMOLA> unlock-sim
AT+CPIN?
+CPIN: READY
OK

per cui il modulo GPRS pu essere tranquillamento attivato. Se invece esso visualizza:

root@IMOLA> unlock-sim

89
INTERFACCIA MOBILE Imola User Guide

AT+CPIN?
+CPIN: PIN
OK

Allora occorre inserire eseguire il comando specificando il PIN come argomento:


root@IMOLA> unlock-sim 1234

Affinch il comando abbia effetto necessario che il modem sia operativo, in caso contrario il
comando non dar alcun output. Per portare il modem nella sua condizione di operativit si deve
utilizzare i comando gprspoweroff descritto nella sezione "Verifica che il modem sia operativo"
contenuta nel paragrafo "Interrogazione diretta tramite comandi AT".

LETTURA IMSI ED IMEI


Il comando
show interface gprs status

oltre ai dati di funzionamento della sessione mobile, visualizza anche il codice IMEI associato al
modem e il codice IMSI associato alla SIM presente. In alternativa, queste informazioni possono
essere recuperate rispettivamente mediante i comandi:

root@IMOLA> gprsat at+cgsn


AT+CGSN
355841030879777
root@IPV6-DTE> gprsat AT+CIMI
AT+CIMI
222015902932414

90
INTERFACCIA WI-FI Imola User Guide

INTERFACCIA WI-FI

CONFIGURAZIONE
La connessione WI-FI disponibile tramite un modulo che supporta gli standard 802.11 a/b/g che
permette al router di svolgere le funzioni di Access Point. E possibile configurare al massimo 8
Access Point (wlan0 .. wlan7) sulla stessa interfaccia radio.

Per attivare linterfaccia radio e tutte le wlan abilitate disponibile il comando:

set wifi on

Per attivare la singola interfaccia wlanX possiamo usare il comando:

set wifi wlanx on

Analogamente per la disattivazione:


set wifi off

o, nel caso di singola wlanX

set wifi wlanx off.

Per disattivare ed eliminare la configurazione di tutte le interfacce wlan e dellinterfaccia radio

set no-wifi

Per agire sulle singole interfacce wlan:

set wifi no-wlanx

La configurazione del servizio pu essere divisa in due sezioni:

Interfaccia radio, impostazione del canale e della modalit di trasmissione:

set wifi channel [1,,13]


set wifi hw_mode [a,b,g]

Interfaccia Logica, denominata wlanX - setup di tutti i parametri relativi agli SSID:

o ruolo:
set wifi wlanx mode ap
o stringa identificativa (ESSID) :
set wifi wlanx essid <stringa>
o mascheramento dellESSID (il valore di default no):
set wifi wlanx hide_ssid [yes|no]
o indirizzo IP:
IPv4 - set wifi wlanx ipaddr A.B.C.D netmask M.N.F.G
IPv6 - set wifi wlanx ipv6addr IPV6ADDRESS
o crittografia:
set wifi wlanx encryp [open | wpa-psk]
In funzione della crittografia scelta possiamo inserire altri parametri. Se la crittografia :
open: la rete WI-FI aperta cio non richiede di autorizzazione:
set wifi wlanx encryp open
wpa-psk: la rete chiusa cio richiede Autorizzazione tramite Pre-Shared-Key.
set wifi wlanx encryp wpa-psk version [1|2] [crypted-password | password] <STRINGA>

91
INTERFACCIA WI-FI Imola User Guide

wep: la rete chiusa cio ha bisogno di Autorizzazione tramite Pre-Shared-Key.


set wifi wlanx encryp wep [crypted-password | password] <STRINGA>

Tutti i parametri valorizzati sono utilizzabili se la wlan d'interesse abilitata tramite il comando:

set wifi wlanx enable [ yes | no]

il valore di default no.

Altro meccanismo utile al controllo degli accessi lidentificazione tramite MAC address. Per
abilitare il funzionamento usiamo il comando:
set wifi wlanx mac-filter enable yes

mentre per disabilitarlo:


set wifi wlanx mac-filter enable no

Dopo aver abilitato il Mac Filter, possiamo inserire o togliere i MAC address con la seguente
sintassi:
set wifi wlanx mac-filter add <MACADDRESS>
set wifi wlanx mac-filter del <MACADDRESS>

E possibile configurare il Bridge diretto dei pacchetti WI-FI su unaltra interfaccia usando il
comando:
set wifi wlanx bridge-with <IFName>

Per ripristinare il funzionamento classico:


set wifi wlanx no-bridge-with [<IFName>]

Sull'interfaccia wlanX possiamo configurare il DHCP server mediante i comandi11:

set dhcp-server ... ...

Il funzionamento dellinterfaccia controllato tramite i comandi di debug.

set wifi wlanx debug-level [0|1|2|3|4]

I possibili livelli sono:

0 warning ; 1 notification ; 2 messages ; 3 debugging ; 4 verbose.

Per completare la gestione dellinterfaccia WI-FI abbiamo due comandi dinamici per: de-autenticare
e disassociare un client.
wifi wlanx deauthenticate <MAC-ADDRESS>
wifi wlanx disassociate <MAC-ADDRESS>

L'ispezione dell'interfaccia WI-FI eseguita digitando:


show interface wifi ([all]|[wlanX]) ([statistics]|[status])

Dove:

all - fornisce le informazioni di tutte le wlan abilitate


statistics - visualizza lo stato delle interfacce
status - visualizza lo stato delle interfacce e delle station connesse

11
Per maggiori dettagli si consulti la sezione DHCP, tenendo presente che il nome dellinterfaccia WI-FI considerata wlanx

92
INTERFACCIA RS232 Imola User Guide

INTERFACCIA RS232
INTRODUZIONE
In alternativa allo switch LAN di 5 porte, Imola pu essere equipaggiato con 4 oppure 8 porte seriali
con connettore RJ45. Ad esempio la versione LX (Imola 0800 LX) con 8 porte:

In tal caso viene anche chiamato Imola TSE ed offre le funzioni di Terminal server: uno o pi
dispositivi collegati alle porte seriali di Imola possono accedere alla rete IP e viceversa possibile
scambiare dati con terminali seriali semplicemente inviando dati sulla rete IP.

Le principali applicazioni di Imola TSE sono:

Concentrazione di POS seriali con relativa conversione dei dati per trasportali su rete TCP/IP
Funzioni di Reverse Telnet
Concentrazioni di terminali X.28 e relativa conversione dei dati per trasportarli su rete
TCP/IP
Funzioni di Modbus Gateway per consentire la gestione di dispositivi PLC attraverso la rete
TCP/IP

Nel caso specifico di terminali POS, possibile attivare delle funzioni utili per ottimizzare le risorse
di rete, come ad esempio limpiego del protocollo X.28 oppure la possibilit di inviare i dati verso
un gruppo di Host.

CONFIGURAZIONE
Nella sua configurazione di fabbrica Imola TSE configurato in modo tale che ad ogni porta seriale
sia associato un socket TCP/IP, secondo il seguente schema:

Porta Seriale Socket TCP


1 8081
2 8082
3 8083
4 8084
5 8085
6 8086
7 8087
8 8088

I dati ricevuti sul socket vengono inviati quindi sulla porta seriale corrispondente e viceversa,
secondo la modalit di Reverse Telnet.

Qualora dalle porte seriali vengano ricevuti dei dati, ma nessun applicativo ha effettuato la
connessione alla porta socket corrispondente, questi sono inviati ad un indirizzo IP e porta
configurabile.

Con lobiettivo di ottimizzare la comunicazione, possibile abilitare lutilizzo di protocolli di


comunicazione specifici dei terminali collegati. In questa sezione vengono descritti i comandi di

93
INTERFACCIA RS232 Imola User Guide

utilizzo generale, indipendenti dal tipo di protocollo utilizzato. Documenti specifici trattano le
applicazioni specifiche. Quelle fondamentali supportate sono:

Gestione di terminali POS rs232 nativi


Gestione di terminali che utilizzano il protocollo X.28
Protocollo modbus per dispositivi PLC
Protocollo AWP per dispositivi Comma6
Transparent: i dati vengono inviati senza alcuna elaborazione.

Nella configurazione di fabbrica, Imola supporta la modalit transparent (utile per le applicazioni
di Reverse Telnet) e il protocollo X.28. I parametri di configurazione principali sono:
set rs232-protocol modbus/transparent/pos/awp

Specifica il tipo di protocollo utilizzato sulla porta seriale. Di default transparent, utile per le
applicazioni di tipo Reverse Telnet. Nel caso in cui viene specificato il valore POS, sono riconosciuti
i protocolli HGEPOS per i pos in banda magnetica e ISO 8583 per i POS a micro circuito.
set rs232 tty-server-port <port>

Configura la porta socket su cui ricevere i dati da Host. In particolare i dati ricevuti sul socket
<port> vengono inviatui sulla porta seriale #1, i dati ricevuti sul socket <port>+1 vengono
inviati sulla porta seriale #2, e cos via, i dati ricevuti sulla porta socket <port>+7 vengono
inviati sulla porta seriale #8.

set rs232 pos-server-port <port>


set rs232 hge-server-port <port>

Configura la porta socket su cui ricevere i dati da eventuali terminali POS collegati in rete locale ad
Imola.

set rs232 primary-host <ipaddr>


set rs232 primary-port <port>

Configura lindirizzo IP e la porta cui tentare linvio dei dati ricevuti da una porta seriale quando
ancora nessuna applicazione ha effettuato la connessione alla porta socket associata. Nel caso di
protocollo POS indica lindirizzo IP del centro di autorizzazione delle transazioni.

set rs232 primary-host-timeout <msec>

Configura timeout dattesa per connessione ad host primario; espresso in millisecondi.


set rs232 primary-type <adsl|gprs|isdn|lan>

Configura il tipo di connessione necessario per raggiungere lhost specificato. E obbligatorio


configurarlo quando lhost primario raggiungibile attraverso la rete ISDN.
set rs232 secondary-host <ipaddr>
set rs232 secondary-port <port>

Configura lindirizzo IP e la porta dell'Host secondario a cui mandare i dati ricevuti da una porta
seriale quando ancora nessuna applicazione ha effettuato la connessione alla porta socket associata
e lhost primario non disponibile.

set rs232 secondary-host-timeout <msec>

Configura il timeout dattesa connessione con l'host secondario; espresso in millisecondi.

set rs232 secondary-type <adsl|gprs|isdn|lan>

Configura il tipo di connessione necessario per raggiungere lhost specificato. E obbligatorio


configurarlo quando lhost secondario raggiungibile attraverso la rete ISDN.

94
INTERFACCIA RS232 Imola User Guide

set rs232 no-secondary-host

Elimina lhost secondario dalla configurazione.


set rs232 backup-host <ipaddr>
set rs232 backup-port <port>

Configura lindirizzo IP e la porta dell'Host di backup a cui mandare i dati ricevuti da una porta
seriale quando nessuna applicazione ha effettuato la connessione alla porta socket corrispondente
e n lhost primario e n quello secondario sono disponibili.
set rs232 no-backup-host

Elimina lhost di backup dalla configurazione.


set rs232 backup-timeout <msec>

Indica il valore del timer attivato nel caso in cui lhost primario non soddisfi le richieste prodotte dai
POS. Le richieste successive, ricevute entro tale timer, verranno re-indirizzate direttamente all'host
secondario. Allo scadere del timer di backup sar verificata di nuovo la disponibilit del
collegamento principale.
set rs232 sdn-hold-time <msec>

Indica il valore del timeout dopo il quale abbattere la sessione ISDN in caso di inattivit.

set rs232 enq-timeout <msec>

Significativo solo se il tipo di protocollo POS. Configura il tempo dattesa del carattere di ENQ
inviato dallhost. Se lENQ non arriva entro tale periodo, le richieste prodotte dai POS vengono
inoltrate all'host secondario.

set rs232 pos-helper

Significativo solo se il tipo di protocollo POS. A fronte della richiesta di connessione dal POS, il
router invia il pacchetto di ENQuire al POS, attiva la connessione verso lhost e scarta l'eventuale
ENQuire ricevuto da questultimo. Eventuali pacchetti ricevuti dal POS sono accodati dal router in
attesa della ricezione dell'ENQuire da Host.
set rs232 no-pos-helper

Significativo solo se il tipo di protocollo POS. Disabilita il meccanismo precedente. A fronte della
richiesta di connessione dal POS, il router prova ad attivare una sessione verso host. Il carattere di
ENQuire ricevuto da Host, viene inoltrato al POS.
set rs232 tty-speed <value>

Imposta la velocit di connessione sulle porte seriali. Valori validi sono 2400, 4800, 9600, 19200.

set rs232 tty-flow-control


set rs232 no-tty-flow-control

abilita (disabilita) il controllo di flusso hardware sulla porta seriale.


set rs232 tty-check-dsr

il riconoscimento dellinizio transazione avviene quando il segnale DSR diventa attivo: ovvero
quando Imola rileva il segnale DSR effettua una chiamata TCP verso lindirizzo IP configurato.
Quando invece il segnale si disattiva, Imola abbatte la connessione TCP.
set rs232 no-tty-check-dsr

il segnale DSR viene ignorato da Imola.


set rs232 tty-check-dcd

95
INTERFACCIA RS232 Imola User Guide

il riconoscimento dellinizio transazione avviene quando il segnale DCD diventa attivo: ovvero
quando Imola rileva il segnale DCD effettua una chiamata TCP verso lindirizzo IP configurato.
Quando invece il segnale si disattiva, Imola abbatte la connessione TCP.
set rs232 no-tty-check-dcd

il segnale DCD viene ignorato da Imola.


set rs232 tty-check-cts

il riconoscimento dellinzio transazione avviene quando il segnale CTS diventa attivo: ovvero
quando Imola rileva il segnale CTS effettua una chiamata TCP verso lindirizzo IP configurato.
Quando invece il segnale si disattiva, Imola abbatte la connessione TCP.

set rs232 no-tty-check-cts

il segnale CTS viene ignorato da Imola.

set rs232 use-x28


set rs232 explicit-nua

Abilita il protocollo X.28 sulle porte seriali. E necessario in questo caso configurare il NUA e
lindirizzo IP e socket ad esso associati.
set rs232 nua <value> <ipaddr> <port>

Configura lassociazione NUA-Indirizzo IP , Porta socket. I dati ricevuti per quel NUA sono inviati da
Imola allindirizzo IP e porta associati.
set rs232 no-nua <value>

Elimina lassociazione con il NUA specificato.

set rs232 no-use-x28


set rs232 implicit-nua

Disabilita il protocollo X.28 sulle porte seriali passando alla modalit trasparente. I parametri
relativi al NUA sono ignorati.

Salvataggio configurazione
Per rendere permanente la configurazione dell'interfaccia rs232 occorre eseguire, oltre al comando
"save" gi descritto, il seguente comando:

shell saveconf rs232

VISUALIZZAZIONE
possibile visualizzare informazioni riguardanti lo stato delle porte seriali mediante il comando:
show interface rs232

root@IMOLA-TA-TSE> show interface rs232


serinfo:1.0 driver:5.05c revision:2001-07-08
0: uart:16550A port:EF600400 irq:1 baud:9645 tx:51 rx:0 RTS|DTR
1: uart:16550A port:EF600300 irq:0 tx:0 rx:0 DSR|CD

EXAR serial multiport driver version 2.0


EXAR ST16C554 card #0
0: /dev/ttyM0 tx:93688 rx:158420 oe:0 pe:0 fe:0 RTS|DTR

96
INTERFACCIA RS232 Imola User Guide

1: /dev/ttyM1 tx:0 rx:0 oe:0 pe:0 fe:0 RTS|DTR


2: /dev/ttyM2 tx:0 rx:0 oe:0 pe:0 fe:0 RTS|DTR
3: /dev/ttyM3 tx:0 rx:0 oe:0 pe:0 fe:0 RTS|DTR
EXAR XR16L2550 card #1
4: /dev/ttyM4 tx:0 rx:0 oe:0 pe:0 fe:0 RTS|DTR
5: /dev/ttyM5 tx:0 rx:0 oe:0 pe:0 fe:0 RTS|DTR
EXAR XR16L2550 card #2
8: /dev/ttyM8 tx:0 rx:0 oe:0 pe:0 fe:0 RTS|DTR
9: /dev/ttyM9 tx:0 rx:0 oe:0 pe:0 fe:0 RTS|DTR

CONNETTORI SERIALI
Le porte RS232 di Imola sono di tipo RJ45 il cui schema dei PIN il seguente:

12345678
1 2 3 4
5678 DCD
RJ45
RTS TOP
DSR
TX
RX
GND
CTS
DTR

97
ROTTE STATICHE Imola User Guide

ROTTE STATICHE

CONFIGURAZIONE ROTTE STATICHE


Le tabelle di routing statico possono essere configurate mediante il comando:
set route net <dest> netmask <netmask> gw <gw_Ipaddr> [metric N]
set route net <dest> netmask <netmask> dev <interface> [metric N]

set route host <dest> gw <gw_ip_addr> [metric N]


set route host <dest> dev <interface> [metric N]

mentre per rimuovere una rotta il comando :


set no-route net <dest> netmask <netmask> gw <gw_ip_addr>
set no-route net <dest> netmask <netmask> dev <interface>

set no-route host <dest> gw <gw_ip_addr>


set no-route host <dest> dev <interface>

Ad esempio, per impostare una rotta verso la rete 10.1.10.0/24, tramite il gateway 10.10.254.1:

set route net 10.1.10.0 netmask 255.255.255.0 gw 10.10.254.1

mentre per rimuovere la rotta:

set no-route net 10.1.10.0 netmask 255.255.255.0 gw 10.10.254.1

Per aggiungere una rotta verso una destinazione di tipo IPv6:

set route ipv6 X:X::X:X/N

Le rotte aggiunte con il comando set route senza specificare alcun valore per il campo metric
sono rotte statiche che prevalgono su tutte le altre verso la stessa destinazione, in particolare anche
su quelle acquisite mediante lutilizzo di protocolli di routing dinamico (rip, bgp, ospf). Queste
rimangono attive anche nel caso in cui lo stato dell'interfaccia non sia operativo.

Nel caso in cui sia attivo un qualsiasi protocollo di routing dinamico, lopzione metric viene
interpretata come valore della distanza amministrativa della rotta. In questo caso pu anche essere
usata la forma:

set route net <dest> netmask <netmask> gw <gw_ipaddr> [distance N]


set route net <dest> netmask <netmask> dev <interface> [distance N]

E possibile specificare un tag da applicare alle rotte, utile nel caso in cui si vogliano attivare
meccanismi di redistribuzione di rotte mediante protocolli di routing dinamico. In questo caso la
sintassi del comando :

set route net <dest> netmask <netmask> gw <gw_ipaddr> tag N


set route net <dest> netmask <netmask> dev <interface> tag N

E possibile impostare le rotte utilizzando il comando ip12 in una delle seguenti forme:

12
Le rotte impostate mediante il comando ip vengono attualizzate sul router ma non vengono salvate nella configurazione.
Affinch queste vengano salvate nella configurazione ed attivate anche al prossimo reboot del router e' necessario che venga
eseguito il comando: set autocmd ip route add ....

98
ROTTE STATICHE Imola User Guide

ip route add <dst> dev <ifname> proto kernel [metric N]


ip route add <dst> via <nexthop> proto kernel [metric N]
ip route add <dst> via <nexthop> dev <ifname> proto kernel [metric N]

Nel caso che la destinazione sia di tipo IPv6, occorre specificare:

ip 6 route add <dst> dev <ifname> proto kernel [metric N]


ip 6 route add <dst> via <nexthop> proto kernel [metric N]

In questo caso tuttavia non possibile specificare la distanza amministrativa. Nel caso in cui siano
presenti rotte alternative verso la stessa destinazione, viene selezionata quella con metrica minore.
Il comando:

ip route get <dst>

visualizza quale rotta sar selezionata per raggiungere la destinazione <dst>.

Analogamente per le destinazioni di tipo IPv6:


ip 6 route get <ipv6-dst>

visualizza quale rotta sar selezionata per raggiungere la destinazione <IPv6-dst>.

Le rotte aggiunte direttamente mediante il comando IP hanno precedente su tutte le altre rotte.

BLOCCO DEL TRAFFICO MEDIANTE ROTTE STATICHE


Mediante il comando set route possibile bloccare il traffico verso determinate destinazioni
configurando il device null0 come interfaccia di uscita dei pacchetti, ad esempio:

set route net 85.34.166.16 netmask 255.255.255.248 dev null0

blocca il traffico verso la sottorete 85.34.166.16/29. Analogamente

set route host 10.1.10.10 dev null0

blocca tutto il traffico verso lhost 10.1.10.10.

Un'altra possibilit l'utilizzo del comando nativo ip, che permette di specificare delle rotte di tipo:
blackhole, prohibit e unreachable. Ad esempio:

ip route add blackhole 1.1.1.1


ip route add prohibit 2.2.2.2
ip route add unreachable 3.3.3.3

Nel caso blackhole l'effetto lo stesso della rotta su null0, cio i pacchetti vengono
semplicemente scartati.

Nel caso prohibit, i pacchetti vengono scartati ma viene generato un ICMP di tipo Proihitb
verso il sorgente.

Nel caso unreachable i pacchetti vengono scartati ma generato un ICMP di tipo Unreachable verso
il sorgente.

VISUALIZZAZIONE ROTTE STATICHE


Le rotte statiche possono essere visualizzate mediante il comando:
show route

99
ROTTE STATICHE Imola User Guide

Ad esempio:

root@Imola > show route


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.12.12 10.10.254.2 255.255.255.255 UGH 0 0 0 eth0
85.34.147.96 0.0.0.0 255.255.255.252 U 0 0 0 atm0
131.120.12.0 10.10.254.3 255.255.255.0 UG 0 0 0 eth0
10.10.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
172.151.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 85.34.147.97 0.0.0.0 UG 0 0 0 atm0

dove il flag U (UP) indica che la rotta attiva, il flag H indica che la destinazione un Host, il flag G
indica che la destinazione raggiungibile attraverso un Gateway.

Nel caso in cui siano attivi dei protocolli di routing dinamico, conveniente utilizzare il comando:

show ip route

Ad esempio:

root@IMOLA> show ip route

Router# show ip route


Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
B - BGP, > - selected route, * - FIB route

K * 0.0.0.0/0 via 10.64.64.64, ppp0 inactive


C>* 10.10.0.0/16 is directly connected, eth0
B>* 11.11.0.0/16 [20/0] via 172.151.113.100, eth1, 09:39:06
R 11.11.0.0/16 [120/2] via 172.151.113.100, eth1, 09:39:30
C>* 11.11.11.11/32 is directly connected, ippp1
K * 44.44.44.44/32 is directly connected, unknown inactive
C>* 100.100.100.0/30 is directly connected, tun0
R>* 111.111.111.111/32 [120/2] via 172.151.113.100, eth1, 09:39:30
C>* 127.0.0.0/8 is directly connected, lo
C>* 172.151.0.0/16 is directly connected, eth1
C>* 202.202.202.202/32 is directly connected, dummy0
Router#
root@IMOLA>

dove si pu notare il protocollo con cui le rotte sono state acquisite.

Per le rotte di tipo IPv6 si utilizza invece il comando: show ip v6 route.

100
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

INDIRIZZO DI LOOPBACK, GESTIONE


INTERFACCE DI RETE

INDIRIZZO LOOPBACK
Imola prevede la possibilit di definire e configurare un indirizzo loopback, cio un indirizzo che
identifica intrinsecamente il router e non associato ad alcuna interfaccia fisica. Tale indirizzo deve
essere sempre attivo e disponibile a prescindere dallo stato delle interfacce fisiche.

Per configurare lindirizzo loopback i comandi sono:

set loopback ipaddr <value>


set loopback on

Per assegnare un indirizzo di tipo IPv6:


set loopback ipv6addr X:X::X:X/128

Per visualizzarne lo stato si usa il comando:

show interface loopback

Ad esempio:

root@Imola > show interface loopback


3: dummy0: <BROADCAST,NOARP,UP> mtu 1500 qdisc noqueue
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 172.16.0.1/32 scope global dummy0

Il nome associato allinterfaccia loopback dummy0.

Per eliminare lindirizzo di loopback si usa il comando:


set no-loopback

COMANDO IFCONFIG
Il comando ifconfig permette di visualizzare informazioni sullo stato e sul funzionamento delle
varie interfacce di rete presenti su Imola.
ifconfig <ifname>

dove if il nome (ifName) dellinterfaccia desiderata. Ad esempio:

root@Imola > ifconfig eth0


eth0 Link encap:Ethernet HWaddr 00:0D:5A:04:6B:3E
inet addr:10.10.113.1 Bcast:10.10.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4059 errors:0 dropped:0 overruns:0 frame:0
TX packets:3064 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:267940 (261.6 KiB) TX bytes:602643 (588.5 KiB)
Interrupt:15

101
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

In questo esempio il comando visualizza informazioni relative allinterfaccia di rete corrispondente


alla porta eth0. Tra le altre:

il valore del MAC Address assegnato (HWaddr)


lindirizzo IP (inet addr)
la netmask (Mask)
lindirizzo di broadcast (Bcast)
il valore di Maximum Transfer Unit (MTU)

Visualizza inoltre alcuni flags di stato dellinterfaccia:

up indica che linterfaccia amministrativamente attiva (ifAdminStatus)


running indica che operativamente attiva (ifOperStatus)
multicast e broadcast indicano che sono supportate trasmissione e ricezione di pacchetti
multicast e broadcast.

Infine visualizza i contatori statistici, tra cui il numero di pacchetti trasmessi e ricevuti ed eventuali
errori.

Nellesempio seguente il comando visualizza lo stato dellinterfaccia eth3 associata alla terza porta
dello switch integrato:

root@Imola > ifconfig eth3


eth3 Link encap:Ethernet HWaddr 00:00:00:00:00:00
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Notiamo che manca il flag running,poich a questa porta non collegato alcun device.

Applicando il comando allinterfaccia di loopback, dummy0, si ottiene il seguente output:

root@Imola > ifconfig dummy0


dummy0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:172.16.0.1 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Invece eseguendo lo stesso comando in caso di loopback non definita, si ottiene:

root@Imola > ifconfig dummy0


dummy0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
BROADCAST NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

dove si pu notare sia lassenza del flag up che del flag running.

102
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

Lo stato dellinterfaccia ADSL in caso di incapsulamento PPP over ATM risulta essere:

root@Imola > ifconfig ppp0


ppp0 Link encap:Point-Point Protocol
inet addr:82.54.202.150 P-t-P:192.168.100.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:5553 errors:0 dropped:0 overruns:0 frame:0
TX packets:5124 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1188399 (1.1 MiB) TX bytes:829288 (809.8 KiB)

Lo stato della dialer ISDN ippp1 sar:

root@Imola > ifconfig ippp1


ippp1 Link encap:Point-Point Protocol
UP POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:30

INDIRIZZI SECONDARI (ALIAS)


Imola prevede la possibilit di definire e configurare degli indirizzi secondari associati ad un
determinata interfaccia. Tali indirizzi sono chiamati alias e possono essere impostati mediante il
comando:
set alias <ifname> ipaddr <ip_secondary> netmask <value>

Ad esempio per impostare sullinterfaccia eth0 lindirizzo secondario 10.10.254.254:

set alias eth0 ipaddr 10.10.254.254 netmask 255.255.0.0

Per aggiungere un indirizzo secondario di tipo IPv6:


set alias eth0 ipv6addr X:X::X:X/N

Per visualizzare gli indirizzi secondari configurati si pu usare il comando:

root@Imola > show alias


ALIAS="eth0 ipaddr 10.10.254.254 netmask 255.255.0.0"

e per verificare se effettivamente sono attivi:

root@Imola > ip addr list dev eth0


5: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:0d:5a:04:6b:3e brd ff:ff:ff:ff:ff:ff
inet 10.10.113.1/16 brd 10.10.255.255 scope global eth0
inet 10.10.254.254/16 brd 10.10.255.255 scope global secondary eth0:0

e analogamente mediante il comando ifconfig:

root@Imola > ifconfig eth0:0

103
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

eth0:0 Link encap:Ethernet HWaddr 00:0D:5A:04:6B:3E


inet addr:10.10.254.254 Bcast:10.10.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:15

COMANDO IP

Generalit
Il comando IP consente di gestire, in modalit estremamente avanzata, lattivazione e la verifica
delle interfacce IP e il relativo routing di Imola. Esso risulta essere uno strumento molto flessibile e
completo che consente, per esempio, di definire pi tabelle di routing da consultare a seconda della
provenienza del pacchetto, della destinazione o semplicemente dell'utente che richiede
l'utilizzazione della risorsa.

Le opzioni pi comuni del comando sono le seguenti:

ip link consente di visualizzare e modificare le caratteristiche dei dispositivi di uscita

ip route aggiunge o cancella una riga della routing table in cui sono contenute le informazioni
sui percorsi per raggiungere gli altri nodi di rete

ip rule definisce delle regole di instradamento non dipendenti solo dalla destinazione del
pacchetto ma anche da altri campi dell'header. A tale scopo vengono definite pi
tabelle di routing, a seconda del particolare tipo di pacchetto da gestire

ip addr associa indirizzi IP ai dispositivi di rete

ip neigh manipola le tabelle ARP di corrispondenza tra indirizzi IP e indirizzo fisici

Per operare su oggetti di tipo IPv6 (indirizzi, rotte, neighbor) occorre specificare lopzione 6. Ad
esempio:
ip 6 addr <options>
ip 6 route <options>

Il comando IP non ha effetti sulla configurazione di Imola, ovvero le modifiche alla tabella di routing
effettuate tramite di esso verranno perse al prossimo reboot del router. Tipicamente esso si utilizza
congiuntamente ai comandi di trigger per esprimere delle condizioni temporanee.

Ad esempio per attivare una rotta allo start-up del router:


set autocmd ip route add 10.1.10.10 via 10.10.254.1

oppure per attivare una rotta quando si stabilisce una connessione ISDN:
set trigger isdn up ip route add 10.1.10.0/24 dev ippp1

oppure quando si attiva la connessione GPRS:


set trigger gprs up ip route add 10.2.10.0/24 dev ppp0

oppure per modificare una rotta quando si entra nello stato di backup:

set trigger backup up ip route del 10.1.10.10 via 10.10.254.1


set trigger backup up ip route add 10.1.10.10 via 192.168.1.2

104
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

Visualizzare lo stato delle interfacce, le tabelle di ARP e di


routing mediante comando IP
Il comando ip consente la visualizzazione di link e rotte di instradamento presenti ed attivi sul
router Imola. Per esempio, il comando ip link list:

root@Imola> ip link list


1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: dummy0: <BROADCAST,NOARP,UP> mtu 1500 qdisc noqueue
link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:0D:5A:04:6F:F6 brd ff:ff:ff:ff:ff:ff
6: eth1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:0D:5A:84:6F:F6 brd ff:ff:ff:ff:ff:ff
7: ippp0: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 30
link/ppp

Mentre il comando ip address show consente di visualizzare le interfacce con relativi


indirizzi IP associati:

root@Imola> ip address show


1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
5: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:0D:5A:04:6F:F6 brd ff:ff:ff:ff:ff:ff
inet 10.10.254.254/16 brd 10.10.255.255 scope global eth0
8: ippp1: <POINTOPOINT,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 30
link/ppp
inet 11.11.11.11 peer 22.22.22.22/32 scope global ippp1

Il comando ip route show consente di visualizzare le tabelle di routing :

root@Imola> ip route show


22.22.22.22 dev ippp1 proto kernel scope link src 11.11.11.11
2.2.2.2 dev ippp0 proto kernel scope link src 1.1.1.1
10.8.0.2 dev tun0 proto kernel scope link src 10.8.0.1
85.34.147.96/30 dev atm0 proto kernel scope link src 85.34.147.98
85.34.166.16/29 dev eth1 proto kernel scope link src 85.34.166.18
10.1.10.0/24 via 10.10.254.1 dev eth0
10.8.0.0/24 via 10.8.0.2 dev tun0
10.10.0.0/16 dev eth0 proto kernel scope link src 10.10.254.254
default dev atm0 scope link

Il comando ip neigh show consente di visualizzare le tabelle ARP presenti sul router:

root@Imola> ip neigh show


10.10.4.0 dev eth0 lladdr 00:c0:26:a3:58:52 STALE
10.10.10.10 dev eth0 lladdr 00:40:33:a7:f1:70 STALE
10.10.4.177 dev eth0 lladdr 00:c0:26:a3:58:7c REACHABLE
10.10.2.98 dev eth0 lladdr 00:e0:4c:00:00:cd STALE

105
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

Dove per ogni indirizzo IP viene visualizzato il corrispondente Ethernet Address e lo stato del
protocollo ARP in cui questo si trova (reachable, stale, delay, probe, failed, etc.).

Cancellare le tabelle di arp mediante comando IP


La sintassi del comando ip per effettuare il flush della tabella di ARP :

ip neigh flush dev <ifname>

Ad esempio,

ip neigh flush dev eth0

azzera le tabelle di ARP associata allinterfaccia eth0.

Disabilitare uninterfaccia di rete mediante comando IP


La sintassi del comando ip per mettere in shut uninterfaccia di rete :

ip link set <ifname> down

mentre per riabilitarla:


ip link set <ifname> up

Aggiungere un indirizzo di rete mediante comando IP


La sintassi del comando ip per aggiungere un indirizzo ad uninterfaccia di rete :

ip addr add <ip-address>/N dev <ifname>

mentre per eliminarlo:

ip addr del <ip-address>/N dev <ifname>

Ad esempio:
ip addr add 172.20.1.1/24 de eth1

Policy routing mediante comando IP


A differenza del routing classico, che permette di effettuare delle decisioni in base all'indirizzo IP
destinazione, il Policy Routing permette di selezionare la rotta di instradamento oltre che in base
alla destinazione anche su altri parametri, quali ad esempio l'indirizzo IP sorgente, il tipo di
protocollo, la porta sorgente o destinazione, il campo TOS o una qualsiasi combinazione dei campi
del pacchetto IP.

Ogni criterio di routing viene quindi descritto all'interno di una tabella di routing distinta.

Il concetto risulta pi chiaro ricorrendo ad alcuni esempi:

Supponiamo di avere due interfacce di rete, chiamate rispettivamente atm0 ed atm1: sulla prima si
vogliono inviare i pacchetti TCP provenienti dalla sottorete 10.10.0.0/16 e diretti verso il servizio
80, sulla seconda si vogliono inviare tutti i pacchetti UDP provenienti dalla sottorete 10.10.0.0/16.

Mediante i comandi:

ip route add table 10 default via 1.1.1.2 dev atm0


106
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

ip route add table 20 default via 1.1.2.2 dev atm1

vengono definite due tabelle di routing, chiamate rispettivamente 10 e 20, dove la tabella 10 invia
tutto il traffico verso il nexthop 1.1.1.2 attraverso l'interfaccia atm0, mentre la tabella 20 invia
tutto il traffico sull'interfaccia atm1.

Una volta definite le tabelle, necessario caratterizzare il tipo di traffico che deve utilizzare la
tabella 10 ed il tipo di traffico che deve utilizzare la tabella 20.

Per fare questo si usa il comando ip tables che grazie allopzione mangle permette di classificare
il traffico in base ad una qualsiasi combinazione del pacchetto IP (il comando IPtables viene
trattato im dettaglio in una sezione dedicata).

Ad esempio il comando:
set iptables -t mangle -A PREROUTING -p tcp --dport 80 -s 10.10.0.0/16 -j MARK --set-mark 0x04

marchia con il valore 0x04, tutti i pacchetti di tipo TCP, provenienti dalla subnet 10.10.0.0/16 e
diretti verso la porta 80, mentre il comando:

set iptables -t mangle -A PREROUTING -p udp -s 10.10.0.0/16 -j MARK --set-mark 0x08

marchia tutti i pacchetti di tipo UDP con il valore 0x08. (Da tenere presente che la marchiatura non
viene effettuata sul pacchetto trasmesso in rete, ma su un descrittore di esso). Infine i comandi:

set ip rule add fwmark 0x04 table 10


set ip rule add fwmark 0x08 table 20

stabiliscono che i pacchetti marchiati con 0x04 devono consultare la tabella 10, mentre i pacchetti
marchiati con 0x08 seguiranno la tabella 20. Pertanto i pacchetti provenienti dalla subnet
10.10.0.0/16 di tipo TCP ed inviati verso il servizio 80 verrano instradati attraverso l'interfaccia
atm0, mentre i pacchetti di tipo UDP verranno inviati sull'interfaccia atm1.

La decisione di routing per il traffico non classificato viene presa consultando la tabella di routing di
default (se presente).

Il comando ip rule pu essere specificato mediante lopzione:

set ip rule <options>

oppure impostato come un autocmd:

set autocmd ip rule <options>

I comandi per aggiungere le tabelle di routing richiedono che linterfaccia sia attiva, per cui
opportuno che essi siano configurati come trigger dellinterfaccia:

set trigger adsl up ip route add table 10 dev atm0


set trigger adsl up ip route add table 20 dev atm1

PVC BUNDLING
La tecnica di PVC Bundling permette di creare uninterfaccia virtuale che aggrega due interfacce
fisiche, ovvero due circuiti differenti. Essa si applica a circuiti di tipo ADSL, SHDSL e Frame Relay.
Inoltre possibile classificare il traffico in modo tale che questo venga trasmesso solo sul circuito
desiderato.

Ad esempio, nel caso di una rete SHDSL sono definiti due distinti circuiti:

set shdsl line-mode 4-wire standard

107
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

set shdsl line-term cpe


set shdsl line-rate-type fixed
set shdsl pvc atm0 encap rfc1483-bridged
set shdsl pvc atm0 vpi 8
set shdsl pvc atm0 vci 35
set shdsl pvc atm0 no-default-route
set shdsl pvc atm0 no-masquerade
set shdsl pvc atm0 ipaddr 0.0.0.0
set shdsl pvc atm1 encap rfc1483-bridged
set shdsl pvc atm1 vpi 8
set shdsl pvc atm1 vci 36
set shdsl pvc atm1 no-default-route
set shdsl pvc atm1 no-masquerade
set shdsl pvc atm1 ipaddr 0.0.0.0
set shdsl on

I due circuiti corrispondono alle interfacce di rete chiamate shdsl.835 e shdsl.836. Impostando i
comandi:

set pvc-bundle pvc0 shdsl.835


set pvc-bundle pvc1 shdsl.836
set pvc-bundle ipaddr 192.168.1.2
set pvc-bundle netmask 255.255.255.252
set pvc-bundle on

oltre ai due circuiti SHDSL, verr creata linterfaccia virtuale pbond0 cui verr assegnato lindirizzo
192.168.1.2:

root@IMOLA> ifconfig pbond0


pbond0 Link encap:Ethernet HWaddr 00:0D:5A:9E:7B:B8
inet addr:7.1.1.10 Bcast:0.0.0.0 Mask:255.255.255.252
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:512
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

I pacchetti trasmessi su tale interfaccia verranno distribuiti in maniera round-robin su entrambe le


interfacce shdsl.835 ed shdsl.836, cio su entrambi i circuiti SHDSL.

Nellesempio stato scelto di non assegnare alcun indirizzo alle interfacce fisiche shdsl.835 e
shdsl.836, di conseguenza lunico modo per utilizzare la rete SHDSL quello di attivare
linterfaccia logica pbond0.

Nella sezione precedente stato descritto come grazie al comando iptables possibile
classificare i pacchetti ed assegnare loro un marchio.

Nella configurazione del bundling ad ognuno dei due circuiti pu essere associato un marchio in
modo tale che tutti i pacchetti contenenti tale valore verranno trasmessi sul circuito virtuale
corrispondente.

Ad esempio, una variante dei comandi precedenti la seguente:

set pvc-bundle pvc0 shdsl.835 mark 0x04


108
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

set pvc-bundle pvc1 shdsl.836


set pvc-bundle ipaddr 192.168.1.2
set pvc-bundle netmask 255.255.255.252

Se impostiamo il comando:
set iptables -t mangle -A PREROUTING -p tcp --dport 80 -s 10.10.0.0/16 -j MARK --set-mark 0x04

che marchia con il valore 0x04, tutti i pacchetti di tipo TCP, provenienti dalla subnet 10.10.0.0/16
e diretti verso la porta 80, allora tali pacchetti verrano trasmessi solamente sul circuito shdsl.835,
mentre tutti gli altri pacchetti verranno ripartiti in modo round-robin tra il circuito shdsl.835 ed
shdsl.836.

Inoltre se impostiamo i comandi:

set pvc-bundle pvc0 shdsl.835 mark 0x04


set pvc-bundle pvc1 shdsl.836 mark 0x08
set pvc-bundle ipaddr 192.168.1.2
set pvc-bundle netmask 255.255.255.252

set iptables -t mangle -A PREROUTING -p tcp --dport 80 -s 10.10.0.0/16 -j MARK --set-mark 0x04
set iptables -t mangle -A PREROUTING -p tcp --dport 110 -s 10.10.0.0/16 -j MARK --set-mark 0x08

leffetto :

i pacchetti diretti verso la porta 80 verranno inviati solo su shdsl.835


i pacchetti diretti verso la porta 110 verranno inviati solo su shdsl.836
tutti gli altri verranno ridistribuiti sulle due interfacce

Per disattivare le funzioni di bundling disponibile il comando:


set pvc-bundle off

Questo comando distrugge linterfaccia virtuale pbond0 per cui se non stato assegnato alcun
indirizzo alle interfacce fisiche shdsl.835 ed shdsl.836, queste difficilmente potranno essere
utilizzate. Sono disponibili anche i comandi:

set pvc-bundle masquerade


set pvc-bundle no-maquerade

Per abilitare o disabilitare le funzioni di PAT per i pacchetti in uscita sullinterfaccia pbond0.

set pvc-bundle default-route


set pvc-bundle no-default-route

Per attivare o disattivare una rotta statica di default sullinterfaccia bundling.

Linterfaccia pbond0 eredita i valori di MTU e dimensione della coda di trasmissione dalla seconda
interfaccia che viene messa nella lista di bundling. E tuttavia possibile variarli mediante i comandi:

set pvc-bundle mtu <valore>


set pvc-bundle qlen <valore>
set pvc-bundle no-mtu
set pvc-bundle no-qlen

Il valore di MTU non deve essere superiore al valore delle interfacce fisiche, mentre i valori di MTU
delle due interfacce fisiche deve essere uguali tra loro.

Infine per cancellare la configurazione del bundling disponibile il comando:

109
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

set no-pvc-bundle

Le funzioni di PVC Bundling sono trasparenti alla modalit di incapsulamento del PVC (routed o
bridged) e possono essere definiti anche su ADSL e su Frame Relay. Un esempio ADSL:

set adsl pvc-number 2


set adsl pvc atm0 encap rfc1483-llc
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 service UBR
set adsl pvc atm0 no-default-route
set adsl pvc atm0 no-masquerade
set adsl pvc atm0 ipaddr 0.0.0.0
set adsl pvc atm1 encap rfc1483-llc
set adsl pvc atm1 vpi 8 vci 36
set adsl pvc atm1 service UB
set adsl pvc atm1 no-default-route
set adsl pvc atm1 no-masquerade
set adsl pvc atm1 ipaddr 0.0.0.0
set adsl on

set pvc-bundle pvc0 atm0


set pvc-bundle pvc1 atm1
set pvc-bundle ipaddr 94.95.231.154
set pvc-bundle netmask 255.255.255.252
set pvc-bundle default-route
set pvc-bundle on

mentre su Frame Relay:

set wan protocol frame-relay


set wan mode v35
set frame-relay baud-rate external
set frame-relay station dte
set frame-relay lmi-type ansi
set frame-relay pvc pvc0 dlci 384
set frame-relay pvc pvc0 0.0.0.0
set frame-relay pvc pvc0 no-default-route
set frame-relay pvc pvc0 no-masquerade
set frame-relay pvc pvc1 mtu 1500
set frame-relay pvc pvc1 dlci 231
set frame-relay pvc pvc1 0.0.0.0
set frame-relay pvc pvc1 no-default-route
set frame-relay pvc pvc1 no-masquerade
set frame-relay pvc pvc1 mtu 1500
set frame-relay on

set pvc-bundle pvc0 pvc0


set pvc-bundle pvc1 pvc0
set pvc-bundle ipaddr 94.95.231.154
set pvc-bundle netmask 255.255.255.252
set pvc-bundle default-route
110
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

set pvc-bundle on

Per aggiungere le rotte sullinterfaccia di bundling, in alternativa al comando set pvc-bundle


default-route, si pu usare il comando:

set route net <destination> netmask <netmask> dev pbond0

COMANDO PING
Il comando ping permette di inviare pacchetti ICMP di tipo request verso un indirizzo IP remoto:

PING 151.1.1.1 (151.1.1.1) from 85.34.166.22: 56(84) bytes of data.


64 bytes from 151.1.1.1: icmp_seq=0 ttl=55 time=40.242 msec
64 bytes from 151.1.1.1: icmp_seq=1 ttl=55 time=39.860 msec
64 bytes from 151.1.1.1: icmp_seq=2 ttl=55 time=40.606 msec
64 bytes from 151.1.1.1: icmp_seq=3 ttl=55 time=40.107 msec
64 bytes from 151.1.1.1: icmp_seq=4 ttl=55 time=40.358 msec
64 bytes from 151.1.1.1: icmp_seq=5 ttl=55 time=39.570 msec

--- 151.1.1.1 ping statistics ---


6 packets transmitted, 6 packets received, 0% packet loss
round-trip min/avg/max/mdev = 39.570/40.123/40.606/0.424 ms

I pacchetti vengono inviati ogni secondo. Per interromperne lesecuzione occorre digitare <CTRL>-
C. Le statistiche riportano il tempo di Round Trip minimo, medio, massimo e lo scarto quadratico
medio misurato. Accetta numerose opzioni. Ad esempio:

Per specificare lintervallo tra un pacchetto e laltro:


ping -i N <ip-destinatario>

dove N espresso in secondi e pu assumere anche valori decimali.

Per specificare la dimensione del pacchetto da trasmettere:


ping s <size> <ip-destinatario>

Per specificare lindirizzo IP sorgente (ping esteso):

ping I <ip-source> <ip-destinatario>

Per inviare un numero predefinito di pacchetti:


ping c N <ip-destinatario>

Per specificare specificare il valore del TOS da inserire nel pacchetto IP:
ping Q <tos-value> <ip-destinatario>

Per inviare pacchetti con il bit DF settato ad 1:

ping M do <ip-destinatario>

Per inviare pacchetti con il bit DF settato ad 0:


ping M dont <ip-destinatario>

Le varie opzioni del comando possono essere combinate tra di loro, ad sempio:

ping 151.1.1.1 s 1472 M do Q 192 i 0.2 c 5

111
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

PING 151.1.1.1 (151.1.1.1) from 85.34.166.22: 1472(1500) bytes of data.


1480 bytes from 151.1.1.1: icmp_seq=0 ttl=55 time=58.794 msec
1480 bytes from 151.1.1.1: icmp_seq=1 ttl=55 time=58.333 msec
1480 bytes from 151.1.1.1: icmp_seq=2 ttl=55 time=59.094 msec
1480 bytes from 151.1.1.1: icmp_seq=3 ttl=55 time=59.150 msec
1480 bytes from 151.1.1.1: icmp_seq=4 ttl=55 time=58.585 msec

--- 151.1.1.1 ping statistics ---


5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/mdev = 58.315/58.684/59.150/0.405 ms

Per inviare dei pacchetti ICMP verso un host di tipo IPv6 si usa invece la viariante: ping6
X:X::X:X.

COMANDO TRACEROUTE
Il comando traceroute permette di tracciare il percorso necessario per raggiungere un host
remoto:

root@IMOLA> traceroute 10.10.10.10


traceroute to 10.10.10.10 (10.10.10.10), 30 hops max, 40 byte packets
1 85.34.166.18 (85.34.166.18) 1.429 ms 1.047 ms 1.310 ms
2 85.34.166.17 (85.34.166.17) 1.485 ms 1.301 ms 1.521 ms
3 10.10.10.10 (10.10.10.10) 2.614 ms 2.525 ms 2.542 ms

E possibile spcificare lindirizzo IP sorgente:


traceroute s <ip-sorgente> <ip-destinazione>

Inoltre possibile inviare pacchetti ICMP invece che pacchetti UDP mediante lopzione:
traceroute i <ip-destinazione>

COMANDO TCPDUMP
Il comando tcpdump visualizza tutti i pacchetti trasmessi e ricevuti su uninterfaccia di rete
specificata:

tcpdump i <ifname>

Per interrompere lesecuzione del programma bisogna digitare <CTRL>-C.

E possibile applicare dei filtri ai pacchetti ricevuti. Per filtrare:

solo i pacchetti diretti o ricevuti dallhost 151.1.1.1:

tcpdump i atm0 host 151.1.1.1

tutti i pacchetti tranni quelli diretti e ricevuti dallhost 151.1.1.1

tcpdump i eth0 host not 151.1.1.1es

solo i pacchetti ricevuti con indirizzo sorgente 85.34.166.18:

tcpdump -i atm0 src host 85.34.166.18

solo i pacchetti del protocollo HTTP::

112
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

tcpdump i atm0 port 80

tutti i pacchetti tranne quelli verso la porta Telnet:


tcpdump i atm0 port not telnet

solo i pacchetti di tipo ICMP:


tcpdump i atm0 icmp

solo i pacchetti ICMP diretti allhost 82.1.1.1:


tcpdump i atm0 icmp and dst host 82.1.1.1

tutti i pacchetti UDP:

tcpdump i atm0 udp

solo i pacchetti ICMP e i pacchetti verso lhost 82.1.1.1:

tcpdump i atm0 icmp or host 82.1.1.1

solo i pacchetti HTTP ed SSH:


tcpdump i atm0 port 23 or port 22

tutti i pacchetti tranne quelli VRRP:

tcpdump i eth1 not vrrp

solo i pacchetti GRE:

tcpdump i atm0 proto 47

solo i pacchetti OSPF:


tcpdump i eth1 proto ospf

COMANDO LOAD-AVG
Il comando load-avg misura il carico di uninterfaccia di rete in termini di traffico trasmesso e
ricevuto in un determinato intervallo. Per attivare il comando:
load-avg interface <ifname> interval <seconds>

mentre per visualizzare il carico:

show interface load-avg <ifname>

Ad esempio:

load-avg interface eth0 period 30

e dopo aver atteso almeno 30 secondi:

show interface load-avg eth0

30 second input rate 2.71 Kbit/sec, 1 packets/sec


30 second output rate 3.44 Kbit/sec, 2 packets/sec
53 packets input, 10412 bytes
0 multicast, 0 input errors, 0 dropped
0 frame error, 0 overruns
62 packets output, 13212 bytes
0 output errors, 0 dropped, 0 carrier lost
0 frame error, 0 overruns, 0 collisions

113
INDIRIZZO DI LOOPBACK, GESTIONE INTERFACCE DI RETE Imola User Guide

Per interrompere la misura si usa il comando:


no-load-avg

COMANDO SET INTERFACE


Il comando set interface permette di definire dei parametri di funzionamento per un
determinata interfaccia di rete. Le opzioni principali sono:
set interface <ifname> bandwidth <1-1000000>

per impostare la banda associata allinterfaccia. Tale valore verr eventualmente utilizzato dal
protocollo OSPF.
set interface <ifname> unnumbered

Per mettere linterfaccia in modalit unnumbered. Tale comando si utilizza insieme al protocollo
OSPF soprattutto per configurazioni su linee ISDN.
set interface <ifname> ipv6 nd <opzioni>

Per configurare il protocollo di Network Discovery di IPv6. Le opzioni permettono di specificare i


vari parametri di protocollo, come Router Advertisment lifetime, interval, etc.

114
ACCESS LIST, SOURCE NAT E REDIRECT Imola User Guide

ACCESS LIST, SOURCE NAT E REDIRECT


La gestione delle tabelle di filtraggio dei pacchetti presente su Imola in tre modalit semplificate
ed una avanzata13. Le tre modalit semplificate sono:

access-list (Access Control List) consente di mettere dei filtri per accettare o scartare pacchetti IP in transito
redirect consente di effettuare operazioni di reindirizzamento dei pacchetti da/verso indirizzi IP e/o porte diverse
consente di effettuare operazioni di mascheramento o di cambiare l'indirizzo sorgente e/o destinatario dei
source-nat
pacchetti IP

La modalit avanzata la modalit:

che consente di applicare in modo esplicito le direttive di filtraggio dei pacchetti mediante attivazione
iptables
diretta del comando iptables

importante considerare lordine mediante il quale vengono attivate le regole appartenenti alle
liste. Lordine il seguente:

iptables
acccess-list
redirect
source-nat

Il comando iptables verr ampiamente trattato nel capitolo seguente.

ACCESS LIST

Configurazione
La lista di regole per accettare o scartare pacchetti del protocollo IP (denominata Access List) , ed
eventualmente effettuarne il logging pu essere attivata mediante il comando set access-list.

Di default, sul router Imola, non viene definita alcuna Access List, per cui tutti i pacchetti vengono
accettati.

Sono presenti sei diverse regole di impostazione delle Access List, come descritto nel seguito del
paragrafo.

Per accettare i pacchetti:


set access-list permit
set access-list permit-log

Mentre, per scartare i pacchetti:


set access-list deny
set access-list deny-log

Il suffisso log indica che, in relazione alla gestione dei pacchetti, verranno effettuate anche
operazioni di logging.

13
E consigliato lutilizzo della modalit avanzata, mediante il comando iptables invece che i comandi set redirect, set
source-nat set access-list.

115
ACCESS LIST, SOURCE NAT E REDIRECT Imola User Guide

Per stabilire quali pacchetti possono attivare le chiamate ISDN:

set access-list dial-sdn

Per stabilire quali pacchetti possono attivare le chiamate PPP in caso di connessione GPRS:
set access-list dial-ppp

Dopo aver definito la regola occorre specificare il tipo di pacchetto su cui applicarla, descrivendone
il tipo di protocollo (prot), l'eventuale porta di destinazione (port) o sorgente (sport), l'indirizzo
sorgente (from), l'indirizzo destinatario (to) e, eventualmente, l'interfaccia d'ingresso (in-
interface) o d'uscita (out-interface).

I protocolli che si possono specificare sono tcp, udp, icmp, ah, gre, ospf, esp e all. Viene
accettato anche il valore numerico del protocollo.

La configurazione della porta sorgente o destinataria (port/sport) pu essere effettuata


specificando il servizio tramite nome (ad esempio: Telnet) o numero (23). inoltre possibile
utilizzare la keyword all per indicare che la regola sar applicata sui pacchetti destinati a qualsiasi
porta. anche possibile configurare un range di porte (come ad esempio: 17:23).

Per configurare l'indirizzo IP sorgente e/o destinatario possibile invece impostare direttamente
l'indirizzo IP (anche specificandone la Netmask), la chiave any (per indicare qualsiasi indirizzo IP) o
this (per indicare un indirizzo IP residente su Imola).

Di seguito troviamo un esempio relativo alle regole per pacchetti indirizzati al servizio echo da
qualsiasi indirizzo IP esterno, verso Imola.

Per accettare i pacchetti con protocollo TCP verso il servizio di echo destinati ad Imola:
set access-list permit prot tcp port echo from any to this

oppure per scartarli:


set access-list deny prot tcp port echo from any to this

per scartare i pacchetti in transito:


set access-list deny prot tcp port echo from any to any

Nel caso si voglia mantenere traccia dei pacchetti nel file di log, possibile specificare anche una
label della linea di log (log-prefix) ed il numero di pacchetti al minuto da visualizzare nel log
(limit). Se questi due parametri non vengono impostati si assume come limit 10 (10 pacchetti
tracciati al minuto) e come log-prefix il nome della regola pi il tipo di servizio (esempio permit-
logicmp o deny-logecho).

Nel seguente esempio vengono trattate le regole per pacchetti indirizzati al servizio echo da
qualsiasi indirizzo IP ad Imola con opzioni di log.

Per accettarli ed effettuarne il logging:


set access-list permit-log prot tcp port echo from any to this log-prefix YESecho

per scartarli ed effettuarne il logging:


set access-list deny-log prot tcp port echo from any to this log-prefix NOecho

Durante il logging la visualizzazione del pacchetto avr la seguente forma:

Mar 1 02:54:03 Imola kernel: YESechoIN=eth0 OUT=MAC=00:50:c2:1e:af:fe:00:c0:26:a


3:58:aa:08:00 SRC=10.10.8.197 DST=10.10.9.253 LEN=40 TOS=0x00 PREC=0x00 TTL=128 ID=11851
DF PROTO=TCP SPT=1600 DPT=7 WINDOW=17520 RES=0x00 ACK URGP=0

116
ACCESS LIST, SOURCE NAT E REDIRECT Imola User Guide

Per eliminare unaccess-list sufficiente negare la regola inserita con il comando CLI set no-
access-list

Esempio:
set access-list deny prot tcp port echo from any to this
set no-access-list deny prot tcp port echo from any to this

Nelle impostazioni delle Access List necessario tener conto dell'importanza della sequenza delle
regole; occorre infatti considerare il fatto che, appena una regola viene soddisfatta, il pacchetto
viene accettato o scartato immediatamente, senza passare alle regole successive.

Le Access List possono essere utilizzate, per esempio, nei seguenti casi:

quando si ha la necessit di negare l'accesso solo ad alcuni pacchetti, ad esempio negare


l'accesso al servizio icmp ed accettare quelli per tutti gli altri servizi:
set access-list deny prot icmp from any to this
quando si ha la necessit di accettare solo alcuni pacchetti, ad esempio accettare solo i
pacchetti indirizzati verso una certa rete, negando l'accesso a qualsiasi altro servizio:
set access-list permit prot all port all from any to 192.168.0.0/255.255.0.0
set access-list deny prot all port all from any to this

Le regole implementate in questo esempio consentono di accettare il traffico SNMP solo se


proveniente da un indirizzo IP noto:
set access-list permit prot udp port SNMP from 172.16.0.1 to this
set access-list deny prot udp port SNMP from any to this

E` fondamentale lordine con il quale le regole vengono inserite: vengono accettati i pacchetti in
arrivo se provenienti dallindirizzo IP 172.16.0.1 in quanto ricadono nella prima regola.

I pacchetti provenienti da altri indirizzi invece vengono rifiutati, poich ricadono nella seconda
regola, utilizzata appunto per vietare il traffico non desiderato.

Visualizzazione
possibile visualizzare le informazioni riguardanti le Access List con il seguente comando:
show access-list

questo comando ha l'effetto di elencare tutte le Access List impostate. Per esempio:

root@Imola> show access-list


ACCESSLIST="permit prot tcp port echo from any to this"
ACCESSLIST="permit-log prot icmp from any to this log-prefix YESicmp limit 20"

Per verificare quali sono effettivamente attualizzate si usa direttamente il comando iptables:

root@Imola> set access-list deny prot tcp port echo from any to this
iptables -A INPUT -p tcp --destination-port echo -j DROP

root@Imola> set access-list deny prot tcp port echo from any to any
iptables -A FORWARD -p tcp --destination-port echo -j DROP

root@Imola> iptables -L
Chain INPUT (policy ACCEPT)

117
ACCESS LIST, SOURCE NAT E REDIRECT Imola User Guide

target prot opt source destination


DROP tcp -- anywhere anywhere tcp dpt:echo

Chain FORWARD (policy ACCEPT)


target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:echo

Chain OUTPUT (policy ACCEPT)


target prot opt source destination
root@Imola>

e per esaminare i contatori statistici dei pacchetti che attraversano laccess list:

root@Imola> iptables L -v
Chain INPUT (policy ACCEPT 943K packets, 77M bytes)
pkts bytes target prot opt in out source destination
934 0 DROP tcp -- any any anywhere anywhere tcp dpt:echo

Chain FORWARD (policy ACCEPT 4053K packets, 2778M bytes)


pkts bytes target prot opt in out source destination
138 6584 DROP tcp -- any any anywhere anywhere tcp dpt:echo

Chain OUTPUT (policy ACCEPT 957K packets, 81M bytes)


pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:echo

REDIRECT

Configurazione
La lista di regole di reindirizzamento dei pacchetti su indirizzi IP e/o porte diverse (denominate
redirect) pu essere attivata mediante il set di comandi redirect.

Per impostare una regola di redirect occorre specificare alcuni parametri relativi al tipo di
pacchetto da reindirizzare, descrivendone il tipo di protocollo (prot), l'eventuale porta (port),
l'indirizzo sorgente (from), l'indirizzo destinatario (to) e impostando l'indirizzo IP (to-IP) o la porta
(to-port) a cui inviare il pacchetto.

I protocolli che si possono specificare sono ah, esp, gre, icmp, ospf, tcp, udp. E ammesso anche
il valore numerico del protocollo.

La configurazione della porta pu essere effettuata specificando il servizio tramite nome (ad
esempio: Telnet) o numero (23). Inoltre possibile utilizzare la keyword all per indicare che la
regola sar applicata sui pacchetti destinati a qualsiasi porta. anche possibile configurare un
range di porte (ad esempio: 17:23).

Per quanto riguarda la configurazione dell'indirizzo IP sorgente e/o destinatario possibile invece
impostare direttamente l'indirizzo (anche specificando la netmask), utilizzare la chiave any (per
indicare qualsiasi indirizzo IP) o this (per indicare pacchetti destinati ad Imola).

Per esempio:

118
ACCESS LIST, SOURCE NAT E REDIRECT Imola User Guide

il traffico destinato alla porta 7 (servizio echo), proveniente da qualsiasi indirizzo IP e


diretto ad Imola, redirezionato all'indirizzo IP 192.168.0.2:

set redirect prot tcp port 7 from any to this to-ip 192.168.0.2
il traffico destinato alla porta 7 (servizio echo), proveniente da qualsiasi indirizzo IP e
diretto ad Imola, redirezionato alla porta 13 (servizio daytime):
set redirect prot tcp port 7 from any to this to-port 13

possibile anche reindirizzare un pacchetto ad un diverso indirizzo IP e ad una diversa porta


contemporaneamente.

il traffico destinato alla porta 7 (servizio echo), proveniente da qualsiasi indirizzo IP e


diretto ad Imola, redirezionato all'indirizzo IP 192.168.0.2 ed alla porta 34; per completare
la redirezione del traffico viene utilizzata una regola di source-NAT (descritta nel paragrafo
seguente):
set redirect prot tcp port 7 from any to this to-ip 192.168.0.2:34
set source-nat prot tcp port 7 from any to 192.168.0.2 dev eth0
Per eliminare una regola di redirect sufficiente rilanciare la regola con set no-redirect:
set no-redirect prot tcp port 7 from any to this to-ip 192.168.0.2

Visualizzazione
Le informazioni riguardanti le regole di redirect possono essere mostrate mediante il comando
show redirect, il quale ha l'effetto di elencare tutte le regole redirect impostate. Per esempio:

root@Imola> show redirect


REDIR=prot tcp port echo from any to this to-ip 192.168.0.2

Per verificare quali sono effettivamente attualizzate si usa direttamente il comando:

iptables t nat L -v:

SOURCE-NAT

Configurazione
La lista di regole che consentono di mascherare o cambiare l'indirizzo sorgente e/o destinatario dei
pacchetti IP (denominata Source-NAT) pu essere attivata mediante il set di comandi source-nat.

Per impostare una regola di source-nat bisogna specificare il tipo di pacchetto a cui applicarla,
descrivendone il tipo di protocollo (prot), l'eventuale porta (port), l'indirizzo sorgente (from),
l'indirizzo destinatario (to) e il nuovo indirizzo sorgente con cui mascherare il pacchetto (dev o IP).

I protocolli che si possono specificare sono TCP, UDP, ICMP e ALL.

Per la porta (port) possibile specificare sia il servizio sia il numero; per quanto riguarda l'indirizzo
IP sorgente e/o destinatario possibile invece impostare direttamente l'indirizzo IP (anche
specificando la netmask) o utilizzare la parola chiave any (per indicare qualsiasi IP).

possibile effettuare due tipi di source-nat: mascheramento o cambio dell'indirizzo IP sorgente


del pacchetto.

119
ACCESS LIST, SOURCE NAT E REDIRECT Imola User Guide

Per effettuare operazioni di mascheramento necessario specificare il parametro dev; questo


parametro indica l'interfaccia d'uscita su cui effettuare il mascheramento. I pacchetti che
soddisferanno la regola impostata e che saranno spediti dall'interfaccia specificata avranno come
nuovo indirizzo sorgente l'indirizzo IP dell'interfaccia d'uscita.

Per assegnare invece un indirizzo IP arbitrario come sorgente ai pacchetti necessario specificare il
parametro IP. Ecco un esempio di mascheramento di tutti i pacchetti in uscita dalla interfaccia eth1:
set source-nat prot all from any to any dev eth1

Il comando CLI da utilizzare per effettuare la sostituzione dell'indirizzo IP sorgente di tutti i


pacchetti indirizzati alla rete 10.10.0.0/255.255.0.0 con l'indirizzo 10.10.0.1 il seguente:
set source-nat prot all from any to 10.10.0.0/255.255.0.0 ip 10.10.0.1

Per eliminare una regola di source-nat sufficiente rilanciare la regola con set no-source-nat,
come nel seguente esempio:

set no-source-nat prot all from any to any dev eth1

Il source-nat pu essere utilizzato, per esempio, nei seguenti casi:

quando si ha la necessit di mascherare l'indirizzo IP di una rete privata per connettersi alla
rete pubblica:
set source-nat prot all from any to any dev ippp0
quando si ha la necessit di accedere alla rete esterna con particolari indirizzi pubblici:
set source-nat prot all from any to any ip xxx.yyy.jjj.kkk

In questo esempio si vogliono mascherare i pacchetti in uscita e destinati ai servizi SNMP e RADIUS.
I pacchetti dovranno essere spediti sostituendo lindirizzo IP sorgente con lindirizzo IP della
interfaccia di loopback.

Per configurare linterfaccia di loopback si utilizzeranno i comandi:


set loopback ipaddr 172.25.0.4
set loopback on

Mentre per configurare le regole di source-nat:

set source-nat prot udp port snmp-trap from any to any ip 172.25.0.4
set source-nat prot udp port radius from any to any ip 172.25.0.4
set source-nat prot udp port radacct from any to any ip 172.25.0.4

oppure:
set source-nat prot udp port snmp-trap from any to any dev dummy0
set source-nat prot udp port radius from any to any ip dev dummy0
set source-nat prot udp port radacct from any to any ip dev dummy0

Visualizzazione
possibile visualizzare le informazioni riguardanti le regole di source-nat con il seguente
comando:
show source-nat

questo comando ha l'effetto di elencare tutte le regole di source-nat impostate. Esempio:

120
ACCESS LIST, SOURCE NAT E REDIRECT Imola User Guide

root@Imola> show snmp

SNAT="prot all from any to any dev eth1"


SNAT="prot all from any to 10.11.0.0/255.255.0.0 ip 10.11.0.1"

121
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

FUNZIONI DI FIREWALL: IPTABLES

GENERALIT
Su Imola presente il comando iptables che un tool avanzato per il filtraggio dei pacchetti della
rete, ovvero controlla i pacchetti che cercano di accedere, transitare e uscire dal router stesso. Esso
consente di realizzare:

Funzionalit di firewall sia stateless che stateful


Operazioni di Network Address Translation (NAT), sia statico che dinamico
Alterazione e marcatura dei pacchetti (mangle)
Accounting e logging dei pacchetti
Port forwarding
Load balancing

TABELLE, CATENE, REGOLE E TARGET


iptables raggruppa le regole di elaborazione dei pacchetti in tabelle. Sono definite tre tabelle di
default:

filter Regola le funzioni di firewall: quali pacchetti accettare, quali bloccare


nat Regola le attivit di natting (source-nat, destination-nat, pat)

mangle Regola i meccanismi per alteare i pacchetti

Ogni tabella costituita da un gruppo di catene predefinite (INPUT, OUTPUT, FORWARD, PREROUTING,
POSTROUTING) cui possono eventualmente essere aggiunte catene personalizzate. Ogni catena
composta da un insieme di regole che, in base ad un criterio di match, identificano i pacchetti di
rete: protocollo, indirizzo IP, servizio, etc. (ad esempio: -p tcp --dport 80 -d 10.0.1.1).

Ogni regola termina con unindicazione (target) su cosa fare dei pacchetti identificati dalla regola
stessa (ad esempio, -j ACCEPT, -j DROP, -j LOG, ...).

Le catene indicano dei punti prestabiliti (detti anche hook points) nel corso dellelaborazione del
pacchetto di rete nei quali il pacchetto viene esaminato per applicare la regola stabilita ed eseguire
il target nel caso in cui il match associato alla regola sia stato soddisfatto.

In base alla tabella (filter, NAT o mangle) vengono usate le catene associate. In particolare, per le
funzioni di filter si utilizzano le catene di INPUT, FORWARD ed OUTPUT, per le funzioni di NAT quelle
di PREROUTING e POSTROUTING, mentre le funzioni di mangle possono avvenire allinterno di una
qualsiasi catena. Il significato di ogni catena spiegato nei paragrafi seguenti.

La sintassi generica del comando iptables la seguente:

iptables t table -[AD] chain rule-specification [options]


iptables t table -[I] chain [rulenum] rule-specification [options]
iptables t table -D chain rulenum [options]
iptables t table -[L] [chain] [options]

dove si specificano: la tabella di riferimento (-t NAT table), se aggiungere o togliere la regola
allinterno della catena (-A chain, -D chain, -I chain), la regola per il match dei pacchetti e lazione
(target) da eseguire. Il comando:
122
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

iptables -t table L v

mostra informazioni e contatori statistici relativamente al regole che sono state soddisfatte (vedi
paragrafo sullaccounting).

Successivamente saranno mostrati degli esempi esplicativi.

FIREWALL CON LA TABELLA FILTER


La tabella filter (-t filter) riguarda le attivit di filtraggio del traffico. E la tabella di default: viene
usata qualora non venga specificata alcuna tabella dal comando iptables. Ha 3 catene di default:

INPUT si applica ai pacchetti ricevuti dal router e diretti ad esso


OUTPUT si applica ai pacchetti inviati dal router, cio generati localmente
FORWARD si applica ai pacchetti in transito dal router

Per permettere laccesso al servizio di Telnet del router:


iptables t filter -I INPUT p tcp --dport 23 j ACCEPT

analoga a:

iptables I INPUT p tcp --dport 23 j ACCEPT

Per permettere che lhost con IP 10.0.1.1 possa accedere al server con IP 192.168.0.1:

iptables I FORWARD s 10.0.1.1 d 192.168.0.1 j ACCEPT

mentre per negare laccesso alla porta 80 allhost con IP 10.0.1.2:

iptables I FORWARD -p tcp --dport 80 s 10.0.1.2 d 192.168.0.1 j DROP

Le regole vengono analizzate in base allordine con cui sono state aggiunte. Una regola pu essere
inserita in testa alla lista mediante lopzione I oppure in fondo (e quindi valutata per ultima)
mediante lopzione A. E possibile inserire una regola in una determinata posizione mediante
lopzione: -I chain num. Ad esempio:

iptables A FORWARD -p udp --dport 37 s 10.0.1.2 d 192.168.0.1 j DROP


iptables I FORWARD 2 -p tcp s 10.0.1.2 d 192.168.0.1 j DROP

Per visulizzare le regole presenti nella tabella di filter:

iptables t filter L v

mentre
iptables L v --line-numbers

mostra anche il numero dordine della regola.

Ad ogni catena definita una azione di default da applicare qualora un pacchetto non abbia
verificato il criterio di nessuna delle regole presenti. Lazione di default quella di accettare il
pacchetto e passare alla tabella successiva. Mediante lopzione P possibile modificare lazione
di default. Ad esempio:

iptables -P FORWARD DROP


iptables P OUTPUT ACCEPT

123
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

NETWORK ADDRESS TRANSLATION CON LA


TABELLA NAT
La tabella NAT (-t NAT) si usa per modificare indirizzi e porte sorgenti e destinazione dei pacchetti
di rete. Ha 3 catene di default:

Usata per alterare i pacchetti ricevuti attraverso un'interfaccia di rete, al momento del loro arrivo.
PREROUTING
Viene usata per effettuare Destination NAT. Il target j DNAT

Usata per alterare i pacchetti in uscita dal router stesso, cio quelli generati localmente. Si usa
OUTPUT
per Source NAT. Il target j SNAT.

catena altera i pacchetti prima che vengano instradati attraverso un'interfaccia di rete. Si usa per
POSTROUTING
Source NAT. Il target j SNAT oppure j MASQUERADE per interfacce con IP dinamici.

Ad esempio:

I pacchetti provenienti dalla sottorete 10.10.0.0/16 e diretti alla sottorete 192.168.1.0/24


vengono trasmessi con lIP sorgente 172.16.1.1:

iptables t nat A POSTROUTING s 10.10.0.0/16 d 192.168.1.0/24 j SNAT --to-source 172.16.1.1

Il parametro --to-source pu essere espresso solamente come --to.

I pacchetti in uscita sullinterfaccia ppp0 vengono trasmessi con lIP associato a tale interfaccia:

iptables -t nat A POSTROUTING o ppp0 -j MASQUERADE

I pacchetti diretti alla sottorete 192.168.1.0/24 si presentano con lIP 172.16.1.1, mentre quelli
diretti alla sottorete 192.168.2.0/24 si presentano con lIP 172.16.2.2:

iptables t nat A POSTROUTING d 192.168.1.0/24 j SNAT --to 172.16.1.1


iptables t nat A POSTROUTING d 192.168.2.0/24 j SNAT --to 172.16.2.2

I pacchetti ricevuti e indirizzati allindirizzo pubblico 85.34.166.21 sono rediretti allindirizzo


privato 10.10.1.195:

iptables t nat A PREROUTING d 85.34.166.21 j DNAT --to-destination 10.10.1.195

Il parametro --to-destination pu essere espresso solamente come -to.

PORT FORWARDING
Il target j DNAT della tabella NAT viene spesso utilizzato per effettuare funzioni di Port
Forwarding e Load balancing, ad esempio, i pacchetti TCP diretti alla porta 80 dellindirizzo
pubblico 85.34.166.21 sono rediretti alla porta 8080 dellindirizzo privato 10.10.1.195:

iptables t nat A PREROUTING p tcp d 85.34.166.21 --dport 80 j DNAT --to 10.10.1.195:8080

e per distribuire le connessioni HTTP verso un gruppo di server interni:


iptables t nat A PREROUTING p tcp d 85.34.166.21 --dport 80 j DNAT --to 10.10.1.195-10.10.1.198

Con tale comando le connessioni vengo reindirizzate in modalit round robin verso i server
10.10.1.195, 10.10.1.196, 10.10.1.197 e 10.10.1.198. E da notare che nel caso in cui uno dei
server non sia disponibile, il tentativo di connessione fallisce.

124
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

ALTERAZIONE DEI PACCHETTI CON LA TABELLA


MANGLE
Le tabella mangle (-t mangle) permette la modifica di vari header IP o TCP di un pacchetto. Viene
tipicamente usata per alterare il valore del campo TOS dellheader IP oppure il valore del camp MSS
di TCP. Prevede le seguenti catene:

INPUT altera i pacchetti di rete in ingresso


OUTPUT altera i pacchetti di rete prima che vengano inviati all'esterno
FORWARD altera i pacchetti di rete in transito dal router
PREROUTING altera i pacchetti ricevuti attraverso un'interfaccia di rete prima che vengano instradati
POSTROUTING altera i pacchetti prima che vengano inviati attraverso un'interfaccia di rete

Impostazione del massimo throughput per il protocollo SSH:

iptables -t mangle -A FORWARD -p tcp --dport 22 -j TOS --set-tos Maximize-Throughput

Modifica del TOS per ridurre la latenza dei pacchetti DNS:

iptables -t mangle -A FORWARD -p udp --dport 53 -j TOS --set-tos Minimize-Delay

Impostazione di MSS al valore di 1400:

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1400

oppure per adattare il valore del MSS a quello della MTU:

iptables -A FORWARD -p TCP --TCP-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Impostazione del valore del DSCP a 32 per i pacchetti che attraversano un tunnel GRE:
iptables t mangle -A POSTROUTING p 47 -j DSCP --set-dscp 32

APPLICAZIONE DELLE REGOLE SUI PACCHETTI


Il percorso tipico di un pacchetto IP rappresentato dal seguente diagramma:

Il pacchetto entra dallinterfaccia di rete (eth0 nellesempio) e prima del processo di routing viene
sottoposto allapplicazione delle regole presenti nella catena di PREROUTING. In questo passaggio
vengono applicate le regole di Destination NAT (DNAT) se i match presenti nella catena trovano
corrispondenza nel pacchetto in arrivo.

Se il pacchetto, in base alla tabella di routing, destinato allinterfaccia di rete in uscita (eth1 nel
diagramma) vengono applicate le regole descritte nella catena di FORWARD. Se il pacchetto
destinato al router stesso vengono applicate le regole descritte nella catena di INPUT.

125
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Se il pacchetto stato generato da un processo locale al router vengono applicate le regole


contenute nella catena di OUTPUT.

Sia nel caso di FORWARD che di OUTPUT, prima di uscire dalla scheda di rete eth1, il pacchetto
subisce lapplicazione delle regole descritte nella catena di POSTROUTING. In tale fase vengono
applicate le regole per il Source-nat (SNAT) o Masquerade.

In ogni catena vengono applicate le regole di alterazione dei pacchetti.

CRITERI STANDARD DI MATCH


Le possibilit di matching di pacchetti sono diversi e possono essere combinate allinterno della
stessa regola:

-p proto Protocollo IP (TCP, UDP, ICMP, GRE, AH, ...)


-s address[/mask] Indirizzo IP sorgente (o network sorgente con maschera)
-d address[/mask] Indirizzo IP destinazione (o network con maschera)
-i interface Interfaccia di ingresso
-o interface Interfaccia di uscita

I criteri possono essere negati usando il carattere !. Ad esempio tutti i protocolli tranne ICMP: -p !
icmp.

Nel caso di protocollo TCP (-p tcp) valgono le seguenti estensioni:

--sport port[:port] La porta o un range di porte sorgente. Ad esempio 1:1024 = > tutte le porte tra 1 e 1024
La porta o un range di porte di destinazione. Ad esempio 1:1024 = > tutte le porte tra 1
--dport port[:port]
e 1024.
Per specificare la presenza di flag nel pacchetto TCP (SYN,ACK,FIN,RST,URG). Viene
--tcp-flags flag
indicata la lista dei bit da trattare ed il valore che devono assumere.
--syn I pacchetti con solo SYN attivo (nuove connessioni)

Esempio per scartare tutte le richieste di connessioni TCP in ingresso verso porte privilegiate:
iptables -I INPUT -p tcp --syn --dport 0:1024 -j DROP

Per verificare tutte le possibili estensioni TCP:


iptables p udp --help

Nel caso di protocollo UDP (-p udp) valgono le seguenti estensioni:

La porta o un range di porte sorgente.


--sport port[:port]
Ad esempio 1:1024 = > tutte le porte tra 1 e 1024
La porta o un range di porte di destinazione.
--dport port[:port]
Ad esempio 1:1024 = > tutte le porte tra 1 e 1024

Esempio per permettere pacchetti UDP per traceroute:


iptables -I INPUT p udp --sport 32769:65535 --dport 33434:33523 -j ACCEPT

Per verificare tutte le possibili estensioni UDP:

iptables p udp --help

Nel caso di protocollo ICMP (-p ICMP) valgono le seguenti estensioni:

126
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Dove type indica il tipo del pacchetto icmp da trattare. Pu essere il valore
--icmp-type type
numerico oppure il valore simbolico

Per verificare tutte le possibili estesioni di ICMP:


iptables p icmp --help

TARGET
Ogni regola termina con la definizione di un target che indica cosa viene fatto del pacchetto che
ha soddisfatto il match. Il target determina linterruzione della catena: il pacchetto che ha
soddisfatto il match segue le indicazioni del Target e non vengono considerate le catene successive.
I target principali sono i seguenti:

Il pacchetto che soddisfa il criterio di match viene accettato e procede verso la sua
-j ACCEPT
destinazione. Usato per definire il traffico permesso.
Il pacchetto viene rifiutato e scartato senza alcuna notifica al mittente. Si usa in aLTErnativa
-j DROP
a REJECT per bloccare il traffico

Il pacchetto viene rifiutato. Al mittente viene inviato un pacchetto (configurabile) di notifica,


-j REJECT tipo ICMP port-unreachable: --reject-with icmp-port-unreachable. Lelenco delle
possibili notifiche viene visualizzato mediante il comando iptables j REJECT -help

Il pacchetto viene loggato mediante syslog e procede lattraversamento delle catene.


-j LOG
Possibili opzioni sono: --log-level e --log-prefix

Viene modificato lIP destinazione del pacchetto. Il target disponibile solo nelle catene di
PREROUTING e OUTPUT della tabella nat. Lopzione to-destination IP:porta
-j DNAT
definisce il nuovo IP (e la nuova porta) di destinazione. Si usa per effettuare il NAT di un
indirizzo pubblico verso un server della DMZ.

Viene modificato lIP sorgente. Si usa solo nella catena di POSTROUTING della tabella
-j SNAT NAT. Prevede lopzione -to-source IP:porta. Il parametro porta opzionale. Si
usa per permettere laccesso ad Internet ad una rete locale con IP privati.

Simile a SNAT, si usa quando i pacchetti escono da uninterfaccia con indirizzo dinamico.
-j MASQUERADE
Valido nella catena di POSTROUTING della tabella NAT.

Ridirige il pacchetto verso una porta locale al router. Si usa nelle catene PREROUTING ed
-j REDIRECT
OUTPUT della tabella NAT.
Si usa nella tabella mangle, permette di cambiare il valore del TOS (Type Of Service) del
-j TOS
pacchetto.
-j DSCP Si usa nella tabella mangle, permette di modificare il valore del DSCP dellheader di IP .

Si usa nella tabella mangle per rimuovere il campo ECN (Explicit Congestion Notification)
-j ECN dallheader TCP. Ad esempio:
iptables -t mangle -A FORWARD -p tcp -j ECN --ecn-tcp-remove

Si usa nella tabella mangle per eliminare le opzioni presenti allinterno dellheader IPv4:
-j IPV4OPTSSTRIP
iptables t mangle A FORWARD j IPV4OPTSSTRIP
Permette di sostituire gli host di una rete con quelli di unaltra. Ad esempio il comando:
-j NETMAP iptables t nat A PREROUTING d 10.10.10.0/24 j NETMAP to 192.168.1.0/24
sostituisce lindirizzo di destinazione 10.10.10.x con lindirizzo 192.168.1.x

Usata per modificare il valore del Maximum Segment Size del TCP. Ad esempio:
-j TCPMSS iptables.... j TCPMSS --clamp-mss-to-pmtu
E prevista lopzione --set-mss value.

127
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Permette di marcare i pacchetti in modo da analizzarli in altri punti. Ad esempio per


aggiungere una rotta in base allindirizzo sorgente:
-j MARK iptables t mangle A PREROUTING s 10.10.1.1 j MARK --set-mark 0x04
ip rule add fwmark 0x04 table 40
ip route add default table 40 dev atm0

Per consultare lelenco dei parametri disponibili si usa il comando:


iptables j <TARGET> --help

Ad esempio:
iptables j REJECT --help
iptables j TOS --help
iptables j DSCP --help

CRITERI AVANZATI DI MATCH


Oltre ai criteri elencati esistono delle estensioni particolarmente versatili e potenti.

La tabella ne illustra quelli pi significativi.

Permette di stabilire il numero di connessioni contemporanee. Ad esempio:


iptables A INPUT p tcp --dport 23 s 192.168.254.201 -m connlimit --connlimit-above 4 j REJECT
-m connlimit
ammette massimo 4 connessioni telnet contemporaneamente attive telnet verso il router
dallindirizzo 191.168.254.201. Le altre vengono rifiutate.

La regola viene soddisfatta se il tasso di arrivo dei pacchetti conforme ai parametri specificati. Le
possibili opzioni sono:
--limit rate/unit
--limit-burst value/unit
-m limit
Ad esempio mediante le regole:
iptables A FORWARD -p icmp m limit -limit 10/sj ACCEPT
iptables A FORWARD p icmp j DROP
vengono accettati solo i pacchetti di ping al ritmo di 10 al secondo.

Viene controllato il MAC sorgente del pacchetto. Ad esempio:


-m mac
iptables A FORWARD -m mac --mac-source 00:0d:5a:04:01:02 j DROP

Usato per effettuare un match su base statistica, utile per simulare dei link difettosi. Ad esempio:
-m random iptables A FORWARD d 10.10.1.1 m random --average 10 j DROP
scarta in maniera random il 10 per cento dei ping verso 10.10.1.1

Verifica il tipo di pacchetto in base allindirizzo di destinazione di livello 2. E prevista lopzione


-pkt-type type dove type pu assumere i valori:
broadcast
multicast
-m pkt-type
unicast
Ad esempio per scartare tutti i multicast in arrivo sulla interfaccia eth0:
iptables A INPUT i eth0 m pkttype --pkt-type multicast j DROP

128
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Verifica il tipo di pacchetto in base allindirizzo di destinazione di livello 3. Sono previste le opzioni:
--src-type type[,...]
--dst-type type[,...]
-m addrtype dove type pu assumere i valori:
UNICAST LOCAL BROADCAST MULTICAST ANYCAST
Ad esempio, per scartare i pacchetti di multicast ricevuti:
iptables A INPUT m addrtype --dst-type MULTICAST j DROP

Imposta un filtro sulla lunghezza del pacchetto. E prevista lopzione:


--length len1:len2
-m length
Ad esempio, per scartare i pacchetti di icmp con lunghezza maggiore di 700 byte:
iptables A INPUT p icmp m length -length 700:1500 j DROP

Protocollo AH (Authentication Header) di IPSec. E prevista lopzione:

--ahspi min[:max]
-m ah
Esempio:

iptables A INPUT p ah m ah -ahspi 500 j LOG

Usata per identificare il pacchetto in base al valore del campo DSCP allinterno dellheader IP. Sono
previste le opzioni:
--dscp value --dscp-class name.
-m dscp
Esempio:

iptables A FORWARD p icmp m dscp --dscp 32 j LOG

Identificazione in base al valore del campo ECN (Explicit Congestion Notification) dellheader IP .
-m ecn Sono previste le opzioni:
--ecn-ip-ect [0..3] --ecn-tcp-cwr --ecb-tcp-ece
Protocollo ESP (Encapsulating Security Payload) di IPSec. E prevista lopzione:

--espspi min[:max]
-m esp
Esempio:

iptables A INPUT p esp m esp --espspi 500 j DROP

Ha lo stesso effetto del match p icmp. Sono previste le opzioni:

--icmp-type typename
-m icmp
Il comando iptables m icmp --help mostra tutti i possibili codici utilizzabili come icmp-
type.

Indentificazione in base alle opzioni presenti nellheader IPv4. Sono riconosciute le seguenti
estensioni:
--ssrr per Strict Source and Record Route
--lsrr per Loose Source and Record Route
--rr per Record Route
-m ipv4options
--ts per TimeStamp
--ra per Router Alert
Esempio per scartare quei pacchetti che contengono lopzione RR:

iptables A FORWARD m ipv4options -rr j DROP

129
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Pemette di specificare una lista (fino a 15) porte con lo stesso comando. Ad esempio, per accettare
i pacchetti diretti alle porte 22, 80 e 443:
iptables A FORWARD p tcp m multiport --dports 22,80,443 j ACCEPT
-m multiport Sono previste le opzioni:
--dports per indicare le porte di destinazione
--sports per indicare le porte sorgenti
--ports per indicare sia quelle di destinazione che quelle sorgenti.

Verifica il match ogni N pacchetti. Ad esempio:


-m nth iptables A FORWARD p icmp d 10.10.10.10 m nth -every 3 j LOG
ogni 3 match consecutvi, viene effettato un log.
Controlla i tentativi di Port Scanning. Sono ammesse le opzioni:
--psd-delay-threshold delay in milliseconds
-m psd
--psd-hi-ports-weight weight
--psd-lo-ports-weight weight
Identifica il pacchetto in base al valore del TOS. Lelenco dei possibili possibili valori dellopzione --
tos viene visualizzato mediante il comando:

iptables -m tos -help


-m tos
Ad esempio:

iptables A FORWARD m tos --tos Minimize-Delay


conteggia tutti i pacchetti il cui tos impostato a Minimize-Delay (16).
Identifica il pacchetto in base al valore del campo TTL:
-m ttl
iptables A INPUT m ttl --ttl 5

Permette di impostare una regola usando un range di indirizzi IP. Ad esempio per bloccare
laccesso TCP ad un range di IP:
iptables A INPUT p tcp m iprange --src-range 10.10.10.1-10.10.10.5 j DROP
-m iprange oppure per bloccare linvio di ping ad un blocco di IP :

iptables A OUTPUT p icmp m iprange --dst-range 10.10.1.0-


10.10.1.5 j DROP

LOAD BALANCING
Lesempio di Load Balancing del paragrafo precedente:

iptables t nat A PREROUTING p tcp d 85.34.166.21 --dport 80 j DNAT --to 10.10.1.195-10.10.1.198

prevede che i server verso cui distribuire le connessioni abbiano indirizzi IP contigui. Utilizzando il
match m nth possibile superare tale limite come descritto nel seguente esempio:

iptables t nat A PREROUTING p tcp d 85.34.166.21 --dport 80 -m nth -every 2 -packet 0 j DNAT --to 10.10.1.1
iptables t nat A PREROUTING p tcp d 85.34.166.21 --dport 80 -m nth -every 2 -packet 1 j DNAT --to 10.10.1.10

dove le connessioni vengono distribuite in maniera alternata al server 10.10.1.1 e al server


10.10.1.10.

130
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

LOGGING DEI PACCHETTI


Tramite il target j LOG possibile loggare i pacchetti che soddisfano determinate condizioni
mediante syslog. Di solito si utilizza tale target per loggare i pacchetti droppati, in tal caso
necessario che la regola di LOG sia inserita prima della corrispondente regola di DROP. Ad esempio:

iptables A INPUT p tcp dport 23 s 10.10.1.1 j LOG --log-level notice


iptables A INPUT p tcp dport 23 s 10.10.1.1 j DROP

La prima regola effettua il log con facility notice dei pacchetti provenienti dallindirizzo 10.10.1.1
verso la porta Telnet. La seconda li scarta. Le opzioni utilizzabili con il target LOG sono:

--log-level per definire la facility per i messaggi di log

--log-prefix per definire un prefisso dei messaggi di log

Tale regola deve essere usata congiuntamente al comando set log del router che permette di
definire il syslog server:

set log remote 192.168.7.1


set log level 2
set log on

Un tipico messaggio di log per tenere traccia di tutti i pacchetti ICMP ricevuti dallindirizzo
10.10.1.209, derivato dalla regola:

iptables A INPUT p icmp s 10.10.1.209 j LOG --log-prefix permit-logicmp --log-level notice

il seguente:

Feb 10 18:25:26 im1 kernel: permit-logicmp:IN=eth0 OUT=


MAC=00:0d:5a:04:6b:3e:00:16:d4:4d:65:a7:08:00
SRC=10.10.1.209 DST=10.10.113.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF
PROTO=ICMP TYPE=8 CODE=0 ID=8725 SEQ=1
Feb 10 18:25:27 im1 kernel: permit-logicmp:IN=eth0 OUT=
MAC=00:0d:5a:04:6b:3e:00:16:d4:4d:65:a7:08:00
SRC=10.10.1.209 DST=10.10.113.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF
PROTO=ICMP TYPE=8 CODE=0 ID=8725 SEQ=2
Feb 10 18:25:29 im1 kernel: permit-logicmp:IN=eth0 OUT=
MAC=00:0d:5a:04:6b:3e:00:16:d4:4d:65:a7:08:00
SRC=10.10.1.209 DST=10.10.113.1 LEN=84 TOS=0x00 PREC=0xC0 TTL=64 ID=61743
PROTO=ICMP TYPE=0 CODE=0 ID=5735 SEQ=0
Feb 10 18:25:50 im1 kernel: permit-logicmp:IN=eth0 OUT=
MAC=00:0d:5a:04:6b:3e:00:16:d4:4d:65:a7:08:00
SRC=10.10.1.209 DST=10.10.113.1 LEN=84 TOS=0x00 PREC=0xC0 TTL=64 ID=61744
PROTO=ICMP TYPE=0 CODE=0 ID=5743 SEQ=0

ACCOUNTING DEI PACCHETTI


Nel caso in cui non venga specificato alcun target vengono solamente conteggiati i pacchetti che
hanno soddisfatto la regola configurata, fornendo di fatto uno strumento per effettuare
laccounting dei pacchetti. Ad esempio per conteggiare tutti i pacchetti ricevuti sullinterfaccia eth0
e diretti al router stesso:
iptables A INPUT i eth0

131
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

e per verificare tale numero:

iptables -L -v

che produce il seguente output:


Chain INPUT (policy ACCEPT 1185 packets, 80642 bytes)
pkts bytes target prot opt in out source destination
86 3513 all -- eth0 any anywhere anywhere

Per azzerare i contatori:


iptables Z.

Per conteggiare tutti i pacchetti destinati dal router stesso allindirizzo IP 10.10.1.209:

iptables A OUTPUT d 10.10.1.209

e per visualizzarne il valore: IPtables L v che produce:

Chain INPUT (policy ACCEPT 182 packets, 12015 bytes)


pkts bytes target prot opt in out source destination
86 3902 all -- eth0 any anywhere anywhere

Chain OUTPUT (policy ACCEPT 154 packets, 11812 bytes)


pkts bytes target prot opt in out source destination
9 514 all -- any any anywhere 10.10.1.209

Per conteggiare i pacchetti in transito provenienti dallindirizzo 192.168.1.2 e diretti verso la


porta 80 dellindirizzo 217.201.1.24:

iptables A FORWARD p tcp -dport 80 s 192.168.1.2 d 217.201.1.24

Per conteggiare i pacchetti in transito di tipo UDP proveniente dalla sottorete 192.168.1.0/24:

iptables A FORWARD p udp s 192.168.1.0/24

Esempi di utilizzo

Per bloccare tutti gli accessi TCP verso lhost 10.10.1.1:

iptables -A FORWARD -p tcp d 10.10.1.1 -j DROP

Per prevenire un eventuale attacco di ICMP flooding:


iptables -A INPUT -p icmp -m limit --limit 10/s -j ACCEPT
iptables -A INPUT -p icmp -j DROP

Per scartare i pacchetti di ICMP di lunghezza superiore a 500 byte e diretti verso 10.10.1.1:

iptables A FORWARD p icmp d 10.10.1.1 m length --length 500:1500

Per limitare a 2 il numero di connessioni Telnet contemporanee verso lhost 192.168.1.2:

iptables A FORWARD p tcp --dport 23 d 192.168.1.2 m connlimit --connlimit-above 2 j REJECT

Per simulare nei confronti dellhost 10.10.1.1 un link con un tasso di errore del 2%:

iptables A FORWARD d 10.10.1.1 m random -average 2 j DROP

Riprendendo gli esempi riportati nelle sezioni precedenti (access-list, redirect e source-nat),
di seguito vengono riportate le corrispondenze con il comando iptables.

132
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Per accettare solo i pacchetti indirizzati verso una certa rete, negando l'accesso a qualsiasi altro
servizio:

Mediante access-list:

set access-list permit prot all port all from any to 192.168.0.0/255.255.0.0
set access-list deny prot all port all from any to any

Comandi iptables equivalenti:

iptables -A FORWARD -d 192.168.0.0/255.255.0.0 -j ACCEPT


iptables -A FORWARD -j DROP

Il traffico destinato alla porta 7 (servizio echo), provenienti da qualsiasi indirizzo IP e diretti ad
Imola, redirezionati all'indirizzo IP 192.168.0.2:

Mediante redirect:

set redirect prot tcp port 7 from any to this to-ip 192.168.0.2

Comandi iptables equivalenti:

iptables -t nat -A PREROUTING -p tcp --dport 7 -j DNAT --to 192.168.0.2

Il traffico destinato alla porta 7 (servizio echo), provenienti da qualsiasi indirizzo IP e diretti ad
Imola, redirezionati alla porta 13 (servizio daytime):

Mediante redirect:

set redirect prot tcp port 7 from any to this to-port 13

Comandi iptables equivalenti:

iptables -t nat -A PREROUTING -p tcp --dport 7 -j REDIRECT --to-ports 13

Il traffico destinato alla porta 7 (servizio echo), provenienti da qualsiasi indirizzo IP e diretti ad
Imola, redirezionati all'indirizzo IP 192.168.0.2 alla porta 34

Mediante redirect:

set redirect prot tcp port 7 from any to this to-ip 192.168.0.2:34

Comandi iptables equivalenti:

iptables -t nat -A PREROUTING -p tcp --dport 7 -j DNAT --to-destination 192.168.0.2:34

Il traffico destinato alla porta 23 (servizio Telnet), provenienti da qualsiasi indirizzo IP e diretti
allindirizzo IP 10.10.2.9, redirezionati all'indirizzo IP 10.10.10.22 porta 7 (servizio echo); di
questi pacchetti inoltre sar effettuato il log con prefisso REDIR :

Mediante redirect:

set redirect prot tcp port 23 from any to 10.10.2.9 to-ip 10.10.10.22 to-port 7 log-prefix REDIR

Comandi iptables equivalenti:

iptables -t nat -A PREROUTING -p tcp -d 10.10.2.9 --dport 23 -j LOG --log-prefix REDIR --log-level notice
iptables -t nat -A PREROUTING -p tcp -d 10.10.2.9 --dport 23 -j DNAT --to-destination 10.10.10.22:7

Sostituire l'indirizzo IP sorgente di tutti i pacchetti indirizzati alla rete 10.10.0.0/255.255.0.0


con l'indirizzo 10.10.0.1 mediante source-nat:

set source-nat prot all from any to 10.10.0.0/255.255.0.0 ip 10.10.0.1

133
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Comandi iptables equivalenti:

iptables -t nat -A POSTROUTING -d 10.10.0.0/255.255.0.0 -j SNAT to 10.10.0.1

Mascheramento di tutti i pacchetti in uscita dalla interfaccia eth1 mediante source-nat:

set source-nat prot all from any to any dev eth1

Comandi iptables equivalenti:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

CONNECTION TRACKING

Introduzione
Il tracciamento delle connessioni mantiene in memoria delle tabelle dei pacchetti entranti e uscenti
dalla macchina in modo da poter avere un controllo non solo in base alle caratteristiche del
pacchetto analizzato, ma anche e soprattutto in base alla sua relazione con i pacchetti precedenti,
cio allo stato della connessione (connection-tracking).

L'opzione di iptables che permette di utilizzare questa funzionalt l'estensione m state, con
lopzione --state che permette di specificare una lista di stati della sessione separati da virgola.

Sono definiti 4 tipi diversi di stato:

NEW per un pacchetto che crea una nuova connessione (cio un pacchetto TCP col flag
SYN impostato oppure pacchetti UDP ICMP non dovuti a connessioni gi validate)
ESTABLISHED per un pacchetto che fa parte di una connessione gi stabilita, cio che ha gi avuto
dei pacchetti in risposta.
RELATED per un pacchetto relativo a connessioni esistenti ma che non fa parte di una
connessione esistente (come ad esempio un pacchetto ICMP di errore o una
connessione FTP-data [porta 20] relativa ad una connessione FTP)
INVALID per pacchetti che per alcune ragioni non possono essere classificati in altro modo.

Esempio:

iptables A FORWARD d 192.168.1.0/24 m state --state ESTABLISHED,RELATED j ACCEPT

consente il traffico verso la rete 192.168.1.0/24 di pacchetti appartenenti a connessioni gi


realizzati oppure a connessioni correlate a quelle gi attive.
iptables A FORWARD d 192.168.1.0/24 m state -state INVALID j DROP

E possibile esaminare le entries presenti nel conntrack database mediante il comando:


iptables-conntrack

Un esempio di output il seguente:


tcp 6 117 SYN_SENT src=192.168.1.6 dst=192.168.1.9 sport=32775 dport=22 [UNREPLIED]
src=192.168.1.9 dst=192.168.1.6 sport=22 dport=32775 [ASSURED] use=2

nel quale si evidenziano:

protocollo
protocollo espresso con il valore numerico

134
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Time-to-live della entry. Questo valore viene decrementato finch non compare altro traffico
relativo a questa connessione. Quando la entry cambia stato viene impostato al valore di
default per lo stato in esame
stato attuale dellentry. Gli stati interni sono leggermente diversi da quelli usati
esternamente da iptables. SYN_SENT riguarda una connessione che ha visto soltanto il
SYN in una direzione
indirizzo IP sorgente
indirizzo IP destinazione
porta sorgente
porta destinazione
keyword (UNREPLIED) che indica che non stato visto traffico di ritorno per questa
connessione
pacchetto atteso al ritorno

Quando una connessione ha visto traffico in entrambe le direzione, viene cancellato il flag
UNREPLIED, poi la entry viene rimpiazzata con unaltra che ha il flag ASSURED che indica che la
entry non verr cancellata quando il numero massimo di connessioni tracciate raggiunto. La
dimensione massima della cache funzione della memoria disponibile. Su Imola il valore di default
4096.

La potenza di questo sistema consiste nel fatto che non necessario aprire tutte le porte sopra
1024 per lasciare entrare il traffico di risposta, ma sufficiente aprire il firewall per il traffico di
risposta operando sullo stato delle connessioni.

Connessioni TCP
Una connessione TCP ha inizio sempre con un handshaking a tre tempi:

SYN packet da client verso server


SYN/ACK packet da server verso client
ACK packet da client verso server

A questo punto la connessione stabilita e in grado di inviare dati:

In questo modo se si permette ai pacchetti NEW e ESTABLISHED di uscire e soltanto ai pacchetti


ESTABLISHED di entrare si taglieranno fuori tutti i tentativi di connessione verso la nostra rete
interna.

Eseguendo il comando iptables-conntrack, lo stato riportato al ricevimento del primo pacchetto


SYN il seguente:

tcp 6 117 SYN_SENT src=192.168.1.5 dst=192.168.1.35 sport=1031 dport=23


[UNREPLIED] src=192.168.1.35 dst=192.168.1.5 sport=23 dport=1031 use=1

135
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Il successivo stato interno raggiunto quando si riceve il pacchetto nella direzione opposta:

tcp 6 57 SYN_RECV src=192.168.1.5 dst=192.168.1.35 sport=1031 dport=23


src=192.168.1.35 dst=192.168.1.5 sport=23 dport=1031 use=1

Lo stato established si raggiunge quando si vede lACK finale:


tcp 6 431999 ESTABLISHED src=192.168.1.5 dst=192.168.1.35 sport=1031
dport=23 src=192.168.1.35 dst=192.168.1.5 sport=23 dport=1031 [ASSURED] use=1

Il seguente diagramma mostra il flusso dei pacchetti in chiusura (chiusura in condizioni normali):

Come si vede la connessione non realmente chiusa finch non arriva lultimo ACK.

Si deve considerare che il meccanismo di connection tracking non considera i flags TCP allinterno
dei pacchetti; anche un pacchetto senza SYN o ACK sar contato come NEW. Se si desidera che lo
stato NEW sia associato alla presenza del SYN bisogna aggiungere la seguente regola:

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP


iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

Connessioni UDP
Le connessioni UDP sono tipicamente state-less. Ci sono diverse ragioni, principalmente per il
fatto che esse non stabiliscono una connessione e perch mancano di sequenzializzazione. Ricevere
due datagram UDP in un certo ordine, non significa che essi sono stati inviati in quello stesso
ordine.

Dal punto di vista del connection tracking, la connessione stabilita nello stesso modo che per il
TCP; tuttavia la sequenza interna diversa. Quando viene inviato il primo pacchetto UDP, lentry
nella tabella di conntrack diventa:
udp 17 20 src=192.168.1.2 dst=192.168.1.5 sport=137 dport=1025 [UNREPLIED]
src=192.168.1.5 dst=192.168.1.2 sport=1025 dport=137 use=1

136
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Quando il server vede una risposta al pacchetto la connessione considerata ESTABLISHED.


Tuttavia, affinch il flag di ASSURED venga impostato, necessario che il pacchetto di risposta sia
una legittima risposta al pacchetto inviato
udp 17 170 src=192.168.1.2 dst=192.168.1.5 sport=137 dport=1025
src=192.168.1.5 dst=192.168.1.2 sport=1025 dport=137 [ASSURED] use=1

Se la connessione non viene usata per 180 secondi, viene invalidata lentry nella tabella. Ogni volta
che un pacchetto attraversa il firewall e viene accettato, il timer di timeout viene reinizializzato con
il suo valore di default.

Connessioni ICMP
I pacchetti ICMP non costituiscono uno stream stateful dal momento che non stabiliscono mai delle
connessioni. Tuttavia ci sono fondamentalmente alcuni tipi di pacchetti che generano pacchetti di
ritorno e di conseguenza possono prendere gli stati NEW e ESTABLISHED. Ad esempio i pacchetti
Echo request e reply usati dal comando ping:

La richiesta di icmp echo request considerata NEW dal firewall, mentre la risposta echo reply
causa la transizione allo stato di ESTABLISHED.

icmp 1 25 src=192.168.1.6 dst=192.168.1.10 type=8 code=0 id=33029


[UNREPLIED] src=192.168.1.10 dst=192.168.1.6 type=0 code=0 id=33029 use=1

Il formato della entry diverso rispetto a TCP e UDP. Compaiono infatti tre campi nuovi:

type: ICMP type


code: ICMP code
id: ICMP id

Ogni pacchetto ICMP ha un ID che gli viene imposto quando inviato, quando il ricevente riceve il
messaggio imposta lo stesso ID nel messaggio di risposta. Cos il mittente riesce ad associare la
risposta al messaggio inviato. Come si vede, nella sezione della risposta attesa compaiono il type
e code attesi e lid dellinvio.

La connesione considerata established non appena viene intercettato il messaggio di risposta.


Tuttavia certo che dopo la risposta non ci saranno pi messaggi legali associati a questa
connessione. Perci la entry viene distrutta.

La richiesta ICMP ha una tempo di permanenza di 30 secondi.

Un messaggio ICMP viene utilizzato anche per informare lhost che ha iniziato una connessione
TCP o UDP circa la raggiungibilit del partner in questione. Si pensi ad un ICMP HOST unreacheable.
Per questa ragione, le risposte ICMP sono riconosciute come RELATED.

137
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

In questo caso il client invia una pacchetto di SYN ad un indirizzo specifico; questa viene catalogata
come una connessione NEW. Tuttavia il server non raggiungibile, cos un router invia un
messaggio di ICMP unreacheable. Il connection tracking riconosce il pacchetto come RELATED
grazie alla entry presente in tabella cos la risposta pu essere indirizzata al client. Subito dopo il
client distrugge la entry in tabella.

Connessioni FTP
Il protocollo FTP apre in prima istanza una sola connessione, chiamata sessione di controllo.
Quando invochiamo un comando attraverso questa connessione vengono aperte altre porte per
trasportare il resto dei dati relativi al comando specifico. Queste connessioni possono essere fatte
in modo attivo o passivo. Quando la connessione fatta in modo attivo, il client FTP invia al server
una porta ed un indirizzo IP cui connettersi. In seguito, il client FTP apre la la porta e il server vi si
connette da una porta non privilegiata, scelta in modalit random, poi ha inizio lo scambio dei dati.

l firewall non pu essere a conoscenza di queste connessioni aggiuntive dal momento che esse
sono negoziate allinterno del payload dei pacchetti scambiati. Per questo motivo, il firewall non a
conoscenza che deve lasciare connettere il server su queste porte. Sono perci necessarie delle
estensioni ai filtri del firewall in modo che questi sia in grado di recuperare le informazioni tra i dati
scambiati e classificare queste connessioni aggiuntive come RELATED.

Un FTP passivo opera nella direzione opposta. Il client FTP dice al server che vuole dei dati specifici;
in seguito a questa richiesta il server risponde con un indirizzo IP cui connettersi e una porta. Il
client si connette alla porta specificata dalla sua porta 20 (porta dei dati FTP) e prende i dati in
questione. Anche in questo caso necessario un modulo aggiuntivo del firewall in grado di
intercettare queste informazioni nel payload del pacchetto e classificare questa seconda
connessione come RELATED.

138
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Un esempio di firewall
Consideriamo il seguente scenario:

dove il router, cui sono assegnati gli indirizzi pubblici 85.34.147.17 e 85.34.147.18, collegato:

alla rete pubblica attraverso linterfaccia atm0


alla LAN interna con indirizzo 192.168.0.0/24 attraverso linterfaccia eth1
alla LAN DMZ con indirizzo 192.168.1.0/24 attraverso linterfaccia eth0

Allinterno della DMZ esiste un server HTTP con indirizzo 192.168.1.2.

Gli utenti accedono al server HTTP mediante lindirizzo pubblico 85.34.147.17.

# La politica di default quella di scartare i pacchetti


iptables P INPUT DROP
iptables P OUTPUT DROP
iptables P FORWARD DROP

# Non accetta pacchetti relativi a nuove sessione senza il SYN


iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# Dalla LAN verso lesterno consenti tutto


iptables -A FORWARD -i eth1 -o atm0 -j ACCEPT

139
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

# Dalla DMZ verso lesterno consenti tutto


iptables -A FORWARD -i eth0 -o atm0 -j ACCEPT

# Da router verso lesterno consenti tutto


iptables -A OUTPUT -o atm0 -j ACCEPT

# Tra la DMZ e la LAN consenti tutto


iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

# In ingresso al router ed in transito dal router


# accetta solo pacchetti appartenenti a
# sessione gi realizzate
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Accetta pacchetti in transito verso il Server


iptables -A FORWARD -p tcp -d 192.168.1.2 -dport 80 j ACCEPT

# D-NAT dallindirizzo pubblico al server


iptables -t nat -A PREROUTING -p tcp -i atm0 -d 85.34.147.17 --dport 80 -j DNAT --to 192.168.1.2

# S-NAT verso lesterno


iptables t nat A POSTROUTING o atm0 s 192.168.0.0/24 j SNAT --to-source 85.34.147.18
iptables -t nat -A POSTROUTING -o atm0 -s 192.168.1.2 -j SNAT --to 85.34.147.17

# Vieta laccesso verso lhost 217.201.2.3


iptables A FORWARD o atm0 s 192.168.0.0/24 d 217.201.2.3 j LOG
iptables A FORWARD o atm0 s 192.168.0.0/24 d 217.201.2.3 j DROP

COMANDI DI GESTIONE E CONFIGURAZIONE


Il comando iptables ha effetto immediato, tuttavia affinch le regole impostate siano
memorizzate nella configurazione e attualizzate al prossimo reboot del router sono disponibilie
due possibilit. La prima richiede che tutti i comandi abbiano la sintassi:
set iptables <options>

La seconda prevede lutilizzo del comando:


iptables-save

In genere se le regole impostate sono in numero limitato, allora conviene lutilizzo della sintassi:
set iptables , altrimenti si ricorre al comando iptables-save.

Tale comando appartiene ad un gruppo di comandi che permettono esclusiovamente la


manipolazione delle regole di iptables. Il comando:

iptables-stat

visualizza le regole presenti e i relativi contatori associati ad ognuna.


140
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Per annullare tutte le regole presenti disponibile il comando:

iptables-flush

Affinch nessuna regola venga impostata al prossimo reboot occorre eseguire i comandi:

iptables-flush
iptables-save

Il comando:

iptables-conntrack

visualizza lo stato di tutte le connessioni attive.

Il comando:
iptables-run

permette di eseguire un insieme di regole da un file. Si usa congiuntamente al comando download


command-file. Ad esempio, supponiamo di avere creato su un server TFTP, il file ipt.txt, contenente
la lista di comandi iptables che vogliamo eseguire. Sul router si eseguono i comandi:

# Transfer command file to router


download command-file ipt.txt from <tftp-server>
# Execute the command file
iptables-run from ipt.txt

# Display the rules present


iptables-stat

# Save the rules


iptables-save
reboot

Il comando:

iptables-sysctl

permette di configurare e visualizzare il valore di vari parametri di sistema, ad esempio il numero


massimo di connessioni oppure i timer associati allo stato delle connessioni:
ip_conntrack_max ip_conntrack_tcp_log_invalid_scale
ip_conntrack_tcp_timeout_syn_sent ip_conntrack_tcp_log_out_of_window
ip_conntrack_tcp_timeout_syn_recv ip_conntrack_tcp_loose
ip_conntrack_tcp_timeout_established ip_conntrack_tcp_be_liberal
ip_conntrack_tcp_timeout_fin_wait ip_conntrack_tcp_max_retrans
ip_conntrack_tcp_timeout_close_wait ip_conntrack_udp_timeout
ip_conntrack_tcp_timeout_last_ack ip_conntrack_udp_timeout_stream
ip_conntrack_tcp_timeout_time_wait ip_conntrack_icmp_timeout
ip_conntrack_tcp_timeout_close ip_conntrack_generic_timeout
ip_conntrack_tcp_timeout_max_retrans

Ad esempio per configurare a 600 secondi il valore del timeout delle sessioni:
iptables-sysctl ip_conntrack_tcp_timeout_established 600

mentre per visualizzare il valore corrente:


iptables-sysctl ip_conntrack_tcp_timeout_established
141
FUNZIONI DI FIREWALL: IPTABLES Imola User Guide

Il comando:

iptables-restore

Permette di ripristinare particolari configurazioni. Distinguiamo almeno tre tipi differenti di


configurazione:

La configurazione current quella contenente tutti i valori impostati nella fase di


configurazione utilizzando il comando iptables.
La configurazione saved quella salvata sulla flash di Imola con il comando
iptables-save ed quella con la quale l'apparato si attiver al prossimo boot.
La configurazione started quella con la quale l'apparato si attivato al boot. Al termine
del boot e prima che cominci la fase di configurazione, le tre configurazioni sono uguali.

Durante la fase di configurazione e verifica, le configurazioni saved e started sono uguali.

Dopo aver eseguito dei comandi di configurazione ed aver eseguito il comando iptables-save, la
configurazione current diventa anche saved e sar quella con cui si attiver l'apparato al prossimo
boot.

possibile visualizzare il contenuto dei tre diversi profili di configurazione mediante il comando:

iptables-show-config current|saved|started

Inoltre possibile gestire fasi intermedie di configurazione.

Il comando CLI iptables-set-checkpoint permette di creare un salvataggio intermedio,


denominato checkpoint, utile per salvare un profilo di configurazione relativo ad un certo istante.
Tramite il comando iptables-restore checkpoint possibile ripristinare la particolare
configurazione salvata. Ad esempio:

iptables-set-checkpoint-1

crea un salvataggio intermedio che in qualsiasi momento pu essere richiamato mediante il


comando:
iptables-restore checkpoint-1

Possono essere presenti 2 configurazioni intermedie usando i comandi:

iptables-set-checkpoint-1 and iptables-set-checkpoint-2.

Dopo aver effettuato il comando di iptables-restore, necessario eseguire il comando


iptables-save. Per fare in modo che la configurazione ripristinata diventi quella corrente al
prossimo reboot del router necessario eseguire il comando:
iptables-save

142
PROTOCOLLO VRRP Imola User Guide

PROTOCOLLO VRRP

CONFIGURAZIONE
Imola supporta il protocollo VRRP (Virtual Router Redundancy Protocol, RFC 2338), un protocollo
standard tramite il quale pi router di una LAN possono dinamicamente assegnarsi il compito di
rispondere a determinati indirizzi IP.

In una configurazione ridondante distinguiamo un nodo Master ed uno o pi nodi di Backup.

Al momento dellattivazione del protocollo VRRP (stato iniziale) tutti i nodi coinvolti inviano dei
pacchetti verso un indirizzo di gruppo specificando un valore di priorit necessario per decidere
quale nodo deve assumere il ruolo di Master: il nodo il cui valore di priorit maggiore diventa il
Master.

Questo attiva un indirizzo IP virtuale sulla interfaccia configurata e tramite questa continua ad
inviare i pacchetti (pacchetti di advertisement) verso lindirizzo di gruppo (multicast), mentre i nodi
di backup rimangono in ascolto.

Se il nodo di backup non riceve pi i pacchetti di advertisement oppure li riceve ma il valore per la
priorit inferiore al suo, esso assume il ruolo di Master. Analogamente, se il nodo Master riceve
degli advertisement con un valore di priorit maggiore del suo, esso diventa backup.

Per configurare linterfaccia su cui attivare il protocollo il comando :


set vrrp interface <ifname>

dove ifname pu essere eth0 oppure eth1, oppure il nome di una interfaccia VLAN del tipo eth1.N.

Per stabilire lintervallo tra linvio di un pacchetto di advertisement ed il successivo il comando :


set vrrp delay N

Il backup si accorger della non-disponibilit del master dopo 3*delay. Il default 1s

Per impostare la priorit:

set vrrp priority N

Il valore N pu variare da 1 a 254. Maggiore il valore e maggiore la priorit.

Il comando:
set vrrp vipaddr 10.10.2.90

configura lindirizzo IP virtuale che sar attivato sulla interfaccia configurata nel caso in cui si
assuma il ruolo di Master.

Infine per attivare il protocollo si usa il comando:

set vrrp on

Un esempio di configurazione tipica del protocollo VRRP la seguente:


set vrrp interface eth0
set vrrp delay 1
set vrrp priority 50
set vrrp vipaddr 10.10.2.90
set vrrp on

143
PROTOCOLLO VRRP Imola User Guide

Per disabilitare il protocollo VRRP sufficiente digitare il comando:


set no-vrrp

VISUALIZZAZIONE
Per visualizzare lo stato e la configurazione del protocollo VRRP si usa il comando:
show vrrp

che mostra le seguenti informazioni:

root@Imola> show vrrp


set vrrp vmac
set vrrp interface eth1
set vrrp vrid 11
set vrrp priority 100
set vrrp delay 1
set vrrp vipaddr 10.10.10.10
set vrrp on

VRRP ID 11 on eth1: we are now the master router.


VRRP ID 11, Priority: 100, Virtual IP(s): 10.10.10.10 Virtual MAC: 00:00:5e:00:01:0b
VRRP ID 11 Changed state 2 times. Last time change was 25 sec ago

TRIGGER VRRP
E possibile programmare dei trigger eseguiti nel momento in cui si ha un cambio di stato legato al
protocollo VRRP. Ad esempio, nel momento in cui il router diventa Master VRRP attiva un tunnel
GRE e il protocollo RIP ed esegue le operazioni inverse quando diventa Backup VRRP:

set trigger vrrp up set gre generic on


set trigger vrrp up set rip on

set trigger vrrp down set rip off


set trigger vrrp down set gre generic off

dove sia il tunnel che il RIP sono stati precedentemente configurati, ma mai attivati.

CONFIGURAZIONE VRRP MEDIANTE COMANDO


VRRPD
In alternativa al comando set vrrp pu essere usato direttamente il comando vrrpd, utile
soprattutto per creare un numero di gruppi VRRP a piacere. Ad esempio i comandi:
vrrpd i eth1 n v 12 p 120 12.12.1.1
vrrpd i eth1 n v 13 p 130 13.13.1.1

attivano sullinterfaccia eth1 rispettivamente due servizi VRRP rispettivamente con

144
PROTOCOLLO VRRP Imola User Guide

gruppo 12, priorit 120 ed indirizzo virtuale 12.12.1.1


gruppo 13, priorit 130 ed indirizzo virtuale 13.13.1.1

Il parametro -n obbligatorio in caso di pi gruppi VRRP. I servizi attivati con il comando vrrpd
convivono con listanza configurata mediante il comando set vrrp.

Per fermare un determinato servizio si usa il comando no-vrrpd. Ad esempio:

no-vrrpd i eth1 v 12
no-vrrpd i eth1 v 13

Il comando vrrpd non ha effetti sulla configurazione di Imola, ovvero il gruppo VRRP non verr
attivato automaticamente al prossimo reboot. Tipicamente il comando si utilizza congiuntamente ai
comandi di trigger. Ad esempio per attivare i due gruppi allo start-up del router necessario
impostare i comandi:
set autocmd vrrpd i eth1 n v 12 p 120 12.12.1.1
set autocmd vrrpd i eth1 n v 13 p 130 13.13.1.1

oppure il servizio pu essere attivato quanto si attiva la sessione GPRS e disattivato quando questa
viene terminata:

set trigger gprs up vrrpd i eth1 n v 12 p 120 12.12.1.1


set trigger gprs down no-vrrpd i eth1 v 12

ooppure al momento della attivazione della funzionalit di backup:

set trigger backup up set vrrpd i eth1 n v 13 p 130 13.13.1.1

Utilizzando direttamente il comando vrrpd non possibile specificare dei trigger associati al
cambiamento di stato del gruppo attivato. Le azioni impostate mediante i comandi set trigger
vrrp up e set trigger vrrp down sono relativi solamente al gruppo VRRP configurato mediante
il comando set vrrp.

Il comando show vrrp visualizza lo stato di tutte le istanze attive.

145
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

PROTOCOLLI DI ROUTING DINAMICO: BGP,


OSPF E RIP
In uno scenario di rete complesso, nel quale sia necessario collegare host appartenenti a reti
differenti, pu diventare fondamentale lutilizzo di protocolli di routing dinamico.

Questo tipo di routing permette ai vari router di scambiarsi le informazioni necessarie per
determinare i possibili percorsi per raggiungere destinazioni remote.

Tra i tipi di protocolli di routing Imola supporta i protocolli utilizzati per:

linstradamento allinterno dello stesso dominio amministrativo (Intradomain routing o


Interior Gateway Protocols)
RIP (Distance vector)
OSPF (Link state)
linstradamento tra differenti domini amministrativi (Interdomain routing o Exterior
Gateway Protocols)
BGP (Border Router Protocol)
linstradamento Multicast
PIM (Protocol Independent Multicast) in entrambe le modalit (PIM-DM, PIM-SM)

CONFIGURAZIONE PROTOCOLLO RIP


Il protocollo RIP prevede lannuncio periodico delle reti direttamente connesse al router.

Per configurare linterfaccia su cui trasmettere gli annunci RIP si usa il comando:
set rip network <network/N>

eventualmente ripetuto per tutte le interfacce su cui si vogliono inviare gli annunci.

Per impostare la metrica delle rotte distribuite il comando :


set rip default-metric <1-16>

mentre per definire la distanza amministrativa:


set rip distance N

Per configurare il valore dei timer del protocollo RIP:


set rip timers-basic t1 t2 t3

dove t1 rappresenta il valore per il Routing Table Update Timer (default 30s), t2 rappresenta il
valore per il Routing Information Timeout Timer (default 180s) e t3 rappresenta il valore per il
Garbage Collection Timer (default 120s).

Per stabilire che uninterfaccia deve essere passiva, ovvero pu solo ricevere annunci, senza inviarli,
si usa il comando:

set rip passive-interface <ifname>

ripetuto per tutte le interfacce che devono restare passive.

Il comando:

146
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

set rip version 1|2

definisce la versione di RIP (RIPv1 o RIPv2)

Il comando:
set rip neighbor a.b.c.d

Permette di inviare gli annunci RIP direttamente allhost a.b.c.d, invece che allindirizzo di gruppo.

Il comando set rip directive <router command> permette di specificare parametri avanzati del
protocollo. Ad esempio i comandi:

set rip directive route 33.33.33.0/24


set rip directive route 44.44.0.0/16

stabiliscono che le network 33.33.33.0/24 e 44.44.0.0/16 devono essere incluse negli annunci
RIP.

Il comando
set rip directive redistribute static

stabilisce che devoo essere annunciate tutte le rotte statiche presemti.

Il comando:
set rip no-directive <router command>

elimina dalla configurazione la direttiva RIP introdotta.

I principali comandi che possono essere specificati con tale opzione sono:

network network
network ifname
neighbor a.b.c.d
timers-basic update timeout garbage
passive-interface (IFNAME|default)
ip split-horizon
version version

redistribute kernel
redistribute kernel metric <0-16>
redistribute kernel route-map <rm-name>
redistribute static
redistribute static metric <0-16>
redistribute static route-map <rm-name>
redistribute connected
redistribute connected metric <0-16>
redistribute connected route-map <rm-name>
redistribute ospf
redistribute ospf metric <0-16>
redistribute ospf route-map <rm-name>
redistribute bgp
redistribute bgp metric <0-16>
redistribute bgp route-map <rm-name>

147
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

default-information originate

route a.b.c.d/m
distribute-list access_list direct ifname
distribute-list prefix prefix_list (in|out) ifname
distribute-list prefix prefix_list (in|out) ifname
distance <1-255>
distance <1-255> A.B.C.D/M
distance <1-255> A.B.C.D/M access-list

route-map <rm-name> permit match interface word


route-map <rm-name> permit match ip address word
route-map <rm-name> permit match ip address prefix-list word
route-map <rm-name> permit match ip next-hop A.B.C.D
route-map <rm-name> permit match metric <0-4294967295>
route-map <rm-name> permit match tag <1-65356>
route-map <rm-name> deny match interface word
route-map <rm-name> deny match ip address word
route-map <rm-name> deny match ip address prefix-list word
route-map <rm-name> deny match ip next-hop A.B.C.D
route-map <rm-name> deny match metric <0-4294967295>
route-map <rm-name> deny match tag <1-65356>

route-map <rm-name> permit set ip next-hop A.B.C.D


route-map <rm-name> permit set metric <0-4294967295>
route-map <rm-name> permit set tag <1-65356>
route-map <rm-name> deny set ip next-hop A.B.C.D
route-map <rm-name> deny set metric <0-4294967295>
route-map <rm-name> deny set tag <1-65356>

ip prefix-list <prf-name> description <description>


ip prefix-list <prf-name> permit <prefix-list-rule>
ip prefix-list <prf-name> permit <prefix-list-rule>
ip prefix-list <prf-name> deny <prefix-list-rule>
ip prefix-list <prf-name> deny <prefix-list-rule>

Per disabilitare il protocollo RIP utilizzare il comando:


set no-rip

CONFIGURAZIONE PROTOCOLLO OSPF


Per configurare il protocollo OSPF si usa il comando:

set ospf directive <ospf command>

mentre per eliminarlo dalla configurazione:

set ospf no-directive <ospf command>

148
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Ad esempio per attivare il protocollo OSPF sulle interfacce di rete con indirizzi 10.10.113.1 e
172.151.113.1:

set ospf directive network 10.10.0.0/16 area 0.0.0.0


set ospf directive network 171.151.0.0/16 area 0.0.0.0
set ospf on

Per configurare i parametri relativi ad una specifica interfaccia si usa il comado:

set ospf directive interface <ifname> <parametro> <valore>

Ad esempio per impostare un costo e una priorit sullinterfaccia pvc0:

set ospf directive interface pvc0 ospf cost 1000


set ospf directive interface pvc0 ospf priority 50

Per arrestare e per disabilitare il protocollo ospf utilizzare rispettivamente i seguenti comandi:

set ospf off


set no-ospf

La propagazione delle rotte tra i due sistemi pu essere verificata mediante il comando:
show ip route ospf

Sono disponibili vari comandi per la verifica del funzionamento. Ad esempio:

show ip ospf neighbor


show ip ospf border-routers
show ip ospf database
show ip ospf route

E possibile abilitare il debugging del funzionamento mediante il comando:


debug ospf <options>

I principali comandi di OSPF sono:

ospf router-id a.b.c.d


ospf abr-type cisco|standard
ospf rfc1583compatibility
log-adjacency-changes [detail]
passive-interface interface
timers throttle spf delay initial-holdtime max-holdtime

network a.b.c.d/m area a.b.c.d


network a.b.c.d/m area <0-4294967295>

neighbor A.B.C.D
neighbor A.B.C.D poll-interval <1-65535>
neighbor A.B.C.D poll-interval <1-65535> priority <0-255>
neighbor A.B.C.D priority <0-255>
neighbor A.B.C.D priority <0-255> poll-interval <1-65535>

area a.b.c.d stub

149
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

area a.b.c.d stub no-summary


area <0-4294967295> stub no-summary
area a.b.c.d default-cost <0-16777215>
area a.b.c.d filter-list prefix NAME in
area a.b.c.d filter-list prefix NAME out
area <0-4294967295> filter-list prefix NAME in
area <0-4294967295> filter-list prefix NAME out

ip ospf cost <1-65535>


ip ospf dead-interval <1-65535>
ip ospf dead-interval minimal hello-multiplier <2-20>
ip ospf hello-interval <1-65535>
ip ospf network (broadcast|non-broadcast|point-to-multipoint|point-to-point)
ip ospf priority <0-255>
ip ospf retransmit-interval <1-65535>
ip ospf transmit-delay

redistribute (kernel|connected|static|rip|bgp)
redistribute (kernel|connected|static|rip|bgp) route-map
redistribute (kernel|connected|static|rip|bgp) metric-type (1|2)
redistribute (kernel|connected|static|rip|bgp)
metric-type (1|2) route-map word
redistribute (kernel|connected|static|rip|bgp) metric <0-16777214>
redistribute (kernel|connected|static|rip|bgp) metric <0-16777214> route-map word
redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214>
redistribute (kernel|connected|static|rip|bgp) metric-type (1|2) metric <0-16777214> route-map word

default-information originate
default-information originate metric <0-16777214>
default-information originate metric <0-16777214> metric-type (1|2)
default-information originate metric <0-16777214> metric-type (1|2) route-map word

distribute-list NAME out (kernel|connected|static|rip|ospf


default-metric <0-16777214>
distance <1-255>

route-map <name> permit <seq> set metric <0-4294967295>


route-map <name> permit <seq> set metric-type type-2
route-map <name> permit <seq> set metric-type type-1
route-map <name> permit <seq> set tag <1-65536>

route-map <name> deny <seq> set metric <0-4294967295>


route-map <name> deny <seq> set metric-type type-2
route-map <name> deny <seq> set metric-type type-1
route-map <name> deny <seq> set tag <1-65536>

150
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

route-map <name> permit <seq> match tag <1-65536>

route-map <name> deny <seq> match tag <1-65536>

access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D


access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D A.B.C.D
access-list (<1-99>|<1300-1999>) (deny|permit) any
access-list (<1-99>|<1300-1999>) (deny|permit) host A.B.C.D
access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D A.B.C.D A.B
access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D any
access-list (<100-199>|<2000-2699>) (deny|permit) ip A.B.C.D A.B.C.D host A.B.C.
access-list (<100-199>|<2000-2699>) (deny|permit) ip any A.B.C.D A.B.C.D
access-list (<100-199>|<2000-2699>) (deny|permit) ip any any
access-list (<100-199>|<2000-2699>) (deny|permit) ip any host A.B.C.D
access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D A.B.C.D A.B.C.
access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D any
access-list (<100-199>|<2000-2699>) (deny|permit) ip host A.B.C.D host A.B.C.D
access-list WORD (deny|permit) A.B.C.D/M
access-list WORD (deny|permit) A.B.C.D/M exact-match
access-list WORD (deny|permit) any

ip prefix-list WORD (deny|permit) (A.B.C.D/M|any)


ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32>
ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32> le <0-32>
ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32>
ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32> ge <0-32>

ip prefix-list WORD description .LINE


ip prefix-list WORD seq <1-4294967295> (deny|permit) (A.B.C.D/M|any)
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32>
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32> le <0-32>
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32>
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32> ge <0-32>
ip prefix-list sequence-number

CONFIGURAZIONE PROTOCOLLO BGP


Il protocollo BGP prevede una sessione TCP tra una coppia di router, ognuno dei quali appartiene ad
un determinato Autonomous System (AS). Per configurare lAS locale si usa il comando:
set bgp local-as <value>

Per configurare il router remoto ed il relativo AS si usa la coppia di comandi:

set bgp remote-as <value>


set bgp neighbor <ip address>

151
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

mentre per specificare una rete che deve essere annunciata al router remoto si usa il comando:
set bgp network <value>

che pu essere ripetuto per ogni rete da annunciare.

I comandi:

set bgp keepalive-interval N


set bgp holdtime N
set bgp route-advt-interval N
set bgp connect-timer N

permettono rispettivamente di configurare i valore dei timer di Keepalive, Hold-Time, Route


Advertisement Interval e Connect Timer.

Il comando:
set bgp multihop

permette di attivate la sessione BGP anche se per raggiungere il router neighbor necessario
attraversare pi router intermedi (hops).

Per abilitare il protocollo BGP utilizzare il comando:


set bgp on

Per arrestare o per disabilitare il protocollo BGP utilizzare rispettivamente i comandi:

set bgp off


set no-bgp

La propagazione delle rotte tra i due sistemi pu essere verificata mediante il comando:
show ip route bgp

Sono disponibili vari comandi per la verifica del funzionamento. Ad esempio:

show ip bgp neighbor


show ip bgp summary
show ip bgp neighbor X.Y.Z.T advertised-routes
show ip bgp neighbor X.Y.Z.T received-routes

Possono essere impostate opzioni avanzate del protocollo bgp mediante il comando:
set bgp directive <option>

Ad esempio:
set bgp directive neighbor 172.151.2.5 override-capability

I principali comandi che possono essere specificati con lopzione directive sono:
bgp router-id A.B.C.D
distance bgp <1-255> <1-255> <1-255>
distance <1-255> A.B.C.D/M
network A.B.C.D/M
redistribute kernel
redistribute static
redistribute connected

152
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

redistribute rip
redistribute ospf

neighbor peer remote-as asn


neighbor peer ebgp-multihop
neighbor peer description...
neighbor peer version version
neighbor peer next-hop-self
neighbor peer update-source <ifname|address>
neighbor peer default-originate
neighbor peer port port
neighbor peer send-community
neighbor peer send-community
neighbor peer weight weight
neighbor peer distribute-list name [in|out]
neighbor peer prefix-list name [in|out]
neighbor peer filter-list name [in|out]
neighbor peer route-map name [in|out
neighbor peer strict-capability-match
neighbor peer dont-capability-negotiate
neighbor peer override-capability

access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D


access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D A.B.C.D
access-list (<1-99>|<1300-1999>) (deny|permit) any
ip prefix-list WORD (deny|permit) (A.B.C.D/M|any)
ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32>
ip prefix-list WORD (deny|permit) A.B.C.D/M ge <0-32> le <0-32>
ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32>
ip prefix-list WORD (deny|permit) A.B.C.D/M le <0-32> ge <0-32>
ip prefix-list WORD seq <1-4294967295> (deny|permit) (A.B.C.D/M|any)
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32>
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32> le <0-32>
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M le <0-32>
ip prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M
ip prefix-list sequence-number

route-map <name> permit|deny <seq> set aggregator as <1-4294967295> A.B.C.D


route-map <name> permit|deny <seq> set as-path exclude.<1-4294967295>
route-map <name> permit|deny <seq> set as-path prepend.<1-4294967295>
route-map <name> permit|deny <seq> set atomic-aggregate
route-map <name> permit|deny <seq> set community.AA:NN
route-map <name> permit|deny <seq> set community none

route-map <name> permit|deny <seq> set extcommunity rt.ASN:nn_or_IP-address:nn

153
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

route-map <name> permit|deny <seq> set extcommunity soo.ASN:nn_or_IP-address:nn

route-map <name> permit|deny <seq> set ip next-hop A.B.C.D


route-map <name> permit|deny <seq> set ip next-hop peer-address
route-map <name> permit|deny <seq> set local-preference <0-4294967295>
route-map <name> permit|deny <seq> set metric <+/-metric>
route-map <name> permit|deny <seq> set metric <0-4294967295>
route-map <name> permit|deny <seq> set origin (egp|igp|incomplete)
route-map <name> permit|deny <seq> set originator-id A.B.C.D
route-map <name> permit|deny <seq> set pathlimit ttl <1-255>
route-map <name> permit|deny <seq> set weight <0-4294967295>

route-map <name> permit|deny <seq> match as-path WORD


route-map <name> permit|deny <seq> match community (<1-99>|<100-500>|WORD)
route-map <name> permit|deny <seq> match community (<1-99>|<100-500>|WORD) exact-match
route-map <name> permit|deny <seq> match extcommunity (<1-99>|<100-500>|WORD)
route-map <name> permit|deny <seq> match ip address (<1-199>|<1300-2699>|WORD)
route-map <name> permit|deny <seq> match ip address prefix-list WORD
route-map <name> permit|deny <seq> match ip next-hop (<1-199>|<1300-2699>|WORD)
route-map <name> permit|deny <seq> match ip next-hop prefix-list WORD
route-map <name> permit|deny <seq> match ip route-source (<1-199>|<1300-2699>|WORD)

route-map <name> permit|deny <seq> match ip route-source prefix-list WORD


route-map <name> permit|deny <seq> match metric <0-4294967295>
route-map <name> permit|deny <seq> match origin (egp|igp|incomplete)
route-map <name> permit|deny <seq> match pathlimit as <1-65535>
route-map <name> permit|deny <seq> match peer (A.B.C.D|X:X::X:X)
route-map <name> permit|deny <seq> match peer local

Il comando:
set bgp no-directive <option>

elimina dalla configurazione il parametro introdotto.

E possibile abilitare il debugging del funzionamento mediante il comando:

debug bgp <option>

Esempi di configurazione
Senza perdere in generalit, si consideri il seguente scenario:

154
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

dove i due router, chiamati A e PE sono connessi attraverso un collegamento geografico. Il router A
ha un indirizzo di loopback 172.20.1.221 e una LAN 10.45.15.192/27. Gli esempi che seguono
riportano alcune configurazioni tipiche del protocollo BGP e mostrano anche interazioni con il
protocollo OSPF.

PROTOCOLLO BGP
Il router A annuncia tramite protocolo BGP la propria LAN e il suo indirizzo di loopback:

set bgp local-as 65201


set bgp remote-as 3269
set bgp network 172.20.1.221/32
set bgp network 10.45.15.192/27
set bgp neighbor 88.58.10.245
set bgp on

Il comando show ip bgp neighbor mostra lo stato della connessione con il router neighbor. Nel
caso in cui non vi sia alcuna sessione attiva il risultato :

root@IMOLA> show ip bgp neighbor

BGP neighbor is 88.58.10.245, remote AS 3269, local AS 65201, external link


BGP version 4, remote router ID 0.0.0.0
BGP state = Active
Last read 00:00:52, hold time is 180, keepalive interval is 60 seconds
Message statistics:
Inq depth is 0
Outq depth is 0
Sent Rcvd
Opens: 0 0
Notifications: 0 0
Updates: 0 0
Keepalives: 0 0
Route Refresh: 0 0
Capability: 0 0
Total: 0 0
Minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast


Community attribute sent to this neighbor(both)
0 accepted prefixes

Connections established 0; dropped 0


Last reset never
Next connect timer due in 74 seconds
Read thread: off Write thread: off

Mentre nel caso in cui la sessione sia stata stabilita:

BGP neighbor is 88.58.10.245, remote AS 3269, local AS 65201, external link


BGP version 4, remote router ID 172.31.34.79
BGP state = Established, up for 00:00:16

155
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Last read 00:00:15, hold time is 180, keepalive interval is 60 seconds


Neighbor capabilities:
4 Byte AS: advertised and received
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Message statistics:
Inq depth is 0
Outq depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 1 6
Keepalives: 2 1
Route Refresh: 0 0
Capability: 0 0
Total: 4 8
Minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast


Community attribute sent to this neighbor(both)
6 accepted prefixes

Connections established 1; dropped 0

Last reset never


Local host: 88.58.10.246, Local port: 1035
Foreign host: 88.58.10.245, Foreign port: 179
Nexthop: 88.58.10.246

Per ottenere informazioni sulla sessione BGP:

show ip bgp

BGP table version is 0, local router ID is 88.58.10.246


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 0.0.0.0 88.58.10.245 0 3269 i
*> 7.0.255.1/32 88.58.10.245 0 0 3269 3269 65210 i
*> 7.0.255.2/32 88.58.10.245 0 0 3269 3269 65210 i
*> 10.1.10.0/24 88.58.10.245 0 0 3269 3269 65210 i
*> 10.8.0.0/24 88.58.10.245 0 0 3269 3269 65210 i
*> 10.10.0.0/16 88.58.10.245 0 0 3269 i
*> 10.45.15.192/27 0.0.0.0 0 32768 i
*> 172.20.1.221/32 0.0.0.0 0 32768 i

Total number of prefixes 8

Dove vengono visualizzate le rotte annunciate e quelle ricevute dal neighbor.

Per visualizzare la tabella di routing BGP, si usa il comando:


show ip route bgp

156
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B -


BGP, > - selected route, * - FIB route

B>* 0.0.0.0/0 [20/0] via 88.58.10.245, tun0, 00:05:12


B>* 7.0.255.1/32 [20/0] via 88.58.10.245, tun0, 00:05:11
B>* 7.0.255.2/32 [20/0] via 88.58.10.245, tun0, 00:05:11
B>* 10.1.10.0/24 [20/0] via 88.58.10.245, tun0, 00:05:11
B>* 10.8.0.0/24 [20/0] via 88.58.10.245, tun0, 00:05:11
B>* 10.10.0.0/16 [20/0] via 88.58.10.245, tun0, 00:05:11

Per visualizzare le rotte annunciate verso il proprio neighbor:

show ip bgp neighbor 88.58.10.245 advertised-routes

BGP table version is 0, local router ID is 88.58.10.246


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-
failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 10.45.15.192/27 88.58.10.246 0 32768 i
*> 172.20.1.221/32 88.58.10.246 0 32768 i

Total number of prefixes 2

Per visualizzare le rotte ricevute disponibile il comando:

show ip bgp neighbor 88.58.10.245 received-routes


% Inbound soft reconfiguration not enabled

Affinch abbia effetto occorre per aggiungere alla configurazione il comando:


set bgp directive neighbor 88.58.10.245 soft-reconfiguration inbound

Il risultato quindi sar:


show ip bgp neighbor 88.58.10.245 received-routes

BGP table version is 0, local router ID is 88.58.10.246


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-
failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 0.0.0.0 88.58.10.245 0 3269 i
*> 7.0.255.1/32 88.58.10.245 0 0 3269 3269 65210 i
*> 7.0.255.2/32 88.58.10.245 0 0 3269 3269 65210 i
*> 10.1.10.0/24 88.58.10.245 0 0 3269 3269 65210 i
*> 10.8.0.0/24 88.58.10.245 0 0 3269 3269 65210 i
*> 10.10.0.0/16 88.58.10.245 0 0 3269 i
*> 192.168.184.6/32 88.58.10.245 0 3269 65201 i

Total number of prefixes 7

E possibile impostare i comandi BGP usando esclusivamente lopzione directive, ad esempio:

157
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

set bgp local-as 65201


set bgp directive neighbor 88.58.10.245 remote-as 3269
set bgp directive neighbor 88.58.10.245 description BGP router sample
set bgp directive neighbor 88.58.10.245 soft-reconfiguration inbound
set bgp directive neighbor 88.58.10.245 timers 60 180
set bgp directive neighbor 88.58.10.245 version 4
set bgp directive neighbor 88.58.10.245 activate
set bgp directive neighbor 88.58.10.245 advertisement-interval 5
set bgp directive network 172.20.1.221/32
set bgp directive network 10.45.15.192/27
set bgp on

aggiungendo alcuni parametri avanzati, tipo la description ed alcuni timer.

CONFIGURAZIONE DEL ROUTER-ID


E possibile specificare il valore del router-id mediante il seguente comando:
set bgp directive bgp router-id 172.20.1.221
In assenza di tale comando come router-id viene utilizzato lindirizzo IP di valore pi alto presente
sul router.

BGP CON FILTRO DELLE ROTTE E ROUTE-MAP


E possibile aggiungere dei filtri alle rotte ricevute utilizzando la sequenza di comandi:

set bgp directive neighbor 88.58.10.245 prefix-list FilterInBGP in


set bgp directive ip prefix-list FilterInBGP description Block some net
set bgp directive ip prefix-list FilterInBGP seq 10 deny 10.10.0.0/16
set bgp directive ip prefix-list FilterInBGP seq 20 deny 7.0.0.0/8 ge 32
set bgp directive ip prefix-list FilterInBGP seq 30 permit 0.0.0.0/0 le 32
Nonostante dal neighbor vengano ricevute tutte le network:

root@IMOLA> show ip bgp neighbor 88.58.10.245 received-routes


BGP table version is 0, local router ID is 88.58.10.246
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,r RIB-
failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 0.0.0.0 88.58.10.245 0 3269 i
*> 7.0.255.1/32 88.58.10.245 0 0 3269 3269 65210 i
*> 7.0.255.2/32 88.58.10.245 0 0 3269 3269 65210 i
*> 10.1.10.0/24 88.58.10.245 0 0 3269 3269 65210 i
*> 10.8.0.0/24 88.58.10.245 0 0 3269 3269 65210 i
*> 10.10.0.0/16 88.58.10.245 0 0 3269 i
*> 10.45.15.192/27 88.58.10.245 0 3269 65201 ?
*> 192.168.184.6/32 88.58.10.245 0 3269 65201 i

Total number of prefixes 8

158
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

nella tabella di routing vengono installate soltanto quelle definite dal filtro:

root@IMOLA> show ip route bgp

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B -


BGP, > - selected route, * - FIB route

B>* 0.0.0.0/0 [20/0] via 88.58.10.245, tun0, 00:02:16


B>* 10.1.10.0/24 [20/0] via 88.58.10.245, tun0, 00:02:15
B>* 10.8.0.0/24 [20/0] via 88.58.10.245, tun0, 00:02:15

E possibile utilizzare delle route-map per filtrare sia in ingresso che in uscita. Ad esempio:

set bgp directive neighbor 88.58.10.245 route-map ToPeerBGP out


set bgp directive neighbor 88.58.10.245 route-map FromPeerBGP in

set bgp directive route-map ToPeerBGP permit 10 match ip address prefix-list ToPeerBGP
set bgp directive route-map ToPeerBGP permit 10 set as-path prepend <ASN>

set bgp directive ip prefix-list ToPeerBGP description Announced routes to Neighbor


set bgp directive ip prefix-list ToPeerBGP seq 10 permit 172.20.1.221/32
set bgp directive ip prefix-list ToPeerBGP seq 20 permit 10.45.15.192/27

Definisce una route map per gli annunci verso il neighbor che stabilisce di annunciare gli indirizzi
definiti dal costrutto ip prefix-list ToPeerBGP e di aggiungere ad ogni annuncio il valore di AS
definito dalla regola set as-path prepend <ASN>.

Mentre la route-map
set bgp directive neighbor 88.58.10.245 route-map FromPeerBGP in
set bgp directive route-map FromPeerBGP permit 10 match as-path 10
set bgp directive route-map FromPeerBGP permit 10 set local-preference 140
set bgp directive ip as-path access-list 10 permit _65210_

assegna un valore di local-preference di 140 agli annunci definiti dal costrutto ip as-path. Questa
funzione risulta particolarmente utile nel caso di sessioni BGP verso neighbor differenti.

BGP CON ANNUNCIO DELLA ROTTA DI DEFAULT


E possibile annunciare la rotta di default mediante lopzione
set bgp directive neighbor 88.58.10.245 default-originate

BGP CON REDISTRIBUZIONE DI NETWORK CONNESSE


Lutilizzo del comando set bgp network A.B.C.D/N (o equivalentemente set bgp directive
network A.B.C.D/N) fa in modo che la network A.B.C.D/N venga annunciata in maniera
indiscriminata, qualsiasi sia il suo stato.

159
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

E possibile configurare il BGP in modo da annunciare le reti direttamente connesse soltanto se


queste sono effettivamente disponibili:

set bgp local-as 65201


set bgp directive neighbor 88.58.10.245 remote-as 3269
set bgp directive neighbor 88.58.10.245 description eBGP
set bgp directive redistribute connected route-map ConnBGP

set bgp directive route-map ConnBGP permit 10 match ip address prefix-list LocNet

set bgp directive ip prefix-list LocNet seq 10 permit 10.45.15.192/27


set bgp directive ip prefix-list LocNet seq 10 permit 172.20.1.221/32

Poich sia la LAN che linterfaccia di loopback sono attive, le rotte annunciate sono:

root@IMOLA> show ip bgp neighbor 88.58.10.245 advertised-routes

BGP table version is 0, local router ID is 172.20.1.221


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-
failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 10.45.15.192/27 88.58.10.246 1 32768 ?
*> 172.20.1.221/32 88.58.10.246 1 32768 ?

Total number of prefixes 2

Scollegando invece il cavo di LAN, si ottiene:

root@IMOLA> show ip bgp neighbor 88.58.10.245 advertised-routes

BGP table version is 0, local router ID is 172.20.1.221


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 172.20.1.221/32 88.58.10.246 1 32768 ?

Total number of prefixes 1

Dove si nota che la rete locale scomparsa dagli annunci, per ricomparire non appena il
collegamento verr ripristinato.

Tuttavia affinch il meccanismo funzioni necessario che venga specificato il comando:

detect-link-state <ifname>14

dove <ifname> il nome dellinterfaccia di LAN.

14
In order to execute the command after router reboot, the following command must be used: set autocmd detect-link-
state <ifname>

160
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

E possibile specificare una lista di nomi di interfacce:


detect-link-state eth1.10 eth1.10 eth1.20 eth1.30

BGP CON REDISTRIBUZIONE DI ROTTE STATICHE


Con lo stesso criterio possibile configurare il BGP in modo da annunciare le reti verso le quali
presente una rotta statica:

set bgp local-as 65201


set bgp directive neighbor 88.58.10.245 remote-as 3269
set bgp directive neighbor 88.58.10.245 description eBGP

set bgp directive redistribute connected route-map ConnBGP


set bgp directive redistribute static route-map StatBGP

set bgp directive route-map ConnBGP permit 10 match ip address prefix-list LocNetworks

set bgp directive ip prefix-list LocalNetwork seq 10 permit 10.45.15.192/27

set bgp directive route-map StatBGP permit 10 match ip address prefix-list StatRoute

set bgp directive ip prefix-list StatRoute seq 10 permit 44.44.0.0/16


set bgp directive ip prefix-list StatRoute seq 20 permit 55.55.0.0/16

Le rotte annunciate sono:

root@IMOLA> show ip bgp neighbor 88.58.10.245 advertised-routes

BGP table version is 0, local router ID is 172.20.1.221


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 10.45.15.192/27 88.58.10.246 1 32768 ?
*> 44.44.0.0/16 88.58.10.246 0 32768 ?
*> 55.55.0.0/16 88.58.10.246 0 32768 ?
*> 172.20.1.221/32 88.58.10.246 1 32768 ?

Eliminando invece le rotte statiche precedentemente configurate, si ottiene:

set no-route net 55.55.0.0 netmask 255.255.0.0 gw 10.45.15.219


set no-route net 44.44.0.0 netmask 255.255.0.0 gw 10.45.15.219

root@IMOLA> show ip bgp neighbor 88.58.10.245 advertised-routes

BGP table version is 0, local router ID is 172.20.1.221


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

161
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Network Next Hop Metric LocPrf Weight Path


*> 10.45.15.192/27 88.58.10.246 1 32768 ?
*> 172.20.1.221/32 88.58.10.246 1 32768 ?

Total number of prefixes 2

BGP CON REDISTRIBUZIONE DI ROTTE OSPF


Aggiungiamo un ulteriore router, chiamato O, collegato alla rete locale del router A, che scambia le
rotte tramite protocollo OSPF:

Il router A annuncia verso il router O una rotta di default, mentre il router O annuncia le sue LAN
connesse e il router A le redistribuisce tramite BGP:

Una configurazione tipica del protocollo OSPF sul router O la seguente:

set ospf directive router ospf router-id 10.45.15.219


set ospf directive network 10.45.15.192/27 area 0
set ospf directive network 172.20.1.219/32 area 0
set ospf directive network 192.168.1.0/24 area 0
set ospf on

Lo stato della tabella di routing :

root@IMOLA> show ip route ospf


Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

O>* 0.0.0.0/0 [110/20] via 10.45.15.221, eth0, 00:01:54


O 10.45.15.192/27 [110/10] is directly connected, eth0, 00:01:55
O 172.20.1.219/32 [110/10] is directly connected, dummy0, 00:02:09
O 192.168.1.0/24 [110/10] is directly connected, eth1, 00:02:04

Sul router A abbiamo:

set ospf directive router ospf router-id 10.45.15.221

162
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

set ospf directive network 10.45.15.192/27 area 0


set ospf directive default-information originate metric 20
set ospf on

con le rotte OSPF:

root@IMOLA> show ip route ospf

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS, B -


BGP, > - selected route, * - FIB route

O 10.45.15.192/27 [110/10] is directly connected, eth1, 00:10:10


O>* 172.20.1.219/32 [110/20] via 10.45.15.219, eth1, 00:03:32
O>* 192.168.1.0/24 [110/20] via 10.45.15.219, eth1, 00:03:32

Alla configurazione BGP aggiungiamo il comando che indica di annunciare verso il neighbor le rotte
acquisite tramite OSPF:

set bgp local-as 65201


set bgp directive neighbor 88.58.10.245 remote-as 3269
set bgp directive neighbor 88.58.10.245 description EBGP router master

set bgp directive redistribute ospf route-map RedOSPF

set bgp directive redistribute connected route-map ConnBGP


set bgp directive redistribute static route-map StatBGP

set bgp directive route-map ConnBGP permit 10 match ip address prefix-list LocalNet
set bgp directive route-map StatBGP permit 10 match ip address prefix-list StatRoute

set bgp directive route-map RedOSPF permit 10 match ip address prefix-list RedOSPF

set bgp directive ip prefix-list LocalNet seq 20 permit 172.20.1.221/32


set bgp directive ip prefix-list LocalNet seq 10 permit 10.45.15.192/27

set bgp directive ip prefix-list StatRoute seq 10 permit 44.44.0.0/16


set bgp directive ip prefix-list StatRoute seq 20 permit 55.55.0.0/16

set bgp directive ip prefix-list RedOSPF seq 10 permit 192.168.0.0/16 le 32


set bgp directive ip prefix-list RedOSPF seq 20 permit 172.0.0.0/8 le 32
set bgp directive ip prefix-list RedOSPF seq 30 permit 10.0.0.0/8 le 32
set bgp on

Le rotte annunciate sono:

root@IMOLA> show ip bgp neighbor 88.58.10.245 advertised-routes

BGP table version is 0, local router ID is 172.20.1.221


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-
failure, S Stale, R Removed

163
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 10.45.15.192/27 88.58.10.246 1 32768 ?
*> 44.44.0.0/16 88.58.10.246 0 32768 ?
*> 55.55.0.0/16 88.58.10.246 0 32768 ?
*> 172.20.1.219/32 88.58.10.246 20 32768 ?
*> 172.20.1.221/32 88.58.10.246 1 32768 ?
*> 192.168.1.0 88.58.10.246 20 32768 ?

Total number of prefixes 6

Qualora venga interrotto il collegamento con il router O, lo stato delle rotte diventa:

root@IMOLA> show ip bgp neighbor 88.58.10.245 advertised-routes

BGP table version is 0, local router ID is 172.20.1.221


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 10.45.15.192/27 88.58.10.246 1 32768 ?
*> 44.44.0.0/16 88.58.10.246 0 32768 ?
*> 55.55.0.0/16 88.58.10.246 0 32768 ?
*> 172.20.1.221/32 88.58.10.246 1 32768 ?

Total number of prefixes 4

Le rotte appariranno nuovamente non appena verr ripristinato il collegamento interrotto.

E possibile gestire uno scenario di backup, aggiungendo un ulteriore router, chiamato B, che
annuncia le stesse LAN del router A verso il PE, mentre annuncia la rotta di default tramite OSPF con
una metrica maggiore rispetto a quella del router A:

La configurzione BGP del router B simile a quella del router A, mentre la configurazione OSPF la
seguente:

set ospf directive router ospf router-id 10.45.15.221


set ospf directive network 10.45.15.192/27 area 0
set ospf directive default-information originate metric 40
set ospf on

164
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

dove viene annunciata la rotta di default con metrica 40 (meno prioritaria rispetto al router A).

Sul router O, vediamo che la rotta di default viene acquisita dal router A (10.45.15.221) con
metrica 20:

root@IMOLA> show ip route ospf

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,


I - ISIS, B - BGP, > - selected route, * - FIB route

O>* 0.0.0.0/0 [110/20] via 10.45.15.221, eth0, 00:13:31


O 10.45.15.192/27 [110/10] is directly connected, eth0, 00:13:32
O 172.20.1.219/32 [110/10] is directly connected, dummy0, 00:22:01
O 192.168.1.0/24 [110/10] is directly connected, eth1, 00:21:56

Mentre sono presenti due neighbor OSPF appartenenti alla stessa area:

root@IMOLA> show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
10.45.15.220 1 Full/DR 39.670s 10.45.15.220 eth0:10.45.15.219 0 0 0
10.45.15.221 1 Full/Backup 37.140s 10.45.15.221 eth0:10.45.15.219 0 0 0

Nel momento in cui il collegamento con il router A viene interrotto, la tabella di routing mostra:

root@LIPARI> show ip route ospf

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,


I - ISIS, B - BGP, > - selected route, * - FIB route

O>* 0.0.0.0/0 [110/40] via 10.45.15.220, eth0, 00:00:11


O 10.45.15.192/27 [110/10] is directly connected, eth0, 00:16:23
O 172.20.1.219/32 [110/10] is directly connected, dummy0, 00:24:52
O 192.168.1.0/24 [110/10] is directly connected, eth1, 00:24:47

Dove si nota che lannuncio della rotta di default viene ricevuto dal router B (10.45.15.220).

In virt del comando:

set ospf directive default-information originate metric 20

che annuncia la rotta di default su OSPF, solo se questa presente sul router, lo stesso effetto si
ottiene anche se sul router A si interrompe il collegamento geografico con il POP. Infatti, in questo
caso scompare la rotta di default e questa non viene propagata su OSPF.

BGP CHE REDISTRIBUISCE OSPF E OSPF CHE


REDISTRIBUISCE BGP
Estendiamo la configurazione precedente in modo che il router distribuisca tramite OSPF le rotte
acquisite tramite BGP e viceversa, tramite BGP si redistribuiscono le rotte acquisite tramite OSPF.

165
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Nel caso di doppio router (router A e router B), al fine di evitare loop di annunci, opportuno che il
router A non annunci tramite BGP le rotte ospf ricevute dal router B che a sua volta ha ricevuto
tramite BGP.

Per questo motivo, le rotte BGP, redistribuite via OSPF vengono taggate15, e tramite BGP si
redistribuiscono solamente le rotte OSPF non taggate.

La sequenza di comandi sul router A la seguente:

set bgp local-as 65201


set bgp directive neighbor 88.58.10.245 remote-as 3269
set bgp directive neighbor 88.58.10.245 description EBGP router master

set bgp directive redistribute ospf route-map RedOspfBGP


set bgp directive redistribute connected route-map ConnBGP
set bgp directive redistribute static route-map StatBGP

set bgp directive route-map ConnBGP permit 10 match ip address prefix-list LocalNetwork
set bgp directive route-map StatBGP permit 10 match ip address prefix-list StatRoute
set bgp directive ip prefix-list LocalNetwork seq 20 permit 172.20.1.221/32
set bgp directive ip prefix-list LocalNetwork seq 10 permit 10.45.15.192/27

set bgp directive ip prefix-list StatRoute seq 10 permit 44.44.0.0/16


set bgp directive ip prefix-list StatRoute seq 20 permit 55.55.0.0/16

set bgp directive route-map RedOspfBGP deny 10 match tag 1


set bgp directive route-map RedOspfBGP permit 20
set bgp on
set ospf directive router ospf router-id 10.45.15.221
set ospf directive network 10.45.15.192/27 area 0
set ospf directive redistribute bgp metric 50 metric-type 1 route-map RedBgpOSPF
set ospf directive route-map RedBgpOSPF permit 10 set tag 1

BGP CON DOPPIO NEIGHBOR


E possibile configurare due neighbor sia per gestire una situazione di ridondanza e sia per
effettuare load-balancing16.

Nel primo caso si assegna una local-preference maggiore al router considerato master:

set bgp local-as 3269


set bgp directive neighbor 88.58.10.246 activate
set bgp directive neighbor 88.58.10.246 advertisement-interval 5
set bgp directive neighbor 88.58.10.246 default-originate
set bgp directive neighbor 88.58.10.246 fall-over bfd17
set bgp directive neighbor 88.58.10.246 remote-as 65201
set bgp directive neighbor 88.58.10.246 route-map From-A in

15
Il meccanismo di tagging disponibile a partire dalla versione di sw 2.3.0-8
16
La funzionalit di Load Balancing disponibile a partire dalla versione di software 2.3.0-8.
17
Version 2.3.0-8 includes functionality of checking neighbor through BFD protocol (Bidirectional Forwarding Detection)

166
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

set bgp directive neighbor 88.58.10.246 soft-reconfiguration inbound


set bgp directive neighbor 88.58.10.246 timers 60 180
set bgp directive neighbor 88.58.10.246 version 4

set bgp directive neighbor 94.92.113.170 activate


set bgp directive neighbor 94.92.113.170 advertisement-interval 5
set bgp directive neighbor 94.92.113.170 default-originate
set bgp directive neighbor 94.92.113.170 remote-as 65201
set bgp directive neighbor 94.92.113.170 route-map From-B in
set bgp directive neighbor 94.92.113.170 soft-reconfiguration inbound
set bgp directive neighbor 94.92.113.170 timers 60 180
set bgp directive neighbor 94.92.113.170 version 4

set bgp directive network 10.10.0.0/16


set bgp directive network 10.1.10.0/24 route-map LAN-CED
set bgp directive network 10.8.0.0/24 route-map LAN-CED
set bgp directive network 7.0.255.1/32 route-map LAN-CED
set bgp directive network 7.0.255.2/32 route-map LAN-CED

set bgp directive route-map From-A permit 10 set local-preference 150


set bgp directive route-map From-B permit 10 set local-preference 140

set bgp directive route-map LAN-CED permit 10 set as-path prepend 3269 65210
set bgp on

Le rotte verso le reti remote passano attraverso il router A:

root@IMOLA> show ip route bgp

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,


I - ISIS, B - BGP, > - selected route, * - FIB route

B>* 10.45.15.192/27 [20/1] via 88.58.10.246, tun0, 00:01:01


B>* 44.44.0.0/16 [20/0] via 88.58.10.246, tun0, 00:01:01
B>* 55.55.0.0/16 [20/0] via 88.58.10.246, tun0, 00:01:01
B>* 172.20.1.219/32 [20/20] via 88.58.10.246, tun0, 00:01:01
B>* 172.20.1.221/32 [20/1] via 88.58.10.246, tun0, 00:01:01
B>* 192.168.1.0/24 [20/20] via 88.58.10.246, tun0, 00:01:01
B>* 192.168.184.6/32 [20/0] via 94.92.113.170, tun1, 00:01:03

Mentre il comando show IP BGP mostra che sono disponibili entrambi i neighbor:

root@IMOLA> show ip bgp

BGP table version is 0, local router ID is 172.31.34.79


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-
failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 7.0.255.1/32 0.0.0.0 0 32768 3269 65210 i
*> 7.0.255.2/32 0.0.0.0 0 32768 3269 65210 i
*> 10.1.10.0/24 0.0.0.0 0 32768 3269 65210 i

167
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

*> 10.8.0.0/24 0.0.0.0 0 32768 3269 65210 i


*> 10.10.0.0/16 0.0.0.0 0 32768 i
*> 10.45.15.192/27 88.58.10.246 1 150 0 65201 ?
* 94.92.113.170 1 140 0 65201 ?
*> 44.44.0.0/16 88.58.10.246 0 150 0 65201 ?
*> 55.55.0.0/16 88.58.10.246 0 150 0 65201 ?
*> 172.20.1.219/32 88.58.10.246 20 150 0 65201 ?
* 94.92.113.170 20 140 0 65201 ?
*> 172.20.1.221/32 88.58.10.246 1 150 0 65201 ?
*> 192.168.1.0 88.58.10.246 20 150 0 65201 ?
* 94.92.113.170 20 140 0 65201 ?
*> 192.168.184.6/32 94.92.113.170 0 140 0 65201 i

Total number of prefixes 12

Interompendo il collegamento con il router A, le reti diventano raggiungibili attraverso il router B:

root@IMOLA> show ip bgp

BGP table version is 0, local router ID is 172.31.34.79


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-
failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 7.0.255.1/32 0.0.0.0 0 32768 3269 65210 i
*> 7.0.255.2/32 0.0.0.0 0 32768 3269 65210 i
*> 10.1.10.0/24 0.0.0.0 0 32768 3269 65210 i
*> 10.8.0.0/24 0.0.0.0 0 32768 3269 65210 i
*> 10.10.0.0/16 0.0.0.0 0 32768 i
*> 10.45.15.192/27 94.92.113.170 1 140 0 65201 ?
*> 172.20.1.219/32 94.92.113.170 20 140 0 65201 ?
*> 192.168.1.0 94.92.113.170 20 140 0 65201 ?
*> 192.168.184.6/32 94.92.113.170 0 140 0 65201 i

Total number of prefixes 9

show ip route bgp

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,


I - ISIS, B - BGP, > - selected route, * - FIB route

B>* 10.45.15.192/27 [20/1] via 94.92.113.170, tun1, 00:00:24


B>* 172.20.1.219/32 [20/20] via 94.92.113.170, tun1, 00:00:24
B>* 192.168.1.0/24 [20/20] via 94.92.113.170, tun1, 00:00:24
B>* 192.168.184.6/32 [20/0] via 94.92.113.170, tun1, 00:02:54

Per effettuare una configurazione in load-balancing:

set bgp local-as 3269


set bgp directive maximum-paths 2

set bgp directive neighbor 88.58.10.246 activate


set bgp directive neighbor 88.58.10.246 advertisement-interval 5

168
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

set bgp directive neighbor 88.58.10.246 default-originate


set bgp directive neighbor 88.58.10.246 fall-over bfd
set bgp directive neighbor 88.58.10.246 remote-as 65201
set bgp directive neighbor 88.58.10.246 soft-reconfiguration inbound
set bgp directive neighbor 88.58.10.246 timers 60 180
set bgp directive neighbor 88.58.10.246 version 4

set bgp directive neighbor 94.92.113.170 activate


set bgp directive neighbor 94.92.113.170 advertisement-interval 5
set bgp directive neighbor 94.92.113.170 default-originate
set bgp directive neighbor 94.92.113.170 remote-as 65201
set bgp directive neighbor 94.92.113.170 soft-reconfiguration inbound
set bgp directive neighbor 94.92.113.170 timers 60 180
set bgp directive neighbor 94.92.113.170 version 4

set bgp directive network 10.10.0.0/16


set bgp directive network 10.1.10.0/24 route-map LAN-CED
set bgp directive network 10.8.0.0/24 route-map LAN-CED
set bgp directive network 7.0.255.1/32 route-map LAN-CED
set bgp directive network 7.0.255.2/32 route-map LAN-CED

set bgp directive route-map LAN-CED permit 10 set as-path prepend 3269 65210
set bgp on

Visualizzando le rotte BGP, si nota come la stessa destinazione raggiungibile attraverso i due
neighbor:

root@IMOLA> show ip route bgp

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - ISIS,


B - BGP, > - selected route, * - FIB route

B>* 10.45.15.192/27 [20/1] via 94.92.113.170, tun1, 00:00:25


* via 88.58.10.246, tun0, 00:00:25
B>* 44.44.0.0/16 [20/0] via 88.58.10.246, tun0, 00:00:25
B>* 55.55.0.0/16 [20/0] via 88.58.10.246 , tun0, 00:00:25
B>* 172.20.1.219/32 [20/20] via 94.92.113.170, tun1, 00:00:25
* via 88.58.10.246, tun0, 00:00:25
B>* 172.20.1.221/32 [20/1] via 88.58.10.246, tun0, 00:00:25
B>* 192.168.1.0/24 [20/20] via 94.92.113.170, tun1, 00:00:25
* via 88.58.10.246, tun0, 00:00:25
B>* 192.168.184.6/32 [20/0] via 94.92.113.170, tun1, 00:00:25

Lo stato BGP indica che il peso delle rotte equivalente:

root@IMOLA> show ip bgp

BGP table version is 0, local router ID is 172.31.34.79


Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-
failure, S Stale, R Removed

169
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


*> 7.0.255.1/32 0.0.0.0 0 32768 3269 65210 i
*> 7.0.255.2/32 0.0.0.0 0 32768 3269 65210 i
*> 10.1.10.0/24 0.0.0.0 0 32768 3269 65210 i
*> 10.8.0.0/24 0.0.0.0 0 32768 3269 65210 i
*> 10.10.0.0/16 0.0.0.0 0 32768 i
*> 10.45.15.192/27 94.92.113.170 1 0 65201 ?
*- 88.58.10.246 1 0 65201 ?
*> 44.44.0.0/16 88.58.10.246 0 0 65201 ?
*> 55.55.0.0/16 88.58.10.246 0 0 65201 ?
*- 172.20.1.219/32 88.58.10.246 20 0 65201 ?
*> 94.92.113.170 20 0 65201 ?
*> 172.20.1.221/32 88.58.10.246 1 0 65201 ?
*- 192.168.1.0 88.58.10.246 20 0 65201 ?
*> 94.92.113.170 20 0 65201 ?
*> 192.168.184.6/32 94.92.113.170 0 0 65201 i

Total number of prefixes 12

COMANDO ROUTER
Il comando router permette la gestione, lamministrazione e il debugging dei protocolli di routing
dinamico attivi su Imola. Ad esempio:

shell router zebra show ip route

root@IMOLA> shell router zebra show ip route

Router# show ip route


Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
B - BGP, > - selected route, * - FIB route

K * 0.0.0.0/0 via 10.64.64.64, ppp0 inactive


C>* 10.10.0.0/16 is directly connected, eth0
B>* 11.11.0.0/16 [20/0] via 172.151.113.100, eth1, 09:39:06
R 11.11.0.0/16 [120/2] via 172.151.113.100, eth1, 09:39:30
C>* 11.11.11.11/32 is directly connected, ippp1
K * 44.44.44.44/32 is directly connected, unknown inactive
C>* 100.100.100.0/30 is directly connected, tun0
R>* 111.111.111.111/32 [120/2] via 172.151.113.100, eth1, 09:39:30
C>* 127.0.0.0/8 is directly connected, lo
C>* 172.151.0.0/16 is directly connected, eth1
C>* 202.202.202.202/32 is directly connected, dummy0
Router#
root@IMOLA>

visualizza tutte le rotte statiche e dinamiche presenti nel sistema.

Un utente con i privilegi di Administrator pu effettuare direttamente la configurazione del


protocollo, usando:

shell router ospf|bgp|rip

170
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

senza specificare ulteriori opzioni.

Ad esempio per configurare OSPF, dopo aver eseguito shell router ospf si entra nellambiente di
configurazione nativo, si imposta il comando configure terminal e quindi i parametri desiderati:

root@IMOLA> set ospf on


root@IMOLA> shell router ospf

ospfd# configure terminal


ospfd(config-router)# network 10.10.0.0/16
ospfd(config-router)# network 10.10.0.0/16 area 0
ospfd(config-router)# network 172.151.0.0/16 area 0
ospfd(config-router)# exit
ospfd(config)# exit
ospfd# exit

root@IMOLA>

Se lo stesso comando viene eseguito da un utente che non ha i diritti di amministratore, viene
visualizzata la lista dei comandi che esso pu eseguire:

Tiesse spa - IMOLA Interworking Unit

No Radius configured. Using Local authentication


login: mario
Password:
local: Authentication OK
Service Type is: Login-User
Idle timeout is set to 3600 seconds
Connected Users:
ttyp0 root
ttyp1 mario

You are logged on ttyp1


mario@IMOLA# shell router ospf
show debugging ospf
show history
show ip access-list
show ip access-list (<1-99>|<100-199>|<1300-1999>|<2000-2699>|WORD)
show ip ospf
show ip ospf border-routers
show ip ospf database
......

Per visualizzare lo stato di OSPF:

root@IMOLA> shell router ospf show ip ospf

ospfd# show ip ospf


OSPF Routing Process, Router ID: 172.151.113.1
Supports only single TOS (TOS0) routes
This implementation conforms to RFC2328
RFC1583Compatibility flag is disabled
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs

171
PROTOCOLLI DI ROUTING DINAMICO: BGP, OSPF E RIP Imola User Guide

Refresh timer 10 secs


Number of external LSA 0
Number of areas attached to this router: 1

Area ID: 0.0.0.0 (Backbone)


Number of interfaces in this area: Total: 2, Active: 4
Number of fully adjacent neighbors in this area: 1
Area has no authentication
SPF algorithm executed 5 times
Number of LSA 3

ospfd#
root@IMOLA>

Per visualizzare le rotte di OSPF:

root@IMOLA> shell router ospf show ip ospf route

ospfd# show ip ospf route


============ OSPF network routing table ============
N 10.10.0.0/16 [10] area: 0.0.0.0
directly attached to eth0
N 172.151.0.0/16 [10] area: 0.0.0.0
directly attached to eth1

============ OSPF router routing table =============

============ OSPF external routing table ===========

ospfd#
root@IMOLA>

I comandi:

shell router rip list


shell router bgp list
shell router ospf list
shell router zebra list

mostrano tutte le possibili opzioni che possono essere specificate.

172
PROTOCOLLO DI MULTICAST ROUTING Imola User Guide

PROTOCOLLO DI MULTICAST ROUTING

PROTOCOL INDIPENDENT MULTICAST (PIM)


Il Multicast Routing permette la trasmissione di dati (in particolare flussi multimediali real time,
come videoconferenze o streaming video) da una sorgente verso diversi destinatari in rete.

I router Imola supportano linstradamento automatico Multicast grazie al Protocol Indipendent


Multicast (PIM).

In aggiunta alle regole di instradamento statico, sono supportate entrambe le modalit PIM-SM e
PIM-DM (sparse e dense mode).

Per l'attivazione si usa il comando:


set pim on

Il comando:
set pim off

disattiva il protocollo PIM. Infine il comando:

set no-pim

disattiva il protocollo PIM e ne rimuove dalla configurazione.

Configurazione del protocollo PIM DENSE MODE


La configurazione del protocollo PIM in modalit dense prevede i seguenti comandi:

set pim mode dense

per definire la modalit di lavor.


set interface <string> enable [localpref] <int>

Per attivare il servizio sullinterfaccia specificata. Significativo solo per la modalit Dense.

Configurazione del protocollo PIM SPARSE MODE


La configurazione del protocollo PIM in modalit sparse mode prevede i seguenti comandi:
set pim mode sparse

per definire la modalit di lavoro


set pim bsr-cand-intf <val>

Abilita la canditatura a bootstrap router sullinterfaccia. Il parametro <val> indica linterfacci di rete
oppure lindirizzo IP prescelto.
set pim bsr-prio <val>

Definisce la priorit per il ruolo di bootstrap router. Il parametro <val> pu assumere valori da 0 a
255. Maggiore il valore, maggiore la priorit.

173
PROTOCOLLO DI MULTICAST ROUTING Imola User Guide

set pim rp-cand-intf <interface>

Abilita il router a candidarsi come RP. Il parametro <interface> indica linterfaccia di rete sulla
quale il router trasmette i messaggi PIM.
set pim rp-prio <val>

Definisce la priorit per il ruolo di RP. Il parametro <val> assume valori da 0 a 255. Maggiore il
valore, maggiore la priorit.

set pim rp-cand-hold <val>

Definisce il valore del timer di Holding per il ruolo di RP. Il parametro <val> pu assumere valori da
0 a 65535.
set pim switch-data-rate <int>

Definisce il data rate per lo switch su source path tree. Il parametro <val> pu assumere un valore
numerico oppure il valore infinity.
set pim switch-data-int <val>

Definisce lintervallo di misurazione ed il data rate. I valori ammessi sono da 5 a 65535.


set pim switch-reg-rate <val>

Definisce il valore per lo switch su RP tree . Il parametro pu assumere un valore numerico oppure il
valore infinity.
set pim switch-reg-int <val>

Definisce l'intervallo di misurazione del rate per lo switch su RP tree. I valori ammessi sono da 5 a
65535.
set pim register-source <val>

Definisce lindirizzo IP da usare come sorgente da usare per i messaggi di PIM Register.
set pim static-rp <addr> group-addr <addr> masklen <0-32> [priority] <0-255>

Definisce un RP statico per il gruppo specificato.


set interface <interface> [enable|disable] [dr-priority] <0-255> [hello-delay] <1-255> [hello-period]

Attiva il servizio PIM sullinterfaccia specificata.


set pim cand-rp-group <addr> [masklen] <0-32>

Abilita il router a candidarsi come RP per il gruppo specificato.


set pim accept-join-prune <string>

Usato per attivare un filtro sui messagi di tipo join e prune.

La classe di filtraggio si configura mediante il comando: set class-list.

set pim accept-register <string>

Usato per attivare il filtro dei messaggi di tipo Register.


set pim log-level [lev1lev2|lev3|lev4|lev5]

Definisce il livello di logging.

Il comando

174
PROTOCOLLO DI MULTICAST ROUTING Imola User Guide

show pim status

mostra lo stato corrente del protocollo


show pim statistics

visualizza i contatori statistici.

MULTICAT SOURCE DISCOVERY PROTOCOL


Il protocollo Multicast Source Discovery (MSDP) permette la connessione di due router con il servizio
PIM attivo in moda da gestire la ridondanza tra RP.

Per configurarlo vengono usati i seguenti comandi:


set msdp default-peer <ipaddr>

se settato non effettua RPF check se l'SA ricevuta dal default-peer,


set msdp originator-id <interface>

per utilizzare lindirizzo IP dellinterfaccia specificata come originator RP.

Per attivare il servzio si usa il comando:


set msdp on

Altre opzioni disponibili sono:


set msdp peer <ipaddr> connect-source <interface>

per configurare il peer con cui scambiare le SA, con IP sorgente quello associato allinterfaccia
specificata.
set msdp mesh-group <name> <ip-addr>

Per aggiungere un indirizzo IP ad un mesh-group.


set msdp filter-SA <class-list> in!out

Controlla con un filtro la ricezione o trasmissione delle SA.

PROTOCOLLO IGMP
Il protocollo IGMP permette di gestire join/leave di gruppi in router direttamente connesso ad una
destinazione o sorgente.
set igmp accept-join-leave <class-list>

Attiva il filtro sulla ricezione di messaggi di join o leave

IGMP snooping
La funzione di IGMP Snooping permette di inoltrareil traffico solamente sulle porte dello switch cui
sono collegati utenti che abbiano realmente richiesto di ricevere traffico multicast. Essa si attiva
semplicemente impostando il comando:
set igmp-snooping <interface>

175
PROTOCOLLO DI MULTICAST ROUTING Imola User Guide

mentre il comando:
show igmp-snooping

visualizza informazioni sul funzionamento.

IGMP proxy
Le funzioni di IGMP Proxy permettono il reinstradamento del traffico Multicast sulle varie interfacce
di rete utilizzando semplicemente il signaling IGMP (Internet Group Management Protocol).

La configurazione prevede la definizione di uninterfaccia upstream e di una o pi interfacce


downstream. Linterfaccia upstream quella da cui arriva il traffico Multicast, le interfacce
downstream sono quelle su cui deve essere reinstradato.

Per specificare linterfaccia di tipo upstream il comando :


set igmp-proxy upstream <ifname>

Per specificare linterfaccia di downstream il comando :

set igmp-proxy downstream <ifname>

Utilizzando il comando:
set igmp-proxy altnet <a.b.c.d/N>

solo i pacchetti appartenenti alla sittorete indicata sono reinstradati sullinterfaccia downstream.
Per specificare pi di una sorgente ed ammettere il traffico solo da queste, bisogna utilizzare la
sequenza di comandi:
set igmp-proxy no-altnet
set igmp-proxy no-upstream
set igmp proxy directive phyint <ifname> upstream altnet a.b.c.d/N altnet x.y.z.t/N ..

Per specificare eventuali altre interfacce di downstream bisogna usare il comando:

set igmp-proxy directive phyint <ifname> downstream

Per modificare lintervallo di invio dei pacchetti IGMP Query sullinterfaccia downstream si pu usare
il comando:
set igmp-proxy directive membership-query-interval N

mentre per inoltrare sullinterfaccia di upstream i pacchetti di IGMP report ricevuti si pu usare il
comando:
set igmp-proxy directive relay-membership-report

I report vengono inviati specificando come indirizzo destinatario il gruppo stesso. E possibile
inviarli ad uno specifico indirizzo utilizzando il comando:
set igmp-proxy directive helper-address a.b.c.d

Per attivare le funzioni di igmp-proxy il comando :


set igmp-proxy on

mentre mediante il comando:

set igmp-proxy off

176
PROTOCOLLO DI MULTICAST ROUTING Imola User Guide

il servizio viene fermato.

Il comando di attivazione non ha effetto sulla configurazione del router, cio il servizio non verr
attivato automaticamente al prossimo reboot. Esso deve essere usato congiuntamente ai comandi di
trigger o di autocmd. Ad esempio per attivare il servizio quando si attiva la connessione ADSL:

set trigger adsl up set igmp-proxy on

Oppure per attivarlo allo startup del router:


set autocmd set igmp-proxy on.

Ad esempio:
set igmp-proxy upstream tun0 ratelimit 0 threshold 1
set igmp-proxy altnet 10.184.23.0/24
set igmp-proxy downstream eth1
set igmp-proxy on

Il traffico Multicast proveniente dal tunnel il cui nome tun0, con sorgente 10.84.23.0/24, oltre
alla rete associata al tunnel, viene reinstradato sullinterfaccia eth1.

E possibile effettuare una join statica ad un gruppo di multicast utilizzando il comando:


igmp-join <mc group> [ifname]

Mentre per eseguire la leave dal gruppo: igmp-leave <mc group>

STATIC MULTICAST ROUTING


In alternativa ai protocolli dinamici di instradamento Multicast, possibile implementare delle
regole di instradamento statico.

La configurazione di rotte statiche di instradamento Multicast prevede i seguenti comandi:


set multicast-static-join <input-interface> <group-addr>
set multicast-static-group <in-ifname> <src-addr> <group-addr> <out-ifname>

il primo aggiunge un join-groiup sullinterfaccia specificata, il secondo aggiunge una rotta statica
per i messaggi multicast in modo tale che i messaggio ricevuti dallinterfaccia <in-ifname> e
destinati al gruppo Multicast <roup-addr> siano propagati anche sullinterfaccia <out-ifname>.

Per eliminare la join statica e le rotte statiche sono disponibili i comandi:

set no-multicast-static-join .
set no-multicast-static-group .

COMANDI PER IL MULTICAST GENERICI


set multicast-route-limit <value> [drop]

Permette la visualizzazione di un messaggio (syslog) di warning al raggiungimento del limite


impostato. Con l'opzione drop la rotta non viene creata.

Sono disponibili dei comandi utili per lanalisi e la disgnostica del traffico di tipo Multicast. Quelli
pi utili sono:

177
PROTOCOLLO DI MULTICAST ROUTING Imola User Guide

set multicast-accept-icmp-echo on
set multicast-accept-icmp-echo off

per abilitare e disabilitare la risposta ai pacchetti ICMP ricevuti su un indirizzo di tipo multicast.

mtrace <source-host> <group-addr>

Per effettuare un trace delle rotte Multicast.

178
TUNNEL GRE Imola User Guide

TUNNEL GRE

CONFIGURAZIONE DI UN TUNNEL GRE


GRE l'abbreviazione di Generic Routing Encapsulation ed uno standard di incapsulamento
sviluppato al fine di stabilire tunnel tra le interfacce di due sistemi, in connessione diretta o remota.

Lattivazione di un tunnel GRE richiede la configurazione dei seguenti parametri:

il nome da attribuire allinterfaccia tunnel GRE


lindirizzo IP della interfaccia fisica sulla quale si attiver il tunnel (tunnel-source)
lindirizzo IP della interfaccia fisica remota verso cui sar terminato il tunnel (tunnel-
destination)
lindirizzo IP da attribuire in locale al tunnel (tunnel-address)
lindirizzo IP da attribuire in remoto al tunnel (tunnel-peer)

Opzionalmente, per ciascun tunnel configurato, possibile impostare i seguenti parametri:

MTU (Max Transfer Unit)


ttl (Time to Live)
multicast (Abilitazione alla trasmissione dei multicast)
keep-alive: possibile abilitare questa funzionalit configurando i parametri
keepalive-intval (intervallo di emissione dei pacchetti keep-alive) e keepalive-
retries (massimo numero di pacchetti keep-alive persi prima di abbattere linterfaccia
tunnel)

Per stabilire il nome dellinterfaccia di rete associata al tunnel si usa il comando:


set gre generic name <name>

dove <name> una qualsiasi stringa che inizia con il carattere t. E buona norma usare uno dei
seguenti valori: tgprs0, tadsl0, tisdn0, tun0, tun8.

Per configurare lindirizzo fisico di partenza del tunnel viene usata la forma:
set gre generic tunnel-source <ipaddr>

per indicare direttamente lIP sorgente del tunnel, oppure


set gre generic tunnel-source <ifname>

per indicare che lindirizzo sorgente deve essere quello associato allinterfaccia specificata.

Lindirizzo fisico di terminazione del tunnel (quello del router remoto):


set gre generic tunnel-destination <ipaddr>

Al tunnel di solito viene associato un indirizzo mediante il comando:


set gre generic tunnel-address <ipaddr/N>

ed possibile stabilire lindirizzo dellaltro estremo del tunnel:


set gre generic tunnel-peer <ipaddr/N>

179
TUNNEL GRE Imola User Guide

Ad esempio, supponendo di voler stabilire un tunnel GRE tra linterfaccia GPRS locale e lhost
remoto 89.119.108.108, possiamo creare il tunnel tgprs0 mediante i seguenti comandi CLI:

set gre generic name tgprs 0


set gre generic tunnel-source 217.201.146.129
set gre generic tunnel-destination 89.119.108.108
set gre generic tunnel-address 3.3.3.1/30
set gre generic tunnel-peer 3.3.3.2/30
set gre generic on

Lo stato del tunnel pu essere visualizzato mediante il comando:


ip addr list dev tgprs0

root@Imola> ip addr list dev tgprs0


20: tun0@NONE: <POINTOPOINT,NOARP,UP> mtu 1476 qdisc noqueue
link/gre 217.201.146.129 peer 89.119.108.108
inet 3.3.3.1 peer 3.3.3.2/30 scope global tun0
root@Imola>

Mediante il comando ifconfig possibile esaminare lo stato e i contatori dellinterfaccia. Di


seguito la visualizzazione di un tunnel attivo:

root@Imola> ifconfig tgprs0


tun0 Link encap:UNSPEC HWaddr 0A-0A-08-4D-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:3.3.3.1 P-t-P:3.3.3..2 Mask:255.255.255.252
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1476 Metric:1
RX packets:23 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

e di un tunnel non attivo:

root@Imola> ifconfig tgprs0


tun0 Link encap:UNSPEC HWaddr 0A-0A-08-4D-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:3.3.3.1 P-t-P:3.3.3.2 Mask:255.255.255.252
POINTOPOINT NOARP MULTICAST MTU:1476 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Le indicazioni UP e RUNNING indicano che il tunnel attivo. Tipicamente il flag UP indica che lo stato
dellinterfaccia amministrativamente attivo, mentre il flag di RUNNING indica che operativamente
attiva.

E possibile definire un tunnel unnumbered mediante i comandi:

set gre generic name tun0


set gre generic tunnel-source 217.201.146.129
set gre generic tunnel-destination 89.119.108.108

180
TUNNEL GRE Imola User Guide

set gre generic tunnel-address 0.0.0.0


set gre generic on
ip route add 4.4.4.0/24 dev tun0

Per abilitare la trasmissione dei multicast sullinterfaccia si usa il comando:


set gre generic multicast

mentre per modificare il valore della MTU:


set gre generic mtu N

Il valore di default 1476, cio 1500 24, dove 1500 il valore di MTU dellinterfaccia fisica e 24
loverhead del tunnel stesso.

Il valore del campo TTI viene impostato con:

set gre generic ttl N

Il tunnel viene attivato mediante il comando:

set gre generic on

e disattivato con il comando:

set gre generic off.

Il comando di attivazione non ha effetti sulla configurazione di Imola, ovvero il tunnel non verr
attivato automaticamente al prossimo reboot. Tipicamente esso si utilizza congiuntamente ai
comandi di trigger:

Ad esempio per attivare il tunnel allo start-up del router:


set autocmd set gre generic on

oppure il tunnel pu essere attivato quanto si attiva la sessione GPRS e deattivato quando questa
viene terminata:
set trigger gprs up set gre generic on
set trigger gprs down set gre generic on

oppure al momento della attivazione della funzionalit di backup:


set trigger backup up set gre generic on.

Nel caso in cui sia stato usato il comando:


set generic gre tunnel-source <ifname>

necessario che linterfaccia specificata sia attiva, per cui opportuno che lattivazione venga
invocata con i comandi di trigger, invece che come autocmd.

E possibile abilitare la trasmissione dei pacchetti di keep-alive mediante i comandi:

set gre generic keepalive-intval N


set gre generic keepalive-retries K

dove si specifica rispettivamente lintervallo di keep-alive e il numero di tentativi prima di


dichiarare fuori servizio il tunnel.

Anche se la trasmissione non abilitata, Imola risponde sempre ad eventuali pacchetti di keep-
alive ricevuti.

181
TUNNEL GRE Imola User Guide

CONFIGURAZIONE DI PI TUNNEL GRE


Sulle versioni di firmware pi recenti possibile configurare fino ad 8 tunnel GRE mediante il
comando. Per questo sono stati aggiunti i comandi:
set gre tun0 <opzioni>
set gre tun1 <opzioni>
set gre tun7 <opzioni>

dove le opzioni sono le stesse del comando set gre generic e tun0, tun1 ... tun7 e
rappresentano i nomi delle interfacce tunnel che verranno create.

Per rimuovere tutti i tunnel configurati si utilizza il comando:


set no-gre

mentre:
set no-gre tun0

rimuove il singolo tunnel.

TRIGGER GRE
Nel caso in cui sia stata abilitata la funzione di trasmissione dei messaggi di keep-alive
possibile configurare dei trigger che verranno eseguiti nel momento in cui si ha il cambiamento di
stato dellinterfaccia del tunnel. Ad esempio:

set trigger gre up ip route del 192.168.1.0/24 dev atm0


set trigger gre up ip route add 192.168.1.0/24 dev tun0

set trigger gre down ip route del 192.168.1.0/24 dev tun0


set trigger gre down ip route add 192.168.1.0/24 dev atm0

con i quali si stabilisce che la rotta verso la rete 192.168.1.0/24 deve essere impostata
sullinterfaccia tunnel quando questo attivo, e sullinterfaccia atm0 quando il tunnel non sia attivo.

CONFIGURAZIONE GRE MEDIANTE COMANDO


CREATE-TUNNEL
E possibile attivare un tunnel GRE utilizzando il comando create-tunnel come nellesempio
seguente:
create-tunnel tun0 source 10.10.1.1 destination 10.10.2.2
address 172.16.1.2/30 peer 172.16.1.1/30 mtu 1400 key 1

Il primo argomento (tun0) il nome dellinterfaccia del tunnel.

Come valore dellopzione source possibile specificare il nome dellinterfaccia fisica:


create-tunnel tun0 source PPP0 destination 10.10.2.2
address 172.16.1.2/30 peer 172.16.1.1/30 mtu 1400

182
TUNNEL GRE Imola User Guide

Il parametro key opzionale.

Possono essere attivati fino a 100 tunnel. Il nome dellinterfaccia deve essere differente per ognuno
di essi.

Per rimuovere un tunnel si usa il comando:


destroy-tunnel tun0

CONFIGURAZIONE GRE MEDIANTE COMANDO IP


I comandi della sezione set gre generic fanno uso implicito del comando ip, che pu essere
usato direttamente per creare il numero di tunnel richiesti. Ad esempio, se lindirizzo locale
attestato allinterfaccia GPRS 172.10.1.1 e lindirizzo remoto 172.20.1.1 i comandi:

set gre generic name tgprs 0


set gre generic multicast
set gre generic ttl 64
set gre generic tunnel-source 172.10.1.1
set gre generic tunnel-destination 172.20.1.1
set gre generic tunnel-address 100.100.100.1/30
set gre generic tunnl-peer 100.100.100.2/30
set gre generic on

sono equivalenti ai seguenti, prodotti utilizzando il comando ip:

ip tunnel add tgprs0 mode gre local 172.10.1.1 remote 172.20.1.1 ttl 64
ip link set tgprs0 up
ip link set tgprs0 multicast on
ip addr add 100.100.100.1/30 peer 100.100.100.2/30

In questo caso, per lattivazione automatica al restart del router, necessario impostare come
trigger tutta la sequenza di comandi ip necessari:

Ad esempio, per attivare il tunnel allattivazione del GPRS :


set trigger gprs up ip tunnel add tgprs0 mode gre local 172.10.1.1
remote 172.20.1.1 ttl 64
set trigger gprs up ip link set tgprs0 up
set trigger gprs up ip link set tgprs0 multicast on
set trigger gprs up ip addr add 100.100.100.1/30 peer 100.100.100.2/30
dev tgprs 0

Per abbattere il tunnel ed eliminare ogni traccia della programmazione relativa allo stesso,
possibile sfruttare il trigger GPRS down, legato appunto allinterfaccia GPRS:
set trigger gprs up ip tunnel del tgprs0

Si pu effettuare la rimozione del tunnel tgprs0 (anche manualmente) mediante i seguenti


comandi ip:

ip tunnel del tgprs0

Lutilizzo diretto del comando ip consente di attivare pi tunnel GRE contemporanei.

183
TUNNEL GRE Imola User Guide

Qualora lindirizzo di partenza del tunnel non sia noto, possibile utilizzare la notazione:
ip tunnel add tgprs0 mode gre local any remote 172.20.1.1 ttl 64

DYNAMIC GRE MEDIANTE PROCOLLO NHRP


Imola supporta il protocollo NHRP che in architetture di tipo Hub & Spoke (con Imola nel ruolo di
Spoke) consente al sistema con il ruolo di Hub di attivare dei tunnel GRE in maniera dinamica, senza
che questi sia stati configurati a-priori. Il compito del protocollo NHRP in questo caso quello di
comunicare allHub qual lindirizzo fisico con cui occorre instaurare il tunnel.

Ad esempio, supponiamo di avere un concentratore (Hub) con indirizzo IP fisico 85.34.166.17 e


un un router Imola (Spoke) con indirizzo IP fisico 217.201.121.1.

Lindirizzo IP del tunnel su Imola 192.168.10.11/24 mentre lindirizzo del tunnel del
concentratore 192.168.10.1/24.

Su Imola si impostano i seguenti comandi:


set gre generic name tun0
set gre generic multicast
set gre generic ttl 64
set gre generic tunnel-source 217.201.121.1
set gre generic tunnel-destination 85.34.166.17
set gre generic tunnel-address 192.168.10.11/24
set gre generic on
set nhrp interface tun0
set nhrp map 192.168.10.1/24 85.34.166.17
set nhrp holding-time 300
set nhrp on

Lattivazione del protcollo NHRP su Imola far in modo che sul concentratore verr creato
dinamicamente il tunnel richiesto. Il parametro di holding time specifica per quanto tempo il
tunnel rimane valido. Allo scadere di esso, verr rinnovata la richiesta di attivazione.

Il comando show nhrp consente di verificare lo stato di funzionamento. Ad esempio:

root@IMOLA> show nhrp nbma 85.34.166.17


Interface: tun0
Type: static
Protocol-Address: 192.168.10.1/24
NBMA-Address: 85.34.166.17
Flags: up

oppure

root@IMOLA> show nhrp schedule


Timeout: 10
Description: Admin connection timeout for fd 11
Timeout: 147
Description: Renew registration for 192.168.10.1/24 nbma 85.34.166.17 dev tun0

184
TUNNEL GRE Imola User Guide

Nel caso in cui il sistema Hub sia un router Cisco, la configurazione speculare del tipo:

interface Tunnel1
ip address 192.168.10.1 255.255.255.0
no ip redirects
ip nhrp network-id 1000
tunnel source FastEthernet0/0
tunnel mode gre multipoint
end

dove sufficiente specificare lopzione tunnel mode gre multipoint.

185
IPSEC Imola User Guide

IPSEC

CONFIGURAZIONE DI UN TUNNEL IPSEC


IPSec l'abbreviazione di "IP Security " ed uno standard per ottenere connessioni sicure su una
rete IP. La sicurezza viene raggiunta attraverso la cifratura e l'autenticazione dei pacchetti IP e viene
quindi fornita a livello rete. La capacit di garantire protezione a livello di rete rende questo
protocollo trasparente al livello delle applicazioni che non devono essere modificate. Il capitolo
elenca solamente i parametri fondamentali del modulo IPSec. Fornire una conoscenza approfondita
del protocollo IPSec esula dagli scopi del manuale.

Per configurare linterfaccia su cui attivare il tunnel IPSec si usa il comando:

set ipsec interface <interface>

Per impostare la chiave di autenticazione, la stessa che deve essere impostata anche sul peer, si usa
il comando:
set ipsec secret <key>

Per impostare lindirizzo IP della interfaccia locale sulla quale sar attivato il tunnel si usa il
comando:
set ipsec local-end <ip address>

Per impostare lindirizzo IP della interfaccia remota che costituisce lestremo remoto del tunnel si
usa il comando:

set ipsec remote-end <ip address>

Per attivare il tunnel IP sec in coincidenza di una configurazione con mascheramento degli indirizzi
IP, attivo sulla interfaccia connessa alla rete pubblica (NAT Traversal), si usa il comando:

set ipsec nat-t yes|no

Se tra il router locale e la rete IP pubblica interposto un router, sar necessaria lattivazione del
comando:
set ipsec nexthop <value>

Il parametro <value> dovr coincidere con lindirizzo IP pubblico con il quale il router si affaccia
alla rete IP pubblica.

Volendo specificare come il router locale si deve presentare per lautenticazione, si usa il comando:
set ipsec local-id <value>

Il parametro <value> pu essere un indirizzo IP o un fully-qualified domain name (fqdn), nel qual
caso la stringa dovr essere sempre preceduta dal carattere @ senza spazio. Ad esempio:
set ipsec local-id @imola.com

Se si desidera configurare/disabilitare la modalit Perfect Forward Secrecy delle chiavi, si usa il


comando:
set ipsec pfs yes|no

Se si desidera configurare la durata di una connessione, si usa il comando:

set ipsec keylife <value>

186
IPSEC Imola User Guide

dove <value> pu essere un intero seguito da s (tempo in secondi) oppure un numero decimale
seguito da m, h o d (tempo in minuti, ore o giorni, rispettivamente). Il valore di default 8 ore.

Si possono configurare fino ad 8 tunnel IPSec. Alcuni comandi si possono esprimere in forma
ridotta senza specificare il nome del tunnel, sottintendendo il tunnel0.

Per specificare la sottorete locale si usa il comando:


set ipsec [tunnel0| |tunnel7] local-subnet <subnet address>/<subnet prefix length>

Per specificare la sottorete remota si usa il comando:


set ipsec [tunnel0| |tunnel7] remote-subnet <subnet address>/<subnet prefix length>

Per specificare il tipo di negoziazione si usa il comando:


set ipsec [tunnel0| |tunnel7] negotiation <type>

dove <type> pu essere main o aggressive .

Per specificare il protocollo di Internet Key Exchange o IKE (IPSec Phase I) si usa il comando:

set ipsec [tunnel0| |tunnel7] ike <protocol>

Per specificare il protocollo di Encapsulating Security Payload o ESP (IPSec Phase II) si usa il
comando:

set ipsec [tunnel0| |tunnel7] esp <protocol>

Per restringere il numero di protocolli e porte ammessi sul tunnel IPSec si usa il comando:

set ipsec [tunnel0| |tunnel7] local-proto-port <protocol>


set ipsec [tunnel0| |tunnel7] remote-proto-port <protocol>

Sono disponibili inoltre una serie di comandi da utilizzare per rimuovere opzioni precedentemente
specificate:
set ipsec no-secret
set ipsec no-nat-t
set ipsec no-local-end
set ipsec no-local-id
set ipsec no-pfs
set ipsec no-nexthop
set ipsec no-local-end
set ipsec no-remote-end
set ipsec no-remote-id
set ipsec [tunnel0| |tunnel7] no-local-subnet
set ipsec [tunnel0| |tunnel7] no-remote-subnet
set ipsec [tunnel0| |tunnel7] no-negotiation
set ipsec [tunnel0| |tunnel7] no-ike
set ipsec [tunnel0| |tunnel7] no-esp

Una configurazione single-tunnel IPSec pu, ad esempio, essere attivata mediante i seguenti
semplici comandi CLI:

set ipsec interface eth0


set ipsec local-end 10.10.2.210
set ipsec local-subnet 172.151.0.0/16

187
IPSEC Imola User Guide

set ipsec nexthop 10.10.2.211


set ipsec remote-end 10.10.2.211
set ipsec remote-subnet 173.151.0.0/16
set ipsec secret pippo654321
set ipsec nat-t yes
set ipsec tunnel0 negotiation main
set ipsec tunnel0 ike 3des-md5-modp1024
set ipsec tunnel0 keyexchange yes
set ipsec auto-on
set ipsec on

Per verificare lo stato di un tunnel IPSec possibile utilizzare il comando:

show interface ipsec

Se il tunnel attivo l'output generato del seguente tipo:

root@Imola> ip link list ipsec0


3 172.151.2.210/32:0 -> 173.151.2.211/32:0 => tun0x1002@172.151.2.210
14: ipsec0: <NOARP,UP> mtu 16260 qdisc pfifo_fast qlen 10
link/ether 00:50:c2:1e:af:04 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
29484 351 0 0 0 0
TX: bytes packets errors dropped carrier collsns
52650 351 0 0 0 0

Bench configurato, il tunnel IPSec non viene attivato automaticamente: la sua attivazione invece
demandata ai comandi di trigger oppure di autocmd.

Ad esempio, dopo averlo configurato, lIPSec viene attivato nel momento in cui viene stabilita una
sessione GPRS:
set trigger gprs up set ipsec on

e analogamente si deattiva quando termina la sessione GPRS:


set trigger gprs down set ipsec off

TRIGGER IPSEC
E possibile configurare dei trigger che verranno eseguiti nel momento in cui viene stabilita la
sessione IPSec con il peer remoto. Ad esempio:
set ipsec interface eth0
set ipsec local-end 10.10.2.210
set ipsec local-subnet 172.151.0.0/16
set ipsec nexthop 10.10.2.211
set ipsec remote-end 10.10.2.211
set ipsec remote-subnet 173.151.0.0/16
set ipsec secret pippo654321
set ipsec nat-t yes
set ipsec tunnel0 negotiation main

188
IPSEC Imola User Guide

set ipsec tunnel0 ike 3des-md5-modp1024


set ipsec tunnel0 keyexchange yes
set ipsec auto-on
set ipsec on

set trigger ipsec up ipstun0 ip route add 173.151.0.0/24 dev ipsec0


set trigger ipsec up ipstun0 logger r 10.10.2.1 IPSec is up
set trigger ipsec down ipstun0 ip route del 173.151.0.0/24 dev ipsec0
set trigger ipsec down ipstun0 logger t 10.10.2.1 IPSec is down

set ipsec on

con i quali si invia un messaggio di syslog per notificare lo stato del tunnel e configurare la rotta
verso la rete remota sullinterfaccia IPSec0.

In caso di utilizzo di trigger IPSec obbligatorio sia specificare il nome del tunnel cui il trigger si
riferisce (IPstun0, ... IP stun7), sia configurare sempre la rotta verso la remote subnet
sullinterfaccia IPSec0.

189
RACOON IPSEC SECURITY Imola User Guide

RACOON IPSEC SECURITY

INTRODUZIONE
IPSec l'abbreviazione di "IP Security" ed uno standard open per realizzare scambio di dati in
piena confidenzialit e cifratura su connessioni di livello 3. La sicurezza viene raggiunta attraverso
il crittaggio e l'autenticazione dei pacchetti IP e viene quindi fornita a livello rete.

Il fatto che tale protezione sia implementata nel Layer 3, rende questo protocollo trasparente al
livello delle applicazioni, le quali continuano a funzionare senza bisogno di alcun adeguamento di
carattere software.

Il presente capitolo si limita a fornire indicazioni circa i parametri fondamentali del modulo IPSec
Racoon, mentre una conoscenza approfondita di tale protocollo esula dagli scopi del manuale.

La configurazione delle VPN attraverso questo particolare modulo software viene realizzata
mediante una elaborata astrazione a livello di Command Line Interface, del celebre software di
security Racoon, cui si rimanda direttamente per tutti gli ulteriori approfondimenti necessari.

CONFIGURAZIONE DI UN TUNNEL IPSEC CON


RACOON
Il sistema di configurazione di VPN IPSec basato sul modulo Racoon permette di differenziare i
parametri di configurazione relativi alla Phase I da quelli caratteristici della Phase II. In tal modo i
listati risultano molto pi sintetici pertanto, maggiormente comprensibili.

Ad esempio, per configurare i parametri relativi alla Phase I di una connessione VPN IPSec in main
mode, vengono utilizzati comandi del seguente tipo:
set racoon phase1 MAIN exchange-mode main
set racoon phase1 MAIN local-end eth0
set racoon phase1 MAIN remote-end 10.10.100.39
set racoon phase1 MAIN encryption-algorithm 3des
set racoon phase1 MAIN hash-algorithm sha1

190
RACOON IPSEC SECURITY Imola User Guide

set racoon phase1 MAIN dh-group 2


set racoon phase1 MAIN authentication-method pre_shared_key

I parametri specificati esprimono nell'ordine:

la modalit di esecuzione della VPN IPSec (main mode);


l'interfaccia locale da cui viene istanziata la connessione protetta (il parametro local-end
accetta come argomento un'interfaccia del router oppure un indirizzo IP a bordo del router);
l'indirizzo IP del terminatore della VPN;
l'algoritmo di encryption;
l'algoritmo di hash;
il gruppo Diffie-Hellman;
la tecnica di authenticazione della connessione VPN (nella fattispecie viene impiegato il
metodo basato su pre-shared key).

Occorre sottolineare il fatto che sia obbligatorio definire una stringa generica per identificare
l'insieme dei comandi che andranno a costituire la Phase I in via di definizione, mediante il
seguente formalismo:

set racoon phase1 {NEW-PHASE1_PROFILE} {phase_I commands}

in cui appunto la stringa {NEW-PHASE1_PROFILE} (nell'esempio sopra completata con il valore


MAIN), andr a costituire un gruppo di comandi che identificher univocamente la generica Phase I
specificata.

Questa tecnica espressiva viene adottata anche per la definizione delle sezioni Phase II, i cui
comandi obbediscono, in piena analogia, alla seguente regola di base:
set racoon phase2 {NEW-PHASE2_PROFILE} {phase_II commands}

La parametrizzazione della Phase II della VPN IPSec, viene effettuata con appositi comandi
pertinenti a tale sezione. Ad esempio una significativa valorizzazione della fase 2 di una VPN IPSec
in main mode pu essere considerata simile al seguente listato:
set racoon phase2 3DES_MD5 match-phase1 MAIN
set racoon phase2 3DES_MD5 encryption-algotithm 3des
set racoon phase2 3DES_MD5 authentication-algorithm hmac_md5
set racoon phase2 3DES_MD5 pfs-group 2
set racoon phase2 3DES_MD5 mode tunnel
set racoon phase2 3DES_MD5 security esp
set racoon phase2 3DES_MD5 level require
set racoon phase2 3DES_MD5 local-subnet 2.2.2.2/32
set racoon phase2 3DES_MD5 remote-subnet 1.1.1.1/32

Secondo l'esempio appena mostrato, il profilo di Phase II stato esplicitamente indicato dalla
stringa 3DES_MD5, ad esempio per rappresentare in modo esplicito alcuni parametri salienti legati
all'encryption della VPN.

Commentiamo rapidamente I parametri forniti a corredo della Phase II appena riportata:

il comando match-phase1 va a legare in modo esclusivo la presente Phase II alla Phase I


precedentemente specificata e risulta obbligatorio per configurazioni IPSec in cui coesistano
multiple connessioni VPN e pertanto definizioni multiple di Phase I e Phase II;
l'algoritmo di encryption selezionato per la Phase II appunto il 3des;

191
RACOON IPSEC SECURITY Imola User Guide

la scelta per quanto riguarda la tecnica di autenticazione ricade sull'algoritmo hmac_md5;


Il Perfect Forward Secrecy stato abilitato e specificato di gruppo DH 2 (1024 bit);
la modalit della VPN di tipo tunnel;
viene scelta la tecnica di sicurezza Encapsulating Security Payload (ESP);
level require: rappresenta il default (anche se non specificato) ed un parametro che va
a caratterizzare la definizione dell'ACL della Phase II; c' da sottolinare che la valorizzazione
require non adatta al caso in cui siano previste ACL crypto multiple: in quest'ultimo caso
risulta fondamentale impiegare il parametro level unique;
local-subnet e remote-subnet rappresentano una coppia di segmenti LAN che assieme
concorrono a specificare un'access list del traffico sensibile della VPN;

E' importante sottolineare che ogni sezione permette di configurare una sola definizione di ACL,
che caratterizza sempre traffico bidirezionale: per implementare ACL multiple bisogna definire
tante sezioni Phase II quante le ACL in gioco, ed effettuarne il corretto link alla relativa Phase I.

Ad esempio, per una VPN IPSec in main mode con multiple ACL's:
set racoon phase1 MAIN exchange-mode main
set racoon phase1 MAIN local-end eth0
set racoon phase1 MAIN remote-end 10.10.100.39
set racoon phase1 MAIN encryption-algorithm 3des
set racoon phase1 MAIN hash-algorithm sha1
set racoon phase1 MAIN dh-group 2
set racoon phase1 MAIN authentication-method pre_shared_key

set racoon phase2 ACL_1 match-phase1 MAIN


set racoon phase2 ACL_1 encryption-algotithm 3des
set racoon phase2 ACL_1 authentication-algorithm hmac_md5
set racoon phase2 ACL_1 pfs-group 2
set racoon phase2 ACL_1 mode tunnel
set racoon phase2 ACL_1 security esp
set racoon phase2 ACL_1 level unique
set racoon phase2 ACL_1 local-subnet 192.168.1.0/24
set racoon phase2 ACL_1 remote-subnet 192.168.100.0/24

set racoon phase2 ACL_2 match-phase1 MAIN


set racoon phase2 ACL_2 encryption-algotithm 3des
set racoon phase2 ACL_2 authentication-algorithm hmac_md5
set racoon phase2 ACL_2 pfs-group 2
set racoon phase2 ACL_2 mode tunnel
set racoon phase2 ACL_2 security esp
set racoon phase2 ACL_2 level unique
set racoon phase2 ACL_2 local-subnet 192.168.2.0/24
set racoon phase2 ACL_2 local-subnet 192.168.100.0/24

set racoon pre-shared-key 10.10.100.39 tiesseadm

set racoon on

192
RACOON IPSEC SECURITY Imola User Guide

La password per l'autenticazione della VPN (pre-shared key) viene specificata mediante comandi
del seguente tipo:
set racoon pre-shared-key 10.10.100.39 tiesseadm

Questo comando idoneo a specificare sia classiche definizioni di coppie IP/password, che di
coppie USER/password, nel caso venissero impiegate autenticazioni di Gruppo e di tipo Xauth
(Extended Authentication).

Ad esempio:

set racoon pre-shared-key 10.10.100.39 tiesseadm


set racoon pre-shared-key EASY_VPN tiesseadm

Per mostrare i vantaggi introdotti dall'aver etichettato le sezioni Phase I e Phase II della VPN IPSec
con appositi identificativi, viene mostrato un semplice esempio in cui su un apparato Tiesse
vengono istanziate contemporaneamente due VPN verso due differenti terminatori IPSec. In tale
contesto si evince come ogni Phase II ha una propria, indissolubile corrispondenza con una sola
Phase I che caratterizza la singola istanza di connessione:

set racoon phase1 NewYork_Plant exchange-mode main


set racoon phase1 NewYork_Plant local-end atm0
set racoon phase1 NewYork_Plant remote-end 85.64.166.18
set racoon phase1 NewYork_Plant encryption-algorithm 3des
set racoon phase1 NewYork_Plant hash-algorithm sha1
set racoon phase1 NewYork_Plant dh-group 2
set racoon phase1 NewYork_Plant authentication-method pre_shared_key

set racoon phase1 Portland_Plant exchange-mode main


set racoon phase1 Portland_Plant local-end atm0
set racoon phase1 Portland_Plant remote-end 88.45.34.5
set racoon phase1 Portland_Plant encryption-algorithm aes
set racoon phase1 Portland_Plant hash-algorithm md5
set racoon phase1 Portland_Plant dh-group 5
set racoon phase1 Portland_Plant authentication-method pre_shared_key

set racoon phase2 NewYork_Lan match-phase1 NewYork_Plant


set racoon phase2 NewYork_Lan encryption-algotithm aes
set racoon phase2 NewYork_Lan authentication-algorithm hmac_sha256
set racoon phase2 NewYork_Lan pfs-group 5
set racoon phase2 NewYork_Lan mode tunnel
set racoon phase2 NewYork_Lan security esp
set racoon phase2 NewYork_Lan level unique
set racoon phase2 NewYork_Lan local-subnet 192.168.1.0/24
set racoon phase2 NewYork_Lan remote-subnet 192.168.100.0/24

set racoon phase2 Portland_Lan match-phase1 Portland_Plant


set racoon phase2 Portland_Lan encryption-algotithm 3des
set racoon phase2 Portland_Lan authentication-algorithm hmac_md5
set racoon phase2 Portland_Lan pfs-group 2

193
RACOON IPSEC SECURITY Imola User Guide

set racoon phase2 Portland_Lan mode tunnel


set racoon phase2 Portland_Lan security esp
set racoon phase2 Portland_Lan level unique1
set racoon phase2 Portland_Lan local-subnet 192.168.1.0/24
set racoon phase2 Portland_Lan local-subnet 192.168.200.0/24

set racoon pre-shared-key 85.64.166.18 N3w10RK_pwd


set racoon pre-shared-key 88.45.34.5 P0R714N0_pwd

set racoon on

Nell'occasione sottolineiamo che l'avvio della VPN avviene solo dopo aver inserito il comando di
attivazione:
set racoon on

In modo analogo, per arrestare l'attivit di una VPN IPSec necessario digitare il comando:
set racoon off

Per l'impiego del router Tiesse come client di VPN (a.k.a. Easy VPN) le configurazioni vengono
specificate con comandi del seguente tipo:

set racoon phase1 WARRIOR remote-end 88.34.54.33


set racoon phase1 WARRIOR encryption-algorithm 3des
set racoon phase1 WARRIOR hash-algorithm sha1
set racoon phase1 WARRIOR dh-group 2
set racoon phase1 WARRIOR authentication-method xauth-psk-client
set racoon phase1 WARRIOR exchange-mode aggressive
set racoon phase1 WARRIOR my-identifier group EASY_VPN
set racoon phase1 WARRIOR xauth-login user1
set racoon phase1 WARRIOR proposal-check obey
set racoon phase1 WARRIOR mode-cfg
set racoon phase2 PHASE_II match-phase1 WARRIOR
set racoon phase2 PHASE_II encryption-algorithm 3des
set racoon phase2 PHASE_II authentication-algorithm hmac-md5
set racoon phase2 PHASE_II pfs-group 2
set racoon phase2 PHASE_II mode tunnel
set racoon phase2 PHASE_II security esp
set racoon phase2 PHASE_II level unique
set racoon pre-shared-key 88.34.54.33 tiesseadm
set racoon pre-shared-key user1 password1
set racoon on

Nell'esempio appena riportato vengono utilizzati molti comandi gi descritti, tuttavia importante
le linee di comando che caratterizzano questa particolare tecnica di connessione IPSec:

con il comando set racoon phase1 WARRIOR mode-cfg viene indicato al client di
adottare la modalit configuration mode, che determina una sorta di autoconfigurazione
dell'apparato, basata sulla ricezione di parametri inviati direttamente dal server al termine
di una Phase I conclusa con comune accordo;

194
RACOON IPSEC SECURITY Imola User Guide

il comando set racoon phase1 WARRIOR my-identifier group EASY_VPN, indica che il
gruppo per tale connessione sar identificato dalla stringa EASY_VPN
la linea di comando set racoon phase1 WARRIOR xauth-login user1, andr ad
anticipare alla sezione Phase I che l'extended authentication verr eseguita dall'utente
user1
la linea di comando set racoon phase1 WARRIOR authentication-method xauth-psk-
client specifica invece che il router Tiesse ricoprir il ruolo di client e che seguir la
tecnica di doppia autenticazione nota come extended authentication. La relativa coppia
user/password, viene specificata nella sezione set racoon pre-shared-key, come
riportato al termine del precedente listato

Un interessante caso di impiego delle VPN IPSec quello relativo alle implementazioni di scenari
con protocolli GRE e NHRP. Nel seguente esempio si riporta una semplice configurazione di una
VPN che intende realizzare tale tipo di topologia di rete:
set loopback ipaddr 1.1.1.1
set loopback on

set gre tun0 name tun0


set gre tun0 tunnel-source 1.1.1.1
set gre tun0 tunnel-destination 88.34.166.18
set gre tun0 tunnel-address 192.168.3.2/24
set gre tun0 tunnel-peer 1.1.1.1/30
set gre tun0 no-multicast
set gre tun0 ttl 64
set gre tun0 mtu 1400
set gre tun0 keepalive-intval 0
set gre tun0 keepalive-retries 5
set gre tun0 on
set nhrp interface tun0
set nhrp map 192.168.3.1/24 88.34.166.18
set nhrp cisco-auth NOVOVLT
set nhrp holding-time 300
set nhrp debug

set racoon phase1 MAIN remote-end 88.34.166.18


set racoon phase1 MAIN local-end atm0
set racoon phase1 MAIN encryption-algorithm 3des
set racoon phase1 MAIN hash-algorithm sha1
set racoon phase1 MAIN dh-group 2
set racoon phase1 MAIN authentication-method pre_shared_key
set racoon phase1 MAIN exchange-mode main
set racoon phase2 NHRP match-phase1 MAIN
set racoon phase2 NHRP encryption-algotithm 3des
set racoon phase2 NHRP authentication-algorithm hmac_sha1
set racoon phase2 NHRP pfs-group 2
set racoon phase2 NHRP protocol 47
set racoon phase2 NHRP mode tunnel

195
RACOON IPSEC SECURITY Imola User Guide

set racoon phase2 NHRP security esp


set racoon phase2 NHRP level unique
set racoon phase2 NHRP local-subnet 1.1.1.1/32
set racoon phase2 NHRP remote-subnet 192.168.203.253/32
set racoon pre-shared-key 88.34.166.18 tiesseadm
set racoon on

La pi importante caratterizzazione introdotta da questo esempio in pratica la restrizione della


ACL IPSec al solo protocollo GRE (47), determinata appunto dal comando:
set racoon phase2 NHRP protocol 47

ANALISI E TROUBLESHOOTING DELLE CONNESSIONI


Per fare in modo che IPSec generi messaggi di log che siano utili a comprendere quanto accada
durante le fasi di attivazione della VPN, viene impiegato il comando:

set racoon debug

Ad esempio, per effettuare l'attivazione e la verifica di una semplice VPN IPSec in main mode come
quella che segue, si procede come descritto qui di seguito.
set loopback ipaddr 1.1.1.1
set loopback on

set route host 3.3.3.3 gw 192.168.203.253

set racoon debug

set racoon phase1 PHASEI remote-end 192.168.203.253


set racoon phase1 PHASEI local-end eth1
set racoon phase1 PHASEI encryption-algorithm aes
set racoon phase1 PHASEI hash-algorithm sha1
set racoon phase1 PHASEI dh-group 5
set racoon phase1 PHASEI authentication-method pre-shared-key
set racoon phase1 PHASEI exchange-mode main

set racoon phase2 PHASEII match-phase1 CISCO


set racoon phase2 PHASEII encryption-algorithm aes
set racoon phase2 PHASEII authentication-algorithm hmac-sha1
set racoon phase2 PHASEII mode tunnel
set racoon phase2 PHASEII security esp
set racoon phase2 PHASEII level require
set racoon phase2 PHASEII local-subnet 1.1.1.1/32
set racoon phase2 PHASEII remote-subnet 3.3.3.3/32
set racoon pre-shared-key 192.168.203.253 tiesseadm

set racoon on

196
RACOON IPSEC SECURITY Imola User Guide

All'attivazione della VPN, se le entit in gioco concludono la transazione IPSec in comune accordo,
dovremmo ottenere direttamente a video il messaggio di connessione avvenuta, come qui di
seguito:

root@IMOLA> set racoon on

Starting racoon daemon.. done

root@IMOLA> VPN connexion established

Per osservare le fasi di attivazione della VPN direttamente dai log, opportuno avviare la
visualizzazione degli stessi subito dopo aver dato il comando di avvio:

root@IMOLA> set racoon on

root@IMOLA> show log


Sep 2 18:48:48 IMOLA racoon: INFO: @(#)ipsec-tools 0.8.0 (http://ipsec-tools.sourceforge.net)
Sep 2 18:48:48 IMOLA racoon: INFO: @(#)This product linked OpenSSL 0.9.7c 30 Sep 2003
(http://www.openssl.org/)
Sep 2 18:48:48 IMOLA racoon: INFO: Reading configuration from "/etc/racoon.conf"
Sep 2 18:48:48 IMOLA racoon: INFO: 10.10.113.1[500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 10.10.113.1[500] used as isakmp port (fd=9)
Sep 2 18:48:48 IMOLA racoon: INFO: 10.10.113.1[4500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 10.10.113.1[4500] used as isakmp port (fd=10)
Sep 2 18:48:48 IMOLA racoon: INFO: 192.168.203.252[500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 192.168.203.252[500] used as isakmp port (fd=11)
Sep 2 18:48:48 IMOLA racoon: INFO: 192.168.203.252[4500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 192.168.203.252[4500] used as isakmp port (fd=12)
Sep 2 18:48:48 IMOLA racoon: INFO: 1.1.1.1[500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 1.1.1.1[500] used as isakmp port (fd=13)
Sep 2 18:48:48 IMOLA racoon: INFO: 1.1.1.1[4500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 1.1.1.1[4500] used as isakmp port (fd=14)
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.1[500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.1[500] used as isakmp port (fd=15)
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.1[4500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.1[4500] used as isakmp port (fd=16)
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.0[500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.0[500] used as isakmp port (fd=17)
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.0[4500] used for NAT-T
Sep 2 18:48:48 IMOLA racoon: INFO: 127.0.0.0[4500] used as isakmp port (fd=18)
Sep 2 18:48:49 IMOLA racoon: INFO: accept a request to establish IKE-SA: 192.168.203.253
Sep 2 18:48:49 IMOLA racoon: INFO: initiate new phase 1 negotiation:
192.168.203.252[500]<=>192.168.203.253[500]
Sep 2 18:48:49 IMOLA racoon: INFO: begin Identity Protection mode.
Sep 2 18:48:51 IMOLA racoon: INFO: received Vendor ID: CISCO-UNITY
Sep 2 18:48:51 IMOLA racoon: INFO: received Vendor ID: DPD
Sep 2 18:48:51 IMOLA racoon: INFO: received Vendor ID: draft-ietf-ipsra-isakmp-xauth-06.txt
Sep 2 18:48:52 IMOLA racoon: INFO: ISAKMP-SA established 192.168.203.252[500]-
192.168.203.253[500] spi:ca0f3fc7868ea695:4823dd8cbda34dbc

I log appena riportati costituiscono una sequenza di messaggi rappresentativa di un tentativo di


avvio della VPN concluso con esito positivo. Possiamo verificare il corretto funzionamento pratico,
mediante un traffico di prova intercettato dall'ACL, come ad esempio il seguente (ping esteso):

197
RACOON IPSEC SECURITY Imola User Guide

root@IMOLA> ping -I 1.1.1.1 3.3.3.3

PING 3.3.3.3 (3.3.3.3) from 1.1.1.1 : 56(84) bytes of data.


64 bytes from 3.3.3.3: icmp_seq=0 ttl=255 time=399.375 msec
64 bytes from 3.3.3.3: icmp_seq=1 ttl=255 time=5.642 msec
64 bytes from 3.3.3.3: icmp_seq=2 ttl=255 time=5.637 msec
64 bytes from 3.3.3.3: icmp_seq=3 ttl=255 time=5.994 msec
64 bytes from 3.3.3.3: icmp_seq=4 ttl=255 time=5.646 msec
64 bytes from 3.3.3.3: icmp_seq=5 ttl=255 time=5.639 msec
64 bytes from 3.3.3.3: icmp_seq=6 ttl=255 time=5.643 msec
64 bytes from 3.3.3.3: icmp_seq=7 ttl=255 time=5.657 msec

--- 3.3.3.3 ping statistics ---

8 packets transmitted, 8 packets received, 0% packet loss


round-trip min/avg/max/mdev = 5.637/54.904/399.375/130.197 ms

root@IMOLA>

E' interessante notare, come diretta conseguenza del traffico di prova innestato, che all'attivazione
del traffico di prova, arrivano nei log ulteriori messaggi relativi ai pacchetti intercettati dalla crypto
ACL:

root@IMOLA> show log


:
:
Sep 2 18:49:41 IMOLA racoon: INFO: initiate new phase 2 negotiation:
192.168.203.252[500]<=>192.168.203.253[500]
Sep 2 18:49:41 IMOLA racoon: INFO: received RESPONDER-LIFETIME: 3600 seconds
Sep 2 18:49:41 IMOLA racoon: INFO: received RESPONDER-LIFETIME: 4608000 kbytes
Sep 2 18:49:41 IMOLA racoon: WARNING: attribute has been modified.
Sep 2 18:49:42 IMOLA racoon: INFO: IPsec-SA established: ESP/Tunnel
192.168.203.252[500]->192.168.203.253[500] spi=158105024(0x96c7dc0)
Sep 2 18:49:42 IMOLA racoon: INFO: IPsec-SA established: ESP/Tunnel
192.168.203.252[500]->192.168.203.253[500] spi=2475738052(0x9390c3c4)

In particolar modo, gli ultimi messaggi visualizzati a seguito del transito di pacchetti cifrati
sanciscono la corretta terminazione della transazione di Phase II, con indicazione delle relative SPI
(Security Policy Index).

Per avere la prova che il traffico di test riportato sopra sia effettivamente cifrato da parte del router,
si pu impiegare il packet sniffer Tiesse per visualizzare le caratteristiche dei pacchetti. Per far ci
si consiglia di lanciare il ping esteso riportato sopra e di aprire una nuova connessione al router su
un altro console manager, sul quale andremo a visualizzare il traffico campione col seguente
comando:

Console Manager 1:
root@IMOLA> ping -I 1.1.1.1 3.3.3.3

PING 3.3.3.3 (3.3.3.3) from 1.1.1.1 : 56(84) bytes of data.


64 bytes from 3.3.3.3: icmp_seq=0 ttl=255 time=6.156 msec
64 bytes from 3.3.3.3: icmp_seq=1 ttl=255 time=5.716 msec
64 bytes from 3.3.3.3: icmp_seq=2 ttl=255 time=5.685 msec
64 bytes from 3.3.3.3: icmp_seq=3 ttl=255 time=5.707 msec

198
RACOON IPSEC SECURITY Imola User Guide

64 bytes from 3.3.3.3: icmp_seq=4 ttl=255 time=5.899 msec

--- 3.3.3.3 ping statistics ---

5 packets transmitted, 5 packets received, 0% packet loss


round-trip min/avg/max/mdev = 5.685/5.832/6.156/0.197 ms

Console Manager 2:
root@IMOLA> tcpdump -i atm0
loading tcpdump...

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes

19:05:05.158535 IP 192.168.203.252 > 192.168.203.253: ESP(spi=0x9390c3c4,seq=0x9)


19:05:05.163318 IP 192.168.203.253 > 192.168.203.252: ESP(spi=0x096c7dc0,seq=0x9)
19:05:06.171557 IP 192.168.203.252 > 192.168.203.253: ESP(spi=0x9390c3c4,seq=0xa)
19:05:06.176287 IP 192.168.203.253 > 192.168.203.252: ESP(spi=0x096c7dc0,seq=0xa)
19:05:07.181474 IP 192.168.203.252 > 192.168.203.253: ESP(spi=0x9390c3c4,seq=0xb)
19:05:07.186176 IP 192.168.203.253 > 192.168.203.252: ESP(spi=0x096c7dc0,seq=0xb)
19:05:08.191544 IP 192.168.203.252 > 192.168.203.253: ESP(spi=0x9390c3c4,seq=0xc)
19:05:08.196267 IP 192.168.203.253 > 192.168.203.252: ESP(spi=0x096c7dc0,seq=0xc)
19:05:09.201477 IP 192.168.203.252 > 192.168.203.253: ESP(spi=0x9390c3c4,seq=0xd)
19:05:09.206387 IP 192.168.203.253 > 192.168.203.252: ESP(spi=0x096c7dc0,seq=0xd)

Si nota chiaramente che il traffico uscente dall'interfaccia ADSL del router contrassegnato con ESP
(Encapsulated Security Paypload). Sono inoltre visibili anche le SPI's (Security Policy Index), relative
al traffico di andata (da 1.1.1.1 a 3.3.3.3) e a quello di ritorno (da 3.3.3.3 a 1.1.1.1), le stesse
visualizzate nei log a conclusione della Phase II.

Per mostrare le ISAKMP policies:

root@IMOLA> show racoon isakmp

Destination Cookies Created


192.168.203.253.500 ca0f3fc7868ea695:4823dd8cbda34dbc 2000-01-02 18:48:52

Per mostrare le IPSec policies:

root@IMOLA> show racoon ipsec

192.168.203.253 192.168.203.252
esp mode=tunnel spi=158105024(0x096c7dc0) reqid=0(0x00000000)
E: aes-cbc c5b6adf1 97b98227 c97ec3e8 8b2d285e
A: hmac-sha1 f5a745db c6d7b189 6cbc6235 c45a97ac e4c34e44
seq=0x00000000 replay=4 flags=0x00000000 state=mature
created: Sep 2 18:49:41 2000 current: Sep 2 19:18:43 2000
diff: 1742(s) hard: 3600(s) soft: 2880(s)
last: Sep 2 18:49:42 2000 hard: 0(s) soft: 0(s)
current: 1092(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 13 hard: 0 soft: 0
sadb_seq=1 pid=15951 refcnt=0

192.168.203.252 192.168.203.253
esp mode=tunnel spi=2475738052(0x9390c3c4) reqid=0(0x00000000)

199
RACOON IPSEC SECURITY Imola User Guide

E: aes-cbc dc618825 153f664b 011995cc 289e284c


A: hmac-sha1 8cf7cab3 067115bc 9e6113af 5e0060e4 fff7afc2
seq=0x00000000 replay=4 flags=0x00000000 state=mature
created: Sep 2 18:49:42 2000 current: Sep 2 19:18:43 2000
diff: 1741(s) hard: 3600(s) soft: 2880(s)
last: Sep 2 18:49:42 2000 hard: 0(s) soft: 0(s)
current: 1976(bytes) hard: 0(bytes) soft: 0(bytes)
allocated: 13 hard: 0 soft: 0
sadb_seq=0 pid=15951 refcnt=0

root@IMOLA>

Per mostrare le entries del SAD (Security Association Database):

root@IMOLA> show racoon sad

3.3.3.3[any] 1.1.1.1[any] 255


in prio def ipsec
esp/tunnel/192.168.203.253-192.168.203.252/require
created: Sep 2 18:48:48 2000 lastused: Sep 2 19:05:09 2000
lifetime: 0(s) validtime: 0(s)
spid=232 seq=22 pid=21170
refcnt=1
1.1.1.1[any] 3.3.3.3[any] 255
out prio def ipsec
esp/tunnel/192.168.203.252-192.168.203.253/require
created: Sep 2 18:48:48 2000 lastused: Sep 2 19:05:09 2000
lifetime: 0(s) validtime: 0(s)
spid=225 seq=21 pid=21170
refcnt=1
3.3.3.3[any] 1.1.1.1[any] 255
fwd prio def ipsec
esp/tunnel/192.168.203.253-192.168.203.252/require
created: Sep 2 18:48:48 2000 lastused:
lifetime: 0(s) validtime: 0(s)
spid=242 seq=20 pid=21170
refcnt=1

200
TUNNEL L2TP Imola User Guide

TUNNEL L2TP

CONFIGURAZIONE DI UN TUNNEL L2TP


L2TP l'abbreviazione di Layer 2 Tunnel Protocol ed uno standard di incapsulamento sviluppato
al fine di stabilire tunnel tra sistemi remoti. Gli estremi del tunnel sono chiamati LNS (L2TP Network
server) e LAC (L2TP Access Concentrator). LNS il server che attende le connessioni, mentre il LAC
il cliente che la richiede. La connessione avviene su protocollo UDP e, una volta attivata, il traffico
potr fluire biderezionalmente allinterno di tale connessione, utilizzando il protocollo PPP.

Su Imola viene utilizzata prevalentemente la componente LAC. I comandi di configurazione


principali sono i seguenti:
set l2tp peer addr <ip-address>

Per specificare lindirizzo IP del sistema remoto.


set l2tp peer port <port>

Per specificare la porta UDP cui inviare le richieste di connessione. Valore di default 1701.

set l2tp peer secret <secret-key>

Per specificare la chiave di autenticazione per attivare il Tunnel


set l2tp peer hostname <hostname>

Per presentarsi verso il server con il nome specificato

set l2tp lac login <login-name> password <password>

Per impostare lutente e la password da utilizzare per lautentizazione PPP.

set l2tp masquerade


set l2tp no-maquerade

Per abilitare o disabilitare le funzioni di PAT per i pacchetti in uscita sul tunnel.

set l2tp default-route


set l2tp no-default-route

Per attivare o disattivare una rotta statica di default sul tunnel L2TP.

set l2tp idle <n>

Per impostare di inattivit di N secondi sulla sessione PPP.


set l2tp rx-idle <n>

Per impostare il intattivit sulla ricezione dei pacchetti PPP.

set l2tp mtu <val>

Per configurare il valore della MTU sul tunnel.


set l2tp lcp-echo-interval <n>
set l2tp lcp-echo-failure <n>

Per impostare rispettivamente la frequenza con cui vengono inviati i pacchettii ed il numero di
tentativi da effettuare prima di abbattere l'interfaccia i caso di mancate risposte.

201
TUNNEL L2TP Imola User Guide

set l2tp on

Per attivare il tunnel L2TP


set l2tp off

Per disattivare il tunnel.

set no-l2tp

Abbatte il tunnel ed elimina la configurazione.

Bench configurato, il tunnel L2TP non viene attivato automaticamente: la sua attivazione invece
demandata ai comandi di trigger oppure di autocmd.

Ad esempio, dopo averlo configurato, il tunnel L2TP viene attivato nel momento in cui viene
stabilita una sessione GPRS:
set trigger gprs up set l2tp on

e analogamente si deattiva quando termina la sessione GPRS:

set trigger gprs down set l2tp off

VISUALIZZAZIONE STATO DEL TUNNEL


possibile visualizzare informazioni riguardanti la configurazione, le statistiche e lo stato
dell'interfaccia del tunnel L2T mediante il comando:
show interface l2tp

che mostra i seguenti dati (il nome dellinterfaccia L2TP PPP13):

NumL2TPTunnels 1
Tunnel MyID 449 AssignedID 53 NumSessions 1 PeerIP 1.1.1.1 State established
Session LAC MyID 18349 AssignedID 55787 State established
ppp13 Link encap:Point-to-Point Protocol
inet addr:13.13.0.2 P-t-P:13.13.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:21 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:24414 (23.8 KiB) TX bytes:24414 (23.8 KiB)

TRIGGER L2TP
E possibile configurare dei trigger che verranno eseguiti nel momento in cui viene stabilita la
sessione L2TP con il peer remoto. Ad esempio:

set trigger l2tp up ip route add 173.151.0.0/24 dev ppp13


set trigger l2tp up logger L2TP is up
set trigger l2tp down ip route del 173.151.0.0/24 dev ipsec0
set trigger l2tp down logger L2TP is down

con i quali si invia un messaggio di syslog per notificare lo stato del tunnel e configurare la rotta
verso la rete remota sullinterfaccia PPP13.

202
EASY VPN Imola User Guide

EASY VPN

CONFIGURAZIONE DI UN TUNNEL EASY VPN


Easy VPN unalternativa ad IPSec per la gestione delle VPN. E particolarmente utile quando
lindirizzo IP di partenza dinamico. E compatibile con i principali VPN Concentrator come:

Cisco VPN concentrator 3000 Series


Cisco IOS routers
Cisco PIX / ASA Zecurity Appliances
Juniper/Netscreen

Il capitolo elenca solamente i parametri fondamentali del modulo EZVpn. Fornire una conoscenza
approfondita del protocollo esula dagli scopi del manuale.

I principali comandi di configurazione sono:

set ezvpn ipsec-gateway

per impostare lindirizzo IP del concentratore VPN

set ezvpn ipsec-secre

per impostare la pre-shared key per la cifratura

set ezvpn-id

per impostare il gruppo della VPN

set ezvpn xauth-username

per impostare lo user name per lautenticazione XAUTH.


set ezvpn xauth-password

per impostare la passorwd


set ezvpn vendor cisco | netscreen

configura il tipo di concentratore


set ezvpn natt cisco-udp| force-natt | natt | none

per configurare il metodo di NAT Traversal.

Cisco-UDP protocollo proprietary cisco su porta udp 4500


natt come definito dalla RFC 3947
force-natt utilizza NAT Traversal sempre, anche se non sono presenti dispositivi che
effettuato il NAT
none disabilita NAT-T

set ezvpn masquerade


set ezvpn no-masquerade

per mascherare cio effettuare il PAT, dei pacchetti in uscita sul tunnel.

set ezvpn dpd-idle N


set ezvpn no-dpd-idle

203
EASY VPN Imola User Guide

invia un pacchetto DPD (Dead Peer Detection) se non stato ricevuto alcun pacchetto per N secondi.
set ezvpn ike-dh-group dh1|dh2|dh5

imposta il nome dello IKE DH Group.

set ezvpn perfect-forward-secrecy dh1|dh2|dh5|nopfs|server


set ezvpn no-perfect-forward-secrecy

per impostare la modalit di Diffie-Hellman group per usare PFS.


set ezvpn on

Attiva il tunnel Easy VPN.

TRIGGER EZVPN
E possibile configurare dei trigger che verranno eseguiti nel momento in cui viene stabilita la
sessione VPN con il peer remoto. Ad esempio:

set trigger ezvpn up ip route add 10.1.10.10 dev tun0


set trigger ezvpn up ip route add 10.1.10.0/24 dev tun0
set trigger ezvpn up ip route add 10.3.10.0/24 dev tun0

Analogamente si possono configurare i comandi da eseguire quando la connessione VPN termina:

set trigger ezvpn down ip route add 10.1.10.10 dev tun0


set trigger ezvpn down ip route add 10.1.10.0/24 dev tun0
set trigger ezvpn down ip route add 10.3.10.0/24 dev tun0

204
QUALITY OF SERVICE Imola User Guide

QUALITY OF SERVICE

INTRODUZIONE
Quality of Service un generico termine dato ai sistemi di accodamento e ai meccanismi attraverso
i quali i pacchetti sono ricevuti o trasmessi su un router. Esso comprende le regole di decisione su
quali pacchetti accettare, se accettarli e a quale velocit instradarli su una interfaccia e altres su
quali pacchetti trasmettere e in quale ordine trasmetterli in uscita dallinterfaccia.

La soluzione supportata da Imola offre le seguenti funzionalit:

limita la banda totale disponibile su una interfaccia ad un tasso predefinito (shaping)


riserva la banda a particolari tipi di servizio utilizzando meccanismi di classificazione
(scheduling)
offre percorsi preferenziali a tipologie di traffico sensibili ai tempi di latenza (classes)
ridistribuisce la banda in eccesso
assicura il dropping dei pacchetti in eccesso (policing)

E possibile definire definire un numero a piacere di classificazioni di traffico per le quali si possono
definire un numero a piacere di classi con caratteristiche diverse.

La classificazione del traffico avviene secondo la politica di accodamento HTB (Hierarchical Token
Bucket), mentre il comportamento di accodamento di default di tipo FIFO (First In, First Out).

CONFIGURAZIONE DI UNA POLITICA DI TRAFFICO


E necessario come prima cosa configurare una politica di traffico:
set qos-ext policy <name>

La politica deve essere associata ad una interfaccia:

set qos-ext policy <name> interface <interface>

E possibile definire la banda massima di traffico consentita per questa politica. Specificare la banda
opzionale solo con interfaccia ADSL; in questo caso se la banda non viene specificata, viene
impostata al valore di banda cui il modem si sincronizzato. Lunit di misura il kbits/sec:

set qos-ext policy <name> bandwidth <value>

E possibile specificare una percentuale di banda disponibile che viene riservata per il traffico non
classificato:
set qos-ext policy <name> reserved-bandwidth <value>

E possibile specificare il burst, cio il numero massimo di bytes che la classe root, padre di tutte
le classi, pu trasmettere, quando autorizzata a trasmettere:
set qos-ext policy <name> bandwidth burst <value>

E inoltre possibile specificare il valore di burst quando la classe root ha superato la banda
garantita e quindi lintero sistema in congestione:
set qos-ext policy <name> bandwidth burst-max <value>

Le impostazioni di banda si possono cancellare con uno dei seguenti comandi:

205
QUALITY OF SERVICE Imola User Guide

set qos-ext class <name> no-bandwidth


set qos-ext class <name> no-bandwidth burst
set qos-ext class <name> no-bandwidth burst-max

E possibile specificare un valore di quantum, vale a dire quanta banda, in numero di bytes, una
classe pu prendere in prestito prima che la QoS ceda il controllo ad unaltra classe:

set qos-ext policy <name> r2q <value>

Una politica di traffico pu essere cancellata con il comando:

set qos-ext no-policy <name>

In alternativa alla banda dispnibile, possibile associare alla Policy una queue-discipline di tipo
PRIO, per considersare prioritari i pacchetti associati:

set qos-ext policy <name> qdisc prio

CONFIGURAZIONE DI UNA CLASSE


Per creare una classe eseguire il seguente comando:

set qos-ext class <name>

E necessario che la classe venga associata ad una policy:

set qos-ext class <name> policy <name>

E necessario specificare la banda garantita per la classe. E possibile indicare un valore assoluto in
kbits:

set qos-ext class <name> bandwidth <value>

oppure una percentuale della banda totale disponibile:


set qos-ext class <name> bandwidth percent <value>

E possibile specificare una banda massima, che la classe non pu superare. Se questo valore non
specificato, alla classe potr essere assegnata parte o tutta la banda eccedente, compatibilmente
con la richiesta di banda da parte delle altre classi configurate:
set qos-ext class <name> bandwidth max <value>

E possibile specificare il burst, cio il numero massimo di bytes che la classe pu trasmettere,
quando autorizzata a trasmettere:
set qos-ext class <name> bandwidth burst <value>

E inoltre possibile specificare il valore di burst quando la classe ha superato la banda garantita e
usa in prestito la banda ancora disponibile:
set qos-ext class <name> bandwidth burst-max <value>

E possibile specificare che la classe prioritaria con una quantit di banda garantita e che il valore
specificato rappresenta anche la massima banda consentita. Il valore pu essere espresso come
valore assoluto o come percentuale della banda disponibile. Tipicamente questa configurazione pu
essere utilizzata per classi di tipo real-time.

set qos-ext class <name> priority <value>


set qos-ext class <name> priority percent <value>

I valori di banda possono essere cancellati con uno dei seguenti comandi:

206
QUALITY OF SERVICE Imola User Guide

set qos-ext class <name> no-bandwidth


set qos-ext class <name> no-bandwidth percent
set qos-ext class <name> no-bandwidth max
set qos-ext class <name> no-bandwidth burst
set qos-ext class <name> no-bandwidth burst-max

Una classe pu essere cancellata con il comando:


set qos-ext no-class <name>

E possibile associare alla classe una queue-discipline differente da quella FIFO. Quelle disponibili
sono:
set qos-ext no-class <name> qdisc pfifo | sfq |sfqtun

dove sfq indica la disciplina Stocastic Fairness Queue, che concede agli stessi pacchetti la stessa
probabilit di essere serviti. Essa necessario quando la banda di uscita non deterministica (come
per le connessioni mobili) per evitare che particolari flussi monopolizzano tutta la banda a discapito
degli altri.

La politica sfqtun invece la stessa della SFQ, ma applicata quando linterfaccia di uscita un
tunnel GRE.

CLASSIFICAZIONE DEL TRAFFICO


Per destinare il traffico verso una classe si definiscono uno o pi filtri mediante il seguente
comando:

set qos-ext class <name> filter match <options>

Le condizioni associate ai filtri vengono applicate sul traffico di ingresso tramite una relazione di
unione (match x or match y or match ).

Per rimuovere il filtro si usa il comando:

set qos-ext class <name> filter no-match <options>

Per filtrare su un valore di DSCP:


set qos-ext class <name> filter match dscp <value>

Per filtrare su un valore di classe di DSCP:

set qos-ext class <name> filter match dscp-class <value>

Per filtrare su un valore di IP-Precedence:


set qos-ext class <name> filter match ipp <value>

Per filtrare su un indirizzo IP sorgente:

set qos-ext class <name> filter match src-ip <value>

Per filtrare su un indirizzo IP di destinazione:


set qos-ext class <name> filter match dst-ip <value>

Per filtrare su una interfaccia di destinazione:


set qos-ext class <name> filter match dst-intf <value>

Per filtrare sul tipo di protocollo:

207
QUALITY OF SERVICE Imola User Guide

set qos-ext class <name> filter match prot <value>

Per filtrare per protocollo e per porta sorgente:


set qos-ext class <name> filter match prot <value> src-port <value>

Per filtrare per protocollo e per porta destinazione:

set qos-ext class <name> filter match prot <value> dst-port <value>

Per filtrare in base allappartenza ad unaltra classe, si specifica il mark ad essa associata:

set qos-ext class <name> filter match mark <value>

Per conoscere quale mark associato ad una classe, utilizzare il seguente comando:
show qos-ext class mark

Nel caso in cui le condizioni associate ai filtri debbano essere applicate tramite una relazione di
intersezione (match x and match y and match ) si deve allocare un filter group nel seguente
modo:
set qos-ext filter-group <name>

Per rimuovere il filtro si usa il comando:

set qos-ext no-filter-group <name>

E possibile specificare su quale catena, pre-routing o post-routing, filtrare il traffico:

set qos-ext filter-group <name> chain pre-routing|post-routing|output|forward

E poi necessario specificare le condizioni di filtro.

Per filtrare su un valore di DSCP:


set qos-ext filter-group <name> match dscp <value>

Per filtrare su un valore di classe di DSCP:


set qos-ext filter-group <name> match dscp-class <value>

Per filtrare su un valore di IP-Precedence:

set qos-ext filter-group <name> match ipp <value>

Per filtrare su un indirizzo IP sorgente:

set qos-ext filter-group <name> match src-ip <value>

Per filtrare su un indirizzo IP di destinazione:


set qos-ext filter-group <name> match dst-ip <value>

Per filtrare su una interfaccia sorgente:

set qos-ext filter-group <name> match src-intf <value>

N.B.: per questo filtro necessario aggiungere la direttiva che specifica la catena di pre-routing.

Per filtrare su una interfaccia di destinazione:


set qos-ext filter-group <name> match dst-intf <value>

Per filtrare sul tipo di protocollo:

set qos-ext filter-group <name> match prot <value>

Per filtrare per protocollo e per porta sorgente:

208
QUALITY OF SERVICE Imola User Guide

set qos-ext filter-group <name> match prot <value> src-port <value>

Per filtrare per protocollo e per porta destinazione:


set qos-ext filter-group <name> match prot <value> dst-port <value>

Il filter group deve essere associato ad una classe nel seguente modo:

set qos-ext class <name> filter group <name>

E possibile specificare che tutto il traffico non filtrato venga destinato ad una classe, specificando
tale classe come classe preselezionata:
set qos-ext class <name> default

Infine possibile associare una priorit ai pacchetti che fluiscono attraverso una classe. La priorit
espressa con un numero intero positivo; minore il valore, maggiore la priorit. Tutte le altri
classi hanno un valore predefinito a 2.
set qos-ext class <name> filter priority <value>

MARCATURA DEL TRAFFICO


E possibile impostare un valore di DSCP, di classe DSCP o IP-Precedence a tutti i pacchetti che
fluiscono per una classe.

Per marcare con un valore di DSCP:

set qos-ext class <name> filter set dscp <value>

Per marcare con un valore di classe di DSCP:


set qos-ext class <name> filter set dscp-class <value>

Per marcare con un valore di IP-Precedence:


set qos-ext class <name> filter set ipp <value>

POLICING
E possibile specificare un banda massima di ingresso alla classe:
set qos-ext class <name> filter police <rate>

Il traffico che supera la banda impostata viene sottoposto allazione specificata (al momento solo
drop):

set qos-ext class <name> filter police exceed-action drop

QUEUE DISCIPLINE PRIO


Se si ha soltanto la necessit di assegnare priorit diverse a diverse tipologie di traffico senza
effettuare policing o shaping allora possibile specificare una queue discipline di tipo prio sulla
policy, nel seguente modo:
set qos-ext policy <name> qdisc prio

209
QUALITY OF SERVICE Imola User Guide

Una policy con queue discipline PRIO alloca tante bande di priorit quante sono le classi ad essa
associate. Ad ogni classe deve essere assegnata un valore progressivo e consecutivo di priorit a
partire da 1, la priorit pi alta.

Per assegnare la priorit ad una classe si utilizza il comando:


set qos-ext class <name> filter priority <value>

Per ogni classe devono inoltre essere specificati i filtri o i filter-groups per classificarne il
traffico.

ATTIVAZIONE DELLA QOS


Per attivare le regole di QoS utilizzare il comando:

set qos-ext off

Le regole di QoS non sono applicate automaticamente allavvio del router, ma devono essere
attivate mediante auto-command:
set autocmd set qos-ext on

oppure su trigger:

set trigger <interface> up set qos-ext on

N.B.: questa limitazione non pi presente a partire dalla versione NOS X.4.0-8. Pertanto sar
sufficiente aggiungere alla configurazione la direttiva:
set qos-ext on

Per disattivare le regole di QoS utilizzare il comando:

set qos-ext off

Per disabilitare le regole di QoS utilizzare il comando:

set no-qos-ext

VISUALIZZAZIONE DELLA CONFIGURAZIONE E DELLE


STATISTICHE
show qos config

root@Imola> show qos config

set qos-ext policy my-policy


set qos-ext policy my-policy interface eth1
set qos-ext policy my-policy bandwidth 500
set qos-ext policy my-policy reserved-bandwidth 10
set qos-ext class RT
set qos-ext class RT policy my-policy
set qos-ext class RT priority 300
set qos-ext class RT filter match ipp 5
set qos-ext class DATA1
set qos-ext class DATA1 policy my-policy
set qos-ext class DATA1 bandwidth percent 50

210
QUALITY OF SERVICE Imola User Guide

set qos-ext class DATA1 filter match dst-ip 13.13.13.0/24


set qos-ext class DATA1 filter set ipp 2
set qos-ext class DATA2
set qos-ext class DATA2 policy my-policy
set qos-ext class DATA2 bandwidth percent 50
set qos-ext class DATA2 filter set ipp 0
set qos-ext on

E possibile visualizzare i mark associati alle classi nel seguente modo:


show qos-ext class mark

root@Imola> show qos-ext class mark


class RT has mark 100
class DATA1 has mark 200
class DATA2 has mark 300

E possibile visualizzare lo stato della QoS nel seguente modo:

show qos-ext status

root@Imola> show qos-ext status


class htb 1:1 root rate 500000bit ceil 500000bit burst 1661b cburst 1661b
class htb RT parent 1:1 prio 1 rate 300000bit ceil 300000bit burst 1636b cburst
class htb DATA1 parent 1:1 prio 2 rate 75000bit ceil 450000bit burst 1608b cbur
class htb DATA2 parent 1:1 prio 2 rate 75000bit ceil 450000bit burst 1608b cbur

filter parent 1: protocol ip pref 1 fw


filter parent 1: protocol ip pref 1 fw handle 0x64 classid RT
filter parent 1: protocol ip pref 2 fw
filter parent 1: protocol ip pref 2 fw handle 0x12c classid DATA2
filter parent 1: protocol ip pref 2 fw handle 0xc8 classid DATA1

Per la visualizzazione delle statistiche disponibile il comando:


show qos-ext statistics

root@Imola> show qos statistics


class htb 1:1 root rate 500000bit ceil 500000bit burst 1661b/8 mpu 0b overhead
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 27230 ctokens: 27230

class htb RT parent 1:1 prio 1 quantum 3750 rate 300000bit ceil 300000bit burst
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 44700 ctokens: 44700

class htb DATA1 parent 1:1 prio 2 quantum 1000 rate 75000bit ceil 450000bit bur
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
lended: 0 borrowed: 0 giants: 0
tokens: 175745 ctokens: 30146

class htb DATA2 parent 1:1 prio 2 quantum 1000 rate 75000bit ceil 450000bit bur
Sent 0 bytes 0 pkts (dropped 0, overlimits 0)

211
QUALITY OF SERVICE Imola User Guide

lended: 0 borrowed: 0 giants: 0


tokens: 175745 ctokens: 30146

filter parent 1: protocol ip pref 1 fw


filter parent 1: protocol ip pref 1 fw handle 0x64 classid RT
filter parent 1: protocol ip pref 2 fw
filter parent 1: protocol ip pref 2 fw handle 0x12c classid DATA2
filter parent 1: protocol ip pref 2 fw handle 0xc8 classid DATA1

E infine possibile visualizzare i filtri e le relative statistiche usando il comando:


iptables t mangle L -v

root@Imola> iptables t mangle L -v


Chain PREROUTING (policy ACCEPT 1190 packets, 103K bytes)
pkts bytes target prot opt in out source destination
0 0 MARK all -- any any anywhere anywhere DSCP match 0x05 MARK
set 0x64
0 0 ACCEPT all -- any any anywhere anywhere DSCP match 0x05
0 0 MARK all -- any any anywhere 13.13.13.0/24 MARK set 0xc8
0 0 ACCEPT all -- any any anywhere 13.13.13.0/24
0 0 DSCP all -- any any anywhere anywhere MARK match 0xc8 DSCP set 0x10
0 0 ACCEPT all -- any any anywhere anywhere MARK match 0xc8
386 32154 MARK all -- any any anywhere anywhere MARK set 0x12c
386 32154 ACCEPT all -- any any anywhere anywhere
0 0 DSCP all -- any any anywhere anywhere MARK match 0x12c DSCP set 0x00
0 0 ACCEPT all -- any any anywhere anywhere MARK match 0x12c

Chain INPUT (policy ACCEPT 4792 packets, 407K bytes)


pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)


pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 1966 packets, 166K bytes)


pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 1966 packets, 166K bytes)


pkts bytes target prot opt in out source destination

Esempi

Nellesempio seguente viene definita una classe RT, appartenente ad una data policy:

set qos-ext class RT


set qos-ext class RT policy ...

Alla classe RT viene garantita una banda pari al 50% della banda disponibile.

set qos-ext class RT bandwidth percent 50

Nella classe fluiscono i pacchetti il cui indirizzo sorgente appartiene alla rete 172.151.1.0:

set qos-ext class RT filter match src-ip 172.151.1.0/24

I pacchetti che fluiscono attraverso la classe sono evidenziati con un valore IP-Precedence pari a 4:

set qos-ext class RT filter set ipp 4

212
QUALITY OF SERVICE Imola User Guide

Se i pacchetti sono instradati in un tunnel GRE necessario che la marcatura del traffico venga fatta
prima dellinstradamento. Si deve allora definire un filter group:

set qos-ext filter-group 100


set qos-ext filter-group 100 chain pre-routing
set qos-ext filter-group 100 match src-ip 172.151.1.0/24

set qos-ext class RT filter group 100


set qos-ext class RT filter set ipp 4

Per riservare una porzione di banda al trafico di controllo del BGP, si pu dichiarare una classe:
set qos-ext class BGP
set qos-ext class BGP policy ...

assegnarvi un minimo di banda disponibile:


set qos-ext class BGP bandwidth percent 1

e farvi fluire i pacchetti che hanno come valore di dscp 0x30 equivalente alla classe dscp cs6:

set qos-ext class BGP filter match dscp-class cs6

LIMITAZIONE DELLA BANDA IN OUTPUT


Senza ricorrere alle classi di Traffic Shaping, in alcuni casi pu essere necessario limitare il traffico
in uscita da un determinata interfaccia di rete. Per questo si usa il comando tc.

Ad esempio, per limitare ad 1 Mbit/sec il traffico in uscita dallinterfaccia eth0, il comando :

tc qdisc add dev eth0 root tbf rate 1000kbit latency 50ms burst 20000

mentre per visualizzare le statistiche si usa:

root@Imola> tc -s qdisc ls dev eth0


qdisc tbf 8003: rate 256000bit burst 20000b lat 48.8ms
Sent 573274 bytes 572 pkts (dropped 2, overlimits 720)

Per eliminare la regola di traffic shaping:

tc qdisc del dev eth0 root tbf rate 1000kbit latency 50ms burst 20000

Il comando tc ha effetto immediato per la sessione corrente. Affinch sia valido anche al prossimo
restart, deve essere legato ad uno dei trigger oppure pu essere attivato come autocmd:

set autocmd tc qdisc add dev eth0 root tbf rate 1000kbit latency 50ms burst 20000

213
VLAN E SWITCH Imola User Guide

VLAN E SWITCH
Imola supporta il protocollo 802.1q che permette di costruire LAN virtuali completamente
indipendenti su un solo link fisico. Lheader dei pacchetti LAN viene modificato includendo
lindicazione di un tag che identifica la VLAN e un valore di priorit associato al pacchetto. Sono
possibili fino a 4096 VLAN diverse, ciascuna delle quali pu avere fino a 8 livelli di priorit.

Per configurare una VLAN a livello si usa il comando:


set vlan add vid <vid> interface eth0|eth1

Linterfaccia eth0 per i modelli Imola-LX ed eth1 per tutti gli altri.

Il comando costruisce un VLAN device con notazione:

<interface>.<vid>

es. eth1.100, cui possibile associare indirizzo IP e Netmask nel seguente modo:
set vlan <vlan-device> ipaddr <value> netmask <value>

E disponibile il comando per mappare uno o pi valori di DSCP (Diffserv Code Point) su un valore di
COS (Class of Service) del protocollo 802.1p:
set vlan <vlan-device> map-to-cos <cos> dscp <dscp_0 ... dscp_7>

Per rimuovere una VLAN, si usa il comando:

set vlan rem <vlan-device>

Per rimuovere tutte le VLAN, si usa il comando:


set no-vlan

Per visualizzare le VLAN configurate e le relative statistiche:

show interface vlan status <vlan-device>

root@Imola > show interface vlan status eth0.100

eth0.100 VID: 100 REORDER_HDR: 1 dev->priv_flags: 1


total frames received: 0
total bytes received: 0
Broadcast/Multicast Rcvd: 0

total frames transmitted: 0


total bytes transmitted: 0
total headroom inc: 0
total encap on xmit: 0
Device: eth0
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESSS priority mappings:
EGRESSS dscp mappings:

Lo switch allinterno del router Imola dispone di 5 porte Fast Ethernet 10/100 autosensitive. Esso
collegato al MAC della CPU di Imola identificata dallinterfaccia ethernet eth1. Nel caso del modello
Imola LX le porte sono 4 e sono collegate al MAC della CPU identificata da eth0.

214
VLAN E SWITCH Imola User Guide

Esso pu essere utilizzato in modalit Trasparente oppure modalit Controllata.

Nella configurazione di fabbrica si trova nella modalit Trasparente: tutte le porte sono equivalenti
e sono abilitate e programmate in auto-negoziazione ed auto-crossover. Su Imola esse corrispodono
alle interfacce: eth1, eth2, eth3, eth4 ed eth5, mentre su Imola-LX alle interfacce eth0, eth1, eth2 ed
eth3. Esse sono in grado di ricevere qualsiasi pacchetto destinata al MAC address di Imola, oppure
allindirizzo di Broadcast o Multicast. Tutte le porte afferiscono allindirizzo IP assegnato
allinterfaccia eth1 (nel caso di Imola Full) o eth0 nel caso di Imola LX.

Nel caso di modello Imola x8xx, cio 8 porte LAN, le porte aggiuntive sono identificate con eth6,
eth7 ed eth8.

Non vi nessuna distinzione tra pacchetti 802.1q tagged e pacchetti 802.1q untagged e la
decisione di accettare o meno un pacchetto tagged dipende esclusivamente dalla CPU di Imola, in
particolare dipende dalla configurazione o meno della VLAN associata a quel tag.

Ad esempio, una configurazione del tipo:


set vlan add vid 100 interface eth1
set vlan eth1.100 ipaddr 192.168.100.1 netmask 255.255.255.0
set eth1 ipadr 10.10.100.1 netmask 255.255.255.0

consente di ricevere i pacchetti 802.1q con VLAN id 100 sullinterfaccia eth1.100 ed i pacchetti
senza il VLAN ID (cio i pacchetti 802.3 nativi) sullinterfaccia eth1.

Il comando: set switch <opzioni> permette di utilizzare lo switch in modalit controllata.

Ogni singola porta pu essere configurata in modalit access, trunk o hybrid.

Modalit access: individua una porta che riceve e trasmette pacchetti senza tag 802.1q,
consentendo ad un sistema che non in grado di operare in 802.1q, di partecipare ad una
VLAN 802.1q. Infatti la porta aggiunge il tag 802.1q ai pacchetti in ingresso e lo estrae, se
presente, ai pacchetti in uscita. Il livello di sicurezza configurato per la porta tale che la
porta pu comunicare solo con porte appartenenti alla stessa VLAN 802.1q, individuata
dallidentificativo di VLAN che deve essere specificato al momento della configurazione.
Modalit trunk, individua una porta che riceve e trasmette frames con tag 802.1q. Il livello
di sicurezza tale per cui la porta pu trasmettere e ricevere tutti e solo i pacchetti
appartenenti alle VLAN configurate.
Modalit hybrid, individua una porta che pu riceve e trasmette sia frames con tag 802.1q
che frame senza tag. In caso di assenza di tag, le frame appartengono alla VLAN nativa.

Per configurare una porta dello switch di Imola ad operare in modalit access si usa il comando:

set switch port N mode access18

E inoltre necessario associare alla porta un VLAN id che verr utilizzato per il tagging dei pacchetti
in ingresso:
set switch port N vid <value>

Per configurare una porta dello switch di Imola ad operare in modalit trunk si usa il comando:
set switch port N mode trunk

Per operare in modalit trunk ed accettare anche le frame native, si usa il comando:
set switch port N mode hybrid

18
In some OS versions the command syntax is set switch port ethN.

215
VLAN E SWITCH Imola User Guide

In questo caso necessario specificare gli identificativi delle VLAN abilitate ad attraversare la porta:

set switch port N allow vid <value>

E richiesto un comando per ciascun VLAN id abilitato.

E possibile programmare la velocit della porta mediante il comando:


set switch port N speed <value>

dove <value> pu assumere uno dei seguenti valori:

100BaseTx per specificare 100 Mbit/sec


100BaseTx-FD per specificare 100 Mbit/sec Full-Duplex
100BaseTx-HD per specificare 100 Mbit/sec Half-Duplex
10BaseT per specificare 10 Mbit/sec
10BaseT-FD per specificare 10 Mbit/sec Full-Duplex
10BaseT-HD per specificare 10 Mbit/sec Half-Duplex
auto per specificare Auto Negoziazione

Mediante il comando:
set switch port N no-crossover

viene disabilitata la funzionalit di auto-crossover della porta, mentre il commando:


set switch port N crossover

la riabilita.

Affinch la configurazione impostata diventi operativa, si deve dare il comando:

set switch on

Per rimuovere la configurazione di una porta si usa il comando:

set switch no-port N

Per rimuovere lintera configurazione dello switch, si usa il comando:

set no-switch

Per visualizzare la configurazione di una porta, si usa il comando:

show switch status

dove port-list una lista di porte separate da spazio.

root@Imola > show switch status

port1 VLan id: 1 802.1Q is enabled as Secure mode


Port is a member of VLan 100. Frames egress Tagged
port2 VLan id: 1 802.1Q is enabled as Secure mode
Port is a member of VLan 200. Frames egress Tagged

Per visualizzare la configurazione di tutte le VLAN si usa il comando:

show switch vlan

root@Imola > show switch vlan

216
VLAN E SWITCH Imola User Guide

02.1Q VLans - VLan Table:


DBNum:0, VID:100
eth0:Port is not a member of this VLan.
eth1:Port is a member of this VLan. Frames egress Tagged
eth2:Port is not a member of this VLan.
eth3:Port is not a member of this VLan.
cpuPort:Port is a member of this VLan. Frames egress Tagged

Per visualizzare i contatori statistici di una porta si usa il comando:


show switch port N counters

dove port-list una lista di porte separate da spazio.

root@Imola > show switch port 1 counters


Getting counters for port 1.
InUnicasts 00000000 InBroadcasts 00000000
InPause 00000000 InMulticasts 00000000
InFCSErr 00000000 AlignErr 00000000
InGoodOctets 00000000 InBadOctets 00000000
Undersize 00000000 Fragments 00000000
In64Octets 00000000 In127Octets 00000000
In255Octets 00000000 In511Octets 00000000
In1023Octets 00000000 InMaxOctets 00000000
Jabber 00000000 Oversize 00000000
InDiscards 00000000 Filtered 00000000
OutUnicasts 00000000 OutBroadcasts 00000000
OutPause 00000000 OutMulticasts 00000000
OutFCSErr 00000000 OutGoodOctets 00000000
Out64Octets 00000000 Out127Octets 00000000
Out255Octets 00000000 Out511Octets 00000000
Out1023Octets 00000000 OutMaxOctets 00000000
Collisions 00000000 Late 00000000
Excessive 00000000 Multiple 00000000
Single 00000000 Deferred 00000000
OutDiscards 00000000

Altre opzioni possibili sono:


show switch port N diagnostic

per visualizzare lo stato della porta e


show switch port N vlan

per visualizzare la VLAN di appartenenza.

Per azzerare tutti i contatori di una porta o di tutte le porte, si usa il comando:
clear_counter switch port [<port-list>]

dove port-list una lista di porte separate da spazio.

217
protocollo TACACS Imola User Guide

PROTOCOLLO TACACS

CONFIGURAZIONE PROTOCOLLO TACACS


Imola supporta le funzioni di Autenticazione, Accounting e Autorizzazione mediante protocollo
Tacacs+.

Le modalit di autenticazione offerte sono le seguenti:

locale mediante database user/password interno allImola


remota tramite protocollo Tacacs

In caso di autenticazione Tacacs abilitata, laccesso da remoto allapparato negato se lutente


fornisce login o password errati. In caso di mancata risposta ad una richiesta di autenticazione
Tacacs sar richiesta lautenticazione locale.

Per quanto riguarda la configurazione della modalit di autenticazione Tacacs, i parametri pi


significativi sono:

lordine con il quale lautenticazione viene effettuata: questultima pu essere local (per
autenticazione locale mediante database interno) o Tacacs (autenticazione remota);
lindirizzo IP (ed eventuale porta) del Tacacs server;
la chiave mediante la quale la richiesta di autenticazione (prima dellautenticazione di un
utente) si dovr presentare al Tacacs server.
lutilizzo o meno delle funzioni di accounting. Se queste sono abilitate ogni comando
eseguito verr notificato al server e da questi memorizzato nel suo data base.
lutilizzo o meno delle funzioni di autorizzazione. Se queste sono abilitate, prima di
eseguire un comando, viene esplicitamente richiesta lautorizzazione al server e solo in
caso di autorizzazione concessa, il comando viene eseguito.

Effettuata lautenticazione, il server comunica al router il livello di privilegio associato allutente.


Solo i comandi associati a tale livello potranno essere eseguiti.

Per configurare il servizio Tacacs, i comandi da utilizzare sono i seguenti:

set tacacs authhost <IP> [<IP>]


set tacacs authorder tacacs local
set tacacs key <secret-key>
set tacacs retries N
set tacacs timeout N
set tacacs login-timeout N
set tacacs do-accounting
set tacacs do-authorization
set tacacs source <ipaddr>
set tacacs on

Il comando
set tacacs authhost <IP> [<IP>]

viene utilizzato per configurare lindirizzo IP del Tacacs server. Opzionalmente possibile
specificare un secondo indirizzo da contattare qualora il primo non risponda.

218
protocollo TACACS Imola User Guide

Il comando:
set tacacs authorder tacacs local

viene utilizzato per configurare lordine con il quale si dovr consentire lautenticazione. La
sequenza contenuta nel comando indica che lautenticazione avverr prima inviando la richiesta di
autenticazione in remoto verso il Tacacs server, e qualora questo non risponda, viene tentata
lautenticazione locale.

Il comando:
set tacacs retries N

specifica il numero di tentativi per la connessione con il Tacacs server.

Il comando:

set tacacs timeout N

indica il timeout (in secondi) di attesa per risposta da parte del Tacacs server.

Il comando:
set tacacs source 172.20.1.1

stabilisce che i pacchetti Tacacs orignati dal router debbano essere inviati utilizzando come IP
sorgente il valore 172.20.1.1. E disponibile anche la forma:

set tacacs source loopback

per imporre come indirizzo IP sorgente lindirizzo di loopback.

Un esempio di connessione di un utente con livello di privilegio pari a 3 il seguente:

vll$ telnet 10.10.113.1

---------------------------------------------------------------
(IMOLA) (port 0)
---------------------------------------------------------------
login: user
Password:
TACACS+: Authentication OK
Service Type is: Login-User
Privilige Level is: 3
Idle timeout is set to 3600 seconds
Connected Users:
pts/0 user@IMOLA

You are logged on pts/0


user@IMOLA#

while a super-user:

vll$ telnet 10.10.113.1


---------------------------------------------------------------
(IMOLA) (port 0)
---------------------------------------------------------------
login: admin
Password:
TACACS+: Authentication OK
Service Type is: Administrative-User

219
protocollo TACACS Imola User Guide

Privilige Level is: 15


Idle timeout is set to 3600 seconds
Connected Users:
pts/0 admin@IMOLA

You are logged on pts/0


admin@IMOLA>

Lutente con privilegio 15 mediante il comando:


set privilege level 5 <command-prefix>

pu stabilire quali sono i comandi che possono essere eseguiti dagli utenti con privilegio 5. Ad
esempio:

set privilege level 5 set adsl


set privilege level 5 set isdn
set privilege level 5 set gprs

Inoltre pu impostare la password per laccesso al livello 5 mediante il comando:


set enable password level 5

Lutente collegato con privilegio 3 pu eseguire il comando:

enable 5

ed acquisire il diritto di eseguire i comandi configurati set ADSL, set ISDN e set gprs.

ACCOUNTING E AUTORIZZAZIONE
Gli accessi al router sono controllati da un messaggio di Accounting inviato al server quando viene
effettuata lautenticazione (Accounting Start) ed un messaggio inviato quando la sessione viene
terminata (Accounting Stop).

I campi pi significativi del messaggio di Start sono:

il nome dellutente connesso


il livello di privilegio assegnato
lindirizzo IP da cui stata effettuata la connessione

Mentre il messaggio di Stop, oltre alle informazioni precedenti, contiene:

la durata della sessione


il motivo della disconnessione

Se nella configurazione del Tacacs si imposta il comando:


set tacacs do-accounting

allora ogni comando eseguito nel corso della sessione verr inviato con un apposito messaggio di
Accounting al server Tacacs. Tale messaggio contiene il nome dellutente connesso, il terminale da
cui stata effettuata la connesione e il comando eseguito.

Per disabilitare le funzioni di Accounting (i messaggi di Start e Stop non possono essere disabiltati)
si usa il comando:
set tacacs no-do-accounting

220
protocollo TACACS Imola User Guide

Se nella configurazione si imposta il comando:

set tacacs do-authorization

allora prima di eseguire un comando viene inviata la richiesta di Autorizzazione al Tacacs server e
solo se questo risponde in modo positivo, allora il comando viene eseguito, altrimenti esso viene
rifiutato.

Supponiamo di aver configurato nel Data Base del server lutente chiamato limited al quale
abbiamo dato la possibilit di eseguire solo alcuni dei comandi disponibili. La configurazione del
Data Base varia in funzione del Tacacs server utilizzato, nel nostro esempio essa la seguente:

user = limited {
login = cleartext limited
service = exec {
priv-lvl=15
}
cmd = "set" {
permit "eth1 .*"
permit "gprs apn .*"
permit "isdn dialer ippp1 *"
}
cmd = "ping" {
permit .*
}
cmd = "show" {
deny "interface *"
deny "ip bgp .*"
permit .*
}
cmd = "traceroute" {
permit .*
}
cmd = "shell" {
deny .*
}
cmd = "iptables" {
deny .*
}
}

Alcuni esempi di escuzione di comandi vietati sono i seguenti:

vll$ telnet 10.10.113.1


---------------------------------------------------------------
(IMOLA) (port 0)
---------------------------------------------------------------
login: limited
Password:
TACACS+: Authentication OK
Service Type is: Administrative-User
Privilige Level is: 15
Idle timeout is set to 3600 seconds
Connected Users:
pts/0 limited@IMOLA

221
protocollo TACACS Imola User Guide

You are logged on pts/0


limited@IMOLA> set loopback 7.1.1.123
% Command "set loopback 7.1.1.123" rejected by TACACS+

limited@IMOLA> show ip bgp neighbor


% Command "show ip bgp neighbor" rejected by TACACS+

limited@IMOLA> iptables -A FORWARD -i eth1 -j DROP


% Command "iptables -A FORWARD -i eth1 -j DROP" rejected by TACACS+

Allowed commands are executed without any problem:

limited@IMOLA> set gprs apn ibox.tim.it


limited@IMOLA> set isdn dialer ippp1 out-number 0125230544

222
Protocollo RADIUS Imola User Guide

PROTOCOLLO RADIUS

CONFIGURAZIONE PROTOCOLLO RADIUS


Imola supporta lautenticazione e relativo logging mediante protocollo RADIUS.

Le modalit di autenticazione offerte sono le seguenti:

locale mediante database user/password interno allImola


remota tramite protocollo RADIUS

In caso di autenticazione RADIUS abilitata, laccesso da remoto allapparato negato se lutente


fornisce login o password errati. In caso di mancata risposta ad una richiesta di autenticazione
RADIUS sar richiesta lautenticazione locale.

Per quanto riguarda la configurazione della modalit di autenticazione RADIUS, i parametri pi


significativi sono:

lordine con il quale lautenticazione viene effettuata: questultima pu essere local (per
autenticazione locale mediante database interno) o RADIUS (autenticazione remota);
lindirizzo IP (ed eventuale porta) del RADIUS server;
lindirizzo IP (ed eventuale porta) dellAccount server;
la chiave mediante la quale la richiesta di autenticazione (prima dellautenticazione di un
utente) si dovr presentare al RADIUS server.

inoltre attivabile la possibilit di inviare allAccount server tutti i comandi impostati sulla
interfaccia di configurazione CLI dallutente.

Lautenticazione mediante RADIUS server pu essere effettuata mediante i seguenti comandi CLI:

set radius authhost <IP>[:<port>] [<IP>:<port>]


set radius accthost <IP>[:<port>] [<IP>:<port>]
set radius authorder radius local
set radius log-cli-commands
set radius retries 2
set radius timeout 5
set radius secret <IP> <secret>
set radius on

Il comando
set radius authhost <IP>[:<port>] [<IP>:<port>]

viene utilizzato per configurare gli indirizzi IP dei RADIUS server.

set radius accthost <IP>[:<port>] [<IP>:<port>]

viene utilizzato per configurare gli indirizzi IP degli Account server.


set radius authorder radius local

viene utilizzato per configurare lordine con il quale si dovr consentire lautenticazione.

La sequenza contenuta nel comando indica che lautenticazione avverr prima inviando la richiesta
di autenticazione in remoto verso il RADIUS server, ed eventualmente in locale.

223
Protocollo RADIUS Imola User Guide

set radius log-cli-commands

viene utilizzato per inviare verso gli Account server tutti i comandi di set impostati sulla interfaccia
CLI.
set radius retries 2

specifica il numero di tentativi (nel caso in esame pari a 2) per cui la richiesta di autenticazione sar
inviata al RADIUS server.
set radius timeout 5

indica il timeout (in secondi) di attesa per risposta da parte del RADIUS server.
set radius source 172.20.1.1

stabilisce che i pacchetti RADIUS orignati dal router debbano essere invuati utilizando come IP
sorgente il valore 172.20.1.1. E disponibile anche la forma:
set radius source loopback

per imporre come indirizzo IP sorgente lindirizzo di loopback.

Sul server RADIUS possibile specificare lattributo:


cisco-avpair = "shell:priv-lvl=15"

usato per associare ad un utente il suo livello di privilegio

224
PROTOCOLLO SNMP Imola User Guide

PROTOCOLLO SNMP

CONFIGURAZIONE PROTOCOLLO SNMP


Per attivare lagent SNMP disponibile il comando:
set snmp on

Per fermare l'agent SNMP viene invece impiegato il comando:

set snmp off

Per fermare l'agent SNMP e disabilitarne la configurazione (riportandola a quella di fabbrica)


disponibile il comando:
set no-snmp

Lagent SNMP risponde solo alle richieste verso indirizzi IP preventivamente abilitati (nella
configurazione di fabbrica sono abilitate solo le richieste locali, dirette allindirizzo 127.0.0.1). Il
comando da impostare per abilitare le risposte verso altre interfacce :
set snmp directive agentaddress 172.16.0.1

dove 172.16.0.1 lindirizzo assegnato ad una delle interfacce locali (loopback, eth0, ).

La configurazione di default dell'agent SNMP prevede la community public di sola lettura, la


community tiesseadm di lettura e scrittura e la disabilitazione dell'invio delle trap.

Per aggiungere le community disponibile il comando CLI:


set snmp community <value> access ro|rw source [<source_ip> oid <value>]

dove il valore del parametro community deve essere una stringa di caratteri ascii, il valore del
parametro source l'indirizzo IP del manager a cui permesso usare questa community, e il valore
del parametro oid l'object identifier a cui ristretta questa community. Ad esempio la sequenza
di comandi:
set snmp community notsopublic access ro source <ipaddr> oid system
set snmp on

permette laccesso in lettura alla sola porzione di albero sottostante l'object identifier system
tramite la community notsopublic .

Per rimuovere le community disponibile il comando:


set snmp no-community <value> access ro|rw

Per attivare l'invio delle trap standard (ColdStart, LinkUp, LinkDown, AuthenticationFailure) sono
disponibili i comandi:

set snmp trapcommunity <value>


set snmp traphost <ipaddr>

Per configurare con quale community e a quali manager le trap devono essere inviate si impiega, ad
esempio, la sequenza di comandi:
set snmp trapcommunity publictrap
set snmp traphost 10.1.10.25

225
PROTOCOLLO SNMP Imola User Guide

set snmp on

Per configurare lindirizzo da utilizzare come sorgente nellinvio delle trap, si impiega il comando:
set snmp trap-source 172.20.1.1

oppure
set snmp trap-source loopback

La configurazione cos implementata stabilisce che le trap standard vengano inviate al manager di
indirizzo 10.1.10.25 sulla porta 162 (di default per la ricezione di trap SNMP) con la community
publictrap.

Per attivare le trap su tentativi di accesso non autorizzati, occorre eseguire la sequenza di comandi:

set snmp authtrap


set snmp on

Per attivare le trap sulle chiamate ISDN, occorre eseguire la sequenza di comandi:

set snmp trap-isdn


set snmp on

Per configurare i parametri di controllo sulla generazione e l'invio delle trap, occorre eseguire la
sequenza di comandi:

set snmp trap-poll-frequency <value>


set snmp trap-retries <value>
set snmp trap-timeout <value>
set snmp on

Ad esempio la sequenza di comandi:

set snmp trap-poll-frequency 30


set snmp trap-retries 5
set snmp trap-timeout 10
set snmp on

fa s che lo stato delle interfacce venga controllato ogni 30 secondi e che, nel caso in cui i manager
destinatari non rispondano, vengano compiuti 5 tentativi di invio, intervallati da un periodo di 10
secondi. I valori di default sono :

trap-poll-frequency 20
trap-retries 3
trap-timeout 5

Infine, per disabilitare le community e l'invio di trap sono disponibili i seguenti comandi:

set snmp no-authtrap


set snmp no-community <value> access ro|rw
set snmp no-trapcommunity <value>
set snmp no-traphost <ipaddr>
set snmp no-trap-isdn

226
PROTOCOLLO SNMP Imola User Guide

CONFIGURAZIONE SNMP V3
Lagent SNMP, se opportunamente configurato, in grado di rispondere a richieste SNMP versione 3
(SNMPv3). Le specifiche SNMPv3 riguardano essenzialmente gli aspetti di security ed encryption.

Controllo di Accesso (Utenti SNMPv3)


Analogamente alle community possibile creare un utente e definire la corrispondente modalit di
accesso, se in sola lettura o lettura e scrittura.

La creazione di un utente avviene mediante il comando:


set snmp user <username> auth MD5|SHA password <pass phrase>

mentre la definizione della modalit di accesso con:

set snmp user-access <username> ro|rw [auth|noauth|priv] [oid <value>]

dove MD5 o SHA definisce la modalit di autenticazione, <pass phrase> una password in cui
possibile utilizzare anche spazi, es.: Il mio cane si chiama Fido, e deve essere maggiore o uguale a
8 caratteri.

Nella definizione della modalit di accesso possibile opzionalmente specificare il livello di security
ed eventualmente l'object identifier a cui ristretto laccesso dellutente.

Il levello di security pu essere rispettivamente accesso esclusivamente mediante autenticazione


(<pass phrase>), anche senza autenticazione, o forzando luso di encryption.

E possibile definire una modalit di encryption mediante il comando:

set snmp user-priv <username> DES|AES [secret <priv pass phrase>]

dove DES e AES sono protocolli di encryption. Se il parametro opzionale secret non viene
specificato, come <priv pass phrase> viene assunta essere la stessa <pass phrase> di
autenticazione.

Come esempio supponiamo di voler creare un utente tiesseuser con accesso esclusivamente a
system, in sola lettura e mediante autenticazione. Per far questo sufficiente eseguire i comandi:

set snmp user tiesseuser auth MD5 password mi chiamo tiesseuser


set snmp user-access tiesseuser ro auth oid system
set snmp on

N.B.: Lautenticazione SHA e i protocolli DES/AES richiedono il supporto specifico di un componente


di encryption: OpenSSL, normalmente non presente. Nel caso si desideri utilizzare una di queste
caratteristiche si prega di contattare il supporto Tiesse per richiedere le modalit di attivazione di
tale componente.

Visualizzazione SNMP
Per visualizzare la sequenza di comandi usati per configurare Imola e quindi anche l'agent SNMP
disponibile il comando CLI:

show config current|saved|started oppure show config current | saved | started SNMP

227
PROTOCOLLO SNMP Imola User Guide

L'output generato conterr una sezione di comandi relativi ai parametri SNMP impostati sul router,
come segue:

root@Imola> show config current


set log remote 10.10.1.212
.
.
set snmp community public access ro
set snmp community tiesseadm access rw
set snmp trap-timeout 5
set snmp trap-retries 3
set snmp trap-poll-frequency 30
set snmp no-trap-isdn
set snmp on
.
.

Per visualizzare i valori dei parametri di configurazione SNMP correnti disponibile il comando CLI:

show snmp

con la seguente visualizzazione:

root@Imola> show snmp


SNMP Services are configured. Running pid is 884
SNMP=yes
SNMP_SECURITYNAME=
SNMP_AUTHPASSPHRASE=
SNMP_PRIVPASSPHRASE=
SNMP_TRAP_TIMEOUT=5
SNMP_TRAP_RETRIES=3
SNMP_TRAP_POLL_FREQUENCY=30
SNMP_TRAP_sdn=no
SNMPCONF="rocommunity public"
SNMPCONF="rwcommunity tiesseadm"
SNMPCONF="syslocation Tiesse Farm"
SNMPCONF="syscontact Root postmaster@tiesse.

228
PROTOCOLLO NETFLOW Imola User Guide

PROTOCOLLO NETFLOW

FPROBE
Fprobe una sonda, costruita sul protocollo NetFlow, per il monitoraggio passivo dei flussi di rete a
basse (100 Mb/s) ed alte (1 Gb/s) velocit.

La sonda ha il compito di:

Filtrare i pacchetti per associarli a determinati flussi


Creare i Flow records
Prepara ed esporta i pacchetti NetFlow

PROTOCOLLO NETFLOW
Il protocollo NetFlow nacque per aumentare le performances nella fase di "switching path" in
quanto:

ogni pacchetto identificato in un flusso


i processi vengono applicati una volta sola sul flusso
si ottengono informazioni sullo stato del flusso

Un flusso NetFlow pu essere caratterizzato dai seguenti elementi:

indirizzo IP sorgente
indirizzo IP destinazione
porta sorgente
porta destinazione
protocollo
ToS
intefaccia logica di input

N.B.: Non esegue packet inspection e non una tecnologia IDS/IPS

Target
Alcune anomalie di rete sono modellizzabili quindi rilevabili tramite lelaborazione dei dati forniti
da Fprobe.

ricerca di pattern
un host che ne contatta molti in breve tempo (P2P, worm)
flussi di lunga durata (VPN, covert channels)
utilizzo di porte non autorizzate
anomalie sulluso della banda (DoS, warez)
comunicazioni non autorizzate

229
PROTOCOLLO NETFLOW Imola User Guide

Architettura
Le azioni da intraprendere per implementare uninfrastruttura di monitoraggio basata su NetFlow:

decidere su quali interfacce abilitare il controllo


decidere cosa si vuole ottenere da NetFlow
setup di uno o pi collector

CONFIGURAZIONE
Per usare la sonda Fprobe su Imola necessario attivare il servizio. La verifica dellattivazione pu
essere eseguita digitando il seguente comando:
show system

loutput deve contenere la riga:

fprobe: Version 1.0.0 - Tue Nov 6 09:51:59 CET 2012

nel caso non fosse presente, eseguire il comando:


shell tspkg on fprobe
Installing fprobe package... ... ...done
fprobe package activated.

Le opzioni disponibili per configurare il servizio sono:

root@IMOLA> set netflow


active-flow-lifetime interface no-filter no-memory-limit on
collector log-level no-fragmented-flow-lifetime no-pending-queue-length pending-queue-length
filter memory-bulk-size no-idle-flow-lifetime no-scan-expired-flow-frequency scan-expired-flow-frequency
fragmented-flow-lifetime memory-limit no-log-level no-source source
idle-flow-lifetime no-active-flow-lifetime no-memory-bulk-size off version

Parametri
I parametri da configurare sono:

linterfaccia dingresso di cui vogliamo catturare il traffico


set netflow interface <IfName>
lIP e la porta del collector (server che analizza i flussi)
set netflow collector <ip Collector>:<Port>
la versione di Netflow (definisce la caratterizzazione del flusso)
set netflow version <N>
il filtro da utilizzare
set netflow filter <N>
l'avvio servizio

230
PROTOCOLLO NETFLOW Imola User Guide

set netflow on19

Di default, NetFlow cattura tutti i pacchetti entranti sullinterfaccia dichiarata, ma possibile usare
dei Filtri IP per decidere quali pacchetti analizzare. I filtri IP seguono la sintassi del tool tcpdump.

Filtri
Di seguito alcuni esempi di Filter IP

acquisizione del solo traffico web: TCP and porta 80


acquisizione del solo traffico web: IP
etc.

VERIFICA
Per visualizzare le statistiche relative a NetFlow, possiamo usare il comando:
show netflow.

Di seguito riportato loutoput del comando:

NetFlow Statistics:
received:0/0 (0) pending:0/0
ignored:0 lost:0+0 dropped:0
cache:0/0 emit:0/0/0
memory:10000/9900 (640016)

dove troviamo:
received:[total packets]/[fragmented] ([total size])
pending:[now in queue]/[maximum]
ignored:[non-ip]
lost:[pending queue full]+[no memory for caching]
dropped:[by kernel]
cache:[flows]/[fragmented]
emit:[sent datagrams]/[sent flows]/[flows in emit queue]
memory:[allocated flows]/[free] ([allocated memory in bytes])

19
Affinch il servizio Netflow sia attivo dopo il riavvio del router necessario inserire il comando di attivazione nella sezione autocmd set
autocmd set netflow on

231
SYSLOG Imola User Guide

SYSLOG

CONFIGURAZIONE DELLA FUNZIONALIT DI


LOGGING
Imola consente di collezionare i messaggi che riportano lo stato del sistema a mano a mano che si
verificano gli eventi.

La raccolta dei messaggi di sistema, effettuata mediante il servizio Syslog, pu essere effettuata
verso un server remoto oppure in locale. Per configurare il servizio di log locale si usa il comando:

set log local

Per configurare il servizio di log remoto si usa il comando:


set log remote <remote-ipaddr>

dove <remote-ipaddr> lindirizzo IP del server di log remoto.

Per specificare con quale IP sorgente debbano essere inviati i messaggi di syslog verso il server
remoto, si usa il comando:
set log source <local-ip>

oppure

set log source loopback

per utilizzare lindirizzo di loopback.

Per evitare che il file cresca a dismisura possibile specificarne la massima lunghezza in termini di
numero di linee con il comando seguente:
set log max-lines <value>

E possibile inoltre specificare il livello di log con il comando:

set log level <value>


set log level <value>

I livelli di log (da 1 a 4) consentono di visualizzare i messaggi di sistema con differenti dettagli:

LOG DESCRIZIONE
livello 1 applicazioni
applicazioni, autenticazione logon utenti, log pacchetti IP in transito e filtrate dalle regole di acl, redirect,
livello 2
source-nat rules.
applicazioni, autenticazione logon utenti, log pacchetti IP in transito e filtrate dalle regole di access-list,
livello 3
redirect, source-nat, accessi Telnet e FTP, attivazione dialer ISDN
applicazioni, autenticazione logon utenti, log pacchetti IP in transito e filtrate dalle regole di access-list,
livello 4 redirect, source-nat, accessi Telnet e FTP attivazione dialer ISDN con messaggi di debug, attivazione
link ADSL

E possibile raccogliere i messaggi di log che arrivano solo da una categoria di messaggi con il
comando:

set log facility <facility>

Valori possibili di <facility> sono:

232
SYSLOG Imola User Guide

local0
local1
local2
local3
local4
local5
local6
local7

E inoltre possibile specificare il livello di gravit dei messaggi che si desiderano raccogliere con il
comando:
set log priority <priority>

I valori possibili di <priority> sono:

debug debug messages


info informative messages
notice notification messages
warning warning messages
err error messages
crit critical error messages
alert alert messages a
emerg emergency messages

Per attivare il servizio di log si deve usare il comando:

set log on

Per disattivare il servizio di log:


set log off

Il logging in locale dei messaggi di sistema pu, per esempio, essere attivato mediante i seguenti
comandi CLI:

set log local


set log level 4
set log max-lines 4000
set log on

Il logging in remoto dei messaggi di sistema pu essere attivato mediante i seguenti comandi CLI:

set log remote <IP>


set log level 4
set log on

possibile attivare la visualizzazione istantanea del file di log, con il comando:


show log

Se il logging attivo, l'output generato del tipo mostrato in figura.

Per interrompere la visualizzazione dei messaggi, sar necessario premere per una sola volta la
combinazione di tasti <Ctrl+C> .

root@Imola> show log


Jan 1 06:36:38 localhost syslogd 1.4.1: restart.
Jan 1 06:37:12 localhost exiting on signal 15

233
SYSLOG Imola User Guide

Jan 1 06:37:14 localhost syslogd 1.4.1: restart.


Jan 1 06:37:18 localhost sshd[17904]: log: Closing connection to 10.10.10.19
Jan 1 06:37:26 localhost in.telnetd[17938]: connect from 10.10.10.19
Jan 1 06:37:26 localhost radlogin[17939]: //etc/radiusclient/radiusclient.conf: no
authserver specified
Jan 1 06:37:30 localhost radlogin[17939]: authentication OK, type local, username root

E possibile visualizzare lintero file di log, con il comando:


show log full

Se il logging attivo, loutput generato del tipo mostrato sotto.

per interrompere la visualizzazione, introdurre la lettera q


per visualizzare riga per riga, premere il tasto invio (enter)
per visualizzare la pagina successiva, premere il tasto barra spaziatrice (space)

root@Imola> show log full


Jan 1 00:01:04 localhost syslogd 1.4.1: restart.
Jan 1 00:01:06 localhost kernel: Memory: 59672KB available (1688K code, 357K da
ta, 240K init)
Jan 1 00:01:06 localhost kernel: number of JEDEC chips: 1
Jan 1 00:01:06 localhost kernel: cfi_cmdset_0002: Disabling erase-suspend-progr
am due to code brokenness.
Jan 1 00:01:06 localhost kernel: Imola3 flash_0: Using Static image partition d
efinition
Jan 1 00:01:06 localhost kernel: Creating 2 MTD partitions on "Imola3:0":
Jan 1 00:01:06 localhost kernel: 0x00000000-0x00070000 : "U-boot"
Jan 1 00:01:06 localhost kernel: 0x00070000-0x00080000 : "environment"
Jan 1 00:01:06 localhost kernel: imola3_init: mach-type=604
Jan 1 00:01:06 localhost kernel: 3 cmdlinepart partitions found on MTD device i
mola3-nand
Jan 1 00:01:06 localhost kernel: Creating 3 MTD partitions on "imola3-nand":
Jan 1 00:01:06 localhost kernel: 0x00000000-0x00100000 : "kernel"
Jan 1 00:01:06 localhost kernel: 0x00100000-0x00400000 : "initrd"
Jan 1 00:01:06 localhost kernel: 0x00400000-0x01000000 : "user"
Jan 1 00:01:06 localhost kernel: RAMDISK: Compressed image found at block 0
Jan 1 00:01:06 localhost kernel: sdn subsystem Rev: 1.1.4.1/1.1.4.1/1.1.4.1/1.
1.4.1/none/1.1.4.1 loaded
Jan 1 00:01:07 localhost ipppd[1696]: Found 1 device: /dev/ippp0
--More-- (70% of 1846 bytes)

E possibile trasferire tutto il contenuto del file di log su un server TFTP tramite il comando:
upload log-file to <tftp-server>

Il file risultante dal trasferimento sul server chiamato: Imola.log.

Sono disponibili i comandi:

set alarm host <ip-address>


set alarm facility <facility>
set alarm priority <priority>
set alarm on

234
SYSLOG Imola User Guide

che causano linvio verso lhost specificato specificato le varie segnalazioni di allarmi prodotte dal
router. Gli alarmi vengono inviati tramite Syslog.

Per specificare con quale IP sorgente debbano essere inviati i messaggi verso il server TFTP, si usa il
comando:

set tft source <local-ip> oppure set tftp source loopback

per utilizzare lindirizzo di loopback.

235
PROTOCOLLO DLSW Imola User Guide

PROTOCOLLO DLSW

INTRODUZIONE
Imola supporta la funzione di Data Link Switching (DLSw), meccanismo di forwarding per le reti IBM
SNA basato sul protocollo Switch-to-Switch (SSP) che incapsula le frames SNA in TCP/IP per il
trasporto su Internet. Limplementazione segue le specifiche RFC 1795.

Prima che il data link switching possa iniziare, deve essere stabilita una connessione TCP/IP tra due
estremi DLSw (peers); stabilita la connessione, i due peers si scambiano le capabilities e, a questo
punto, entrambi utilizzeranno il protocollo SSP per stabilire dei circuiti sul transport.

CONFIGURAZIONE DLSW
Il peer locale viene definito tramite il suo indirizzo IP, nel seguente modo:

set dlsw local-peer ipaddr <ip address>

E possibile definire alcune propriet aggiuntive per il peer locale.

Se si vuole configurare un keepalive tra il peer locale e il suo partner remoto si usa il comando:
set dlsw local-peer keepalive <seconds>

Il valore 0 significa nessun keep-alive e corrisponde allimpostazione predefinita. Valori validi


sono compresi tra 0 e 1200. Per rimuovere una impostazione di keep-alive e tornare cos al valore
di default si usa il comando:
set dlsw local-peer no-keepalive

Se si desidera impostare una finestra di controllo del flusso dei pacchetti scambiati tra i due peers
(pacing window) come definito in RFC 1795, si usa il comando:

set dlsw local-peer pacing-window <size>

Limpostazione predefinita per tale finestra 20. Valori validi sono compresi tra 1 e 2000.

Il peer remoto viene definito tramite il suo indirizzo IP , nel seguente modo:
set dlsw remote-peer ipaddr <ip address>

Al momento della configurazione necessario impostare anche il MAC address dellhost della rete
SNA raggiungibile tramite il peer remoto:

set dlsw remote-peer target-mac <mac address>

Il MAC address deve essere introdotto come sequenza di 6 bytes separati dal carattere due punti,
hh:kk:xx:yy:ww:zz, usando la notazione esadecimale.

E possibile definire un peer di backup per il peer remoto, con il comando:


set dlsw remote-peer backup-peer <ip address>

Per configurare una risorsa che raggiungibile dal peer-locale, si deve usare il comando:
set dlsw icanreach mac-addr <mac address> [ mask <value> ]

236
PROTOCOLLO DLSW Imola User Guide

Sia il MAC address che la maschera devono essere introdotti come sequenza di 6 bytes separati dal
carattere due punti, hh:kk:xx:yy:ww:zz, usando la notazione esadecimale.

Quando il router deve decidere la raggiungibilit di un dato MAC address, la maschera viene
applicata in and ad esso; se il risultato ottenuto il MAC address configurato, allora lo stesso
raggiungibile. Se si desidera specificare un singolo MAC address, allora la maschera deve essere
impostata a ff:ff:ff:ff:ff:ff oppure non specificata, essendo questo il valore preimpostato.

E possibile specificare che il MAC address o la famiglia di quelli configurati sono gli unici
raggiungibili dal peer, usando il comando:

set dlsw icanreach mac-exclusive

Per rimuovere lopzione di esclusivit si usa il comando:

set dlsw icanreach no-mac-exclusive

Per rimuovere un MAC address dalla lista di quelli raggiungibili, si usa il comando:

set dlsw icanreach no-mac-addr <mac address> [ mask <value> ]

E inoltre possibile definire una lista di SAP raggiungibili dal peer locale usando il comando:
set dlsw icanreach saps <value> [ <value> ]

I SAPs devono essere specificati in notazione esadecimale e separati da uno spazio.

Tutte le informazioni di raggiungibilit vengono inviate dal DLSw locale al partner remoto al
momento dello scambio delle capabilities. In questo modo il partner remoto potr evitare linvio di
messaggi esplorativi (Can-u-reach-ex) con la conseguente riduzione di messaggi sulla connessione.

Per abilitare le funzionalit di log del DLSw, si usa il comando:

set dlsw log on

Per definire un livello di log, si usa il comando:


set dlsw log level <value>

Per disabilitare il log:

set dlsw log off

Per attivare il DLSw si usa il comando:


set dlsw on

e per disattivarlo si usa il comando:


set dlsw off

CONFIGURAZIONE IN AMBIENTE DLC IEEE 802.2


In ambiente DLC, essendo la connessione di tipo LAN, necessario configurare su quale interfaccia
ethernet del router Imola avviene la connessione DLC:

set dlc net-interface eth0|eth1

Inoltre necessario configurare il MAC address del client, nel seguente modo:
set dlc source-mac <mac address>

237
PROTOCOLLO DLSW Imola User Guide

Anche in questo caso il MAC address deve essere introdotto come sequenza di 6 bytes separati dal
carattere due punti, hh:kk:xx:yy:ww:zz, usando la notazione esadecimale.

Al momento della configurazione del peer locale necessario configurare i terminatori locali del
data link, uno per ciascun Service Access Point (SAP), con il seguente comando:
set dlsw dlc-binder sap <local sap> remote-sap <remote sap>

Per rimuovere un terminatore locale, si usa il comando:


set dlsw no-dlc-binder sap <local sap> remote-sap <remote sap>

Analogamente per il controllo del log dei binders si usano i comandi:


set dlsw dlc-binder sap <local sap> log on
set dlsw dlc-binder sap <local sap> log level <value>
set dlsw dlc-binder sap <local sap> log off

CONFIGURAZIONE IN AMBIENTE SDLC


In ambiente SDLC necessario configurare per la connessione wan il protocollo hdlc:

set wan protocol hdlc

e la modalit operativa V.28 (RS-232):


set wan mode v28

E inoltre possibile configurare alcune modalit operative della connessione fisica.

Se si desidera impostare un valore di encoding diverso dal valore di default, nrz, si usa il seguente
comando:

set cdn encoding nrz|nrzi|fm-mark|fm-space|manchester

e il baud-rate:
set cdn baud-rate <value>

Si deve infine porre in modalit IP-unnumbered linterfaccia HLDC con il seguente comando:

set cdn ipaddr 1.1.1.1

Si procede poi con la configurazione del SDLC. E necessario configurare linterfaccia fisica :
set sdlc interface hdlc0

e lindirizzo fisico della stazione connessa al router:


set sdlc cu addr <address>

Lindirizzo deve essere specificato in notazione esadecimale. Se si desidera cancellare lindirizzo


assegnato si usa il comando:

set sdlc cu no-addr <address>

Al momento della configurazione del peer locale del DLSw necessario configurare il terminatore
locale del data link associato con il seguente comando:
set dlsw sdlc-binder addr <address>

Poich il DLSw agisce sempre come se connettesse due LAN 802.2, necessario configurare sul
binder sdlc le seguenti informazioni aggiuntive:

238
PROTOCOLLO DLSW Imola User Guide

il SAP locale e remoto


set dlsw sdlc-binder addr <address> sap <value> remote-sap <value>
lo xid,
set dlsw sdlc-binder addr <address> xid <value> type <value>
e il MAC address virtuale
set dlsw sdlc-binder addr <address> vmac <mac address>

Il MAC address deve essere introdotto come sequenza di 6 bytes separati dal carattere due punti,
hh:kk:xx:yy:ww:00, usando la notazione esadecimale. Si noti che il byte basso deve essere 00. Il
MAC address associato alla stazione viene costruito partendo dal MAC address virtuale cui viene
sovrapposto nel byte basso lindirizzo della stazione stessa.

Per rimuovere il binder si usa il comando:


set dlsw no-sdlc-binder addr <address>

Per il controllo del log del binder si usano i comandi:


set dlsw sdlc-binder addr <address> log on
set dlsw sdlc-binder addr <address> log level <value>
set dlsw sdlc-binder addr <address> log off

VISUALIZZAZIONE CONFIGURAZIONE, STATO E


STATISTICHE DSLW
La configurazione del dlsw si pu estrarre dalla configurazione corrente del router, tramite il
comando:
show config current

root@Imola > show config current

set dlsw local-peer ipaddr 172.151.113.1


set dlsw remote-peer ipaddr 172.151.1.1
set dlsw local-peer keepalive 0
set dlsw local-peer pacing-window 20
set dlsw remote-peer target-mac 00:c0:26:dc:d8:39
set dlsw log level 1
set dlsw sdlc-binder addr c1
set dlsw sdlc-binder addr c1 sap 8 remote-sap 4
set dlsw sdlc-binder addr c1 xid 05d15a01 type 2
set dlsw sdlc-binder addr c1 vmac 00:c0:26:a1:46:00
set dlsw sdlc-binder addr c1 log level 6
set sdlc interface hdlc0
set sdlc cu addr c1
set sdlc log level 1
set dlsw on
set wan protocol hdlc
set wan mode v28
set cdn ipaddr 1.1.1.1
set cdn encoding nrz

239
PROTOCOLLO DLSW Imola User Guide

Per visualizzare lo stato del peer locale e delle sue connessioni si usa il comando:

show dlsw peers

root@Imola > show dlsw peers

Peer state ckts pkts_tx pkts_rx pkts_enq connect time


172.17.6.221 CONNECTED 0 2 2 0 Thu Jan 1 04:50:13 1970

Per visualizzare le capabilities del peer locale si usa il comando:


show dlsw capabilities local

root@Imola > show dlsw capabilities local

Capabilities for peer: 172.17.6.221


Vendor Id : 5AB00
DLSW version : 1
DLSW release : 0
init pacing window : 20
tcp connections : 1
supported saps : all
MAC Address exclusivity : 0

analogamente, per visualizzare le capabilities del peer remoto si usa il comando:

show dlsw capabilities

root@Imola > show dlsw capabilities

Capabilities for peer: 10.250.255.1


Vendor Id : 00C
DLSW version : 1
DLSW release : 0
init pacing window : 20
tcp connections : 1
supported saps : all
MAC Address exclusivity : 1
MAC Address lis : [ 400016702000 ffffffffffff ]
version string : Cisco Internetwork Operating System Software
IOS (tm) 3600 Software (C3640-IS-M), Version 12.2(1), RELEASE SOFTWARE (fc2)
Copyright (c) 1986-2001 by cisco Systems, Inc.
Compiled Fri 27-Apr-01 03:19 by cmong

Per visualizzare i circuiti stabiliti tra il peer locale e il suo partner remoto si usa il comando:
show dlsw circuits

root@Imola > show dlsw circuits

Id local addr(lsap) remote addr(rsap) state connect time


0 00:a0:d1:be:4c:a1(4 ) 02:00:68:0e:04:00(4 ) CONNECTED Thu Jan 1 02:36:56 1970

Flow Control Tx CW:20 Permitted:37 Rx CW:20 Granted:37

240
PROTOCOLLO DLSW Imola User Guide

Bytes:85/42 Info Frames:3/3


XID-frames:1/0 UInfo Frames:0/0
Total number of circuits connected = 1

La visualizzazione dei circuiti pu essere filtrata in base ad un MAC address, un sap o un id, nel
seguente modo:
show dlsw circuits mac < mac address >
show dlsw circuits sap < sap >
show dlsw circuits id < circuit id >

E infine possibile visualizzare alcune informazioni statistiche sui messaggi SSP scambiati dai peers
con il comando:
show dlsw ssp

root@Imola > show dlsw ssp

Peer:172.17.6.221 received transmitted


CANUREACH_cs - circuit start 0 1
ICANREACH_cs - circuit start 1 0
REACH_ACK - reach acknowledgment 0 1
XIDFRAME - XID frame 0 1
CONTACT - contact remote station 1 0
CONTACTED - remote station contacted 0 1
INFOFRAME - information (I) frame 3 3
CAP_EXCHANGE - capabilities exchange 2 2

Last SSP Received: INFOFRAME


Last SSP Sent: INFOFRAME

ESEMPIO

La configurazione del DLSw si pu estrarre dalla configurazione corrente del router. Senza perdere
in generalit si fa riferimento allo scenario del seguente diagramma. Esso prevede:

un router Imola DLSw collegato in periferia alla rete LAN dei dispositivi di servizio.
Lindirizzo IP assegnato 10.10.0.1.
un router generico DLSw che collega la LAN del CED alla rete internet. Lindirizzo
10.160.0.1
un client, con MAC address 00:0A:01:02:03:04, che colloquia via DLC con lhost remoto
un Host, con MAC address 00:0A:0B:0C:0D:0E, che risponde alle richieste remote via DLC

241
PROTOCOLLO DLSW Imola User Guide

Configurazione
Su Imola vengono eseguiti i seguenti comandi per attivare la connessione DLSw tra i due peers e
verificarne il funzionamento:
set dlsw local-peer ipaddr 10.10.0.1
set dlsw remote-peer ipaddr 10.160.1.1
set dlsw remote-peer target-mac 00:0A:0B:0C:0D:0E
set dlsw on

Per verificare il funzionamento:


show dlsw peers
show dlsw capabilities local
show dlsw capabilities

242
PROTOCOLLO DLSW Imola User Guide

ATTIVAZIONE E CONTROLLO DEI CIRCUITI


Lattivazione di un circuito avviene in seguito ad uno scambio di messaggi DLC tra il client e lhost
che, a sua volta, genera uno scambio di messaggi SSP tra i partner DLSw.

Client Local DLSw Remote DLsw Host

Test req Can U Reach Ex Test req

Test res I Can Reach Ex Test res

XID Can U Reach Cs

I can Reach Cs

Reach ACK

XID XID

SABME Contact SABME

UA Contacted UA

Per visualizzare i circuiti gi stabiliti, si utilizza il comando:


show dlsw circuits

Per visualizzare i messaggi scambiati dai DLSw, si utilizza il comando:


show dlsw ssp

Quando il circuito stabilito i frames fluiscono attraverso di esso:

Client Local DLSw Remote DLsw Host

Info Info Info Info

243
Protocollo NTP Imola User Guide

PROTOCOLLO NTP
CONFIGURAZIONE DEL PROTOCOLLO NTP
Mediante il protocollo NTP possibile impostare e mantenere il clock di sistema in sincronia con i
time servers configurati. Il protocollo NTP presente su Imola supporta limplementazione del Simple
Network Time Protocol version 4 (RFC2030) e del Network Time Protocol version 3 (RFC 1305).

Per configurare gli indirizzi IP dei server NTP che si desidera utilizzare per lallineamento della data
di sistema si usa il comando:
set ntp <IP>

Per configurare il servizio NTP si usa il comando:


set ntp on

Per specificare con quale IP sorgente debbano essere inviati i messaggi verso il server remoto:
set ntp source <local-ip>

Per utilizzare lindirizzo di loopback.


set ntp source loopback

Per disabilitare il servizio NTP si usa il comando:


set ntp off

Sono inoltre disponibili alcuni comandi a supporto del servizio.

Per forzare lallineamento della data di sistema al server NTP si usa il comando:
rdate s <IP>

Per visualizzare la data di sistema del server NTP si usa il comando:


rdate -p <IP>

Per visualizzare la data del sistema locale si usa il comando:


show date

E buona norma attivare il servizio NTP quando diventa attiva la connessione remota. Ad esempio,
nel caso in cui la connessione avvenga via ADSL, si deve programmare il seguente trigger:
set trigger adsl up set ntp on

E possibile configurare il servizio in modo che distribuisca la data ad eventuali clients che la
richiedano. Il comando da utilizzare per questo :
set ntp listen on <ip-address>

TRIGGER NTP
E possibile programmare dei trigger eseguiti nel momento in cui il router sincronizza la data con il
server NTP. Ad esempio:
set trigger ntp up logger Router has been synchronized

244
ESECUZIONE PIANIFICATA DI COMANDI Imola User Guide

ESECUZIONE PIANIFICATA DI COMANDI


E disponibile il servzio di Command Scheduler che permette di configurare dei comandi da
eseguire a specifici orari e date. La configurazione prevede la definizione di una policy, contenente
uno o pi comandi, e di un orario/data di attivazione. La sintassi dei comandi:

Comandi di configurazione:
set cron on|off

Attiva e disattiva il servzio di Command Scheduler


set cron <cron-policy> hour <0-23> min <0-59>

Configura <cron-policy> per essere eseguita ogni giorno all'ora/minuti definiti

set cron <cron-policy> hour <0-23> min <0-59> day <1-31> [month] <1-12>

Configura <cron-policy> per essere eseguita nel giorno e all'ora/minuti definiti, tutti i mesi nel
caso 'month' non sia definito altrimenti solo per il mese configurato
set cron <cron-plcy> hour <0-23> min <0-59> month <1-12> [dayofweek] <dow>

Configura <cron-policy> per essere eseguita all'ora/minuti definiti solo nel mese configurato,
tutti i giorni nel caso 'day-of-week' non sia definito altrimenti solo per il giorno configurato (Luned,
Marted, Mercoled, Gioved, Venerd, Sabato o Domenica)
set cron <cron-policy> hour <0-23> min <0-59> day-of-week <dow>

Configura <cron-policy> per essere eseguita all'ora/minuti definiti per il giorno della settimana
configurato

set cron <cron-policy> command <comando>

Specifica un comando da aggiungere alla policy

set cron <cron-policy> no-command <comando>

Specifica il comando da rimuovere dalla policy


set no-cron

Disattiva il cron daemon e rimuove tutte le policy, ripristinando cos la situazione 'factory'
set no-cron <cron-policy>

Rimuove solo la policy <cron-policy>

set date day <1-31> month <1-12> year <2010-2099> hour <0-23> min <0-59>

Permette di configurare manualmente la data del router

COMANDI DI VISUALIZZAZIONE
show crontab

Visualizza la cron table corrente.

> show crontab


Cron Daemon is active. Running pid is 5522

245
ESECUZIONE PIANIFICATA DI COMANDI Imola User Guide

Current Cron table:


at 10h:45m 22th of April run 'AddRoute'
at 18h:50m 22th of April run 'DelRoute'

show cron

Visualizza lo stato completo del Command Scheduler

> show cron


Cron Daemon is active. Running pid is 5522
Current Cron table:
at 10h:45m 22th of April run 'AddRoute'
at 18h:50m 22th of April run 'DelRoute'

Commands to be run by Cron Policy 'DelRoute':


ip route del 1.1.1.1 dev eth1
ip route del 1.1.1.2 dev eth1

Commands to be run by Cron Policy 'AddRoute':


ip route add 1.1.1.1 dev eth1
ip route add 1.1.1.2 dev eth1

show cron <policy-name>

Visualizza lo stato della policy <policy-name>

> show cron AddRoute


Cron Daemon is active. Running pid is 5522

Cron Policy 'AddRoute' run at 15h:45m 22th of April


commands to be run:
ip route add 1.1.1.1 dev eth1
ip route add 1.1.1.2 dev eth1

246
ESECUZIONE DI COMANDI IN BASE ALLA POSIZIONE GEOGRAFICAImola User
Guide

ESECUZIONE DI COMANDI IN BASE ALLA


POSIZIONE GEOGRAFICA
Su alcuni modelli di router disponibile il servizio di Command Position Scheduler che permette di
configurare dei comandi da eseguire quando il router si trova in determinate posizioni geografiche.
Questa funzione risulta particolarmente utile quando il router viene usato su dei mezzi in
movimento.

I dati di posizionamento sono ricevuti da una sorgente esterna nel formato NMEA.

La configurazione prevede:

la definizione delle sorgente di georeferenziazione


la definizione di:
unarea geografica
una lista di comandi da eseguire quando il router entra in quellarea
una lista di comandi da eseguire quano il router esce da quellarea.

Larea viene rappresentata da un cerchio avente come centro una coppia di coordinate geografiche,
latitudine e longitudine ed un raggio specificato.

Le coordinate vengono espresse specificando Latitude e Longitudine nel formato GGA, secondo le
specifiche NMEA:

latitudine: ddmm.nnnnnN/S
longitudine: dddmm.nnnnnE/W

Dove dd = gradi, mm= primi e .mmmmm = decimi di primo.

Si possono configurare fino ad 8 aree geografiche, chiamate area0, area1, area7.

I comandi di configurazione sono i seguenti:

set cps on|off

Attiva e disattiva il servzio di Command Scheduler Position

set cps nmea-source <source>

Definisce la sorgente di georeferziazione. Sono valide le seguenti casistiche:

set cps nmea-source rs232

Per indicare che i dati di georefenziazione sono ricevuti da un dispositivo collegato alla porta seriale
del router.

set cps nmea-source gps

Per indicare che dati di georefernziazione sono ricevuti da un dispositivo GPS interno al router (nel
caso in cui il modello che lo preveda).

set cps nmea-source interface <intf> port <portno> group <mcast- addr>

Per indicare che i dati di georeferenziazione sono ricevuti da un flusso multicast sullinterfaccia di
rete specificata.

247
ESECUZIONE DI COMANDI IN BASE ALLA POSIZIONE GEOGRAFICAImola User
Guide

set cps nmea-source host <ipaddr> port <port-number>

Per indicare che i dati vengono acquisiti tramite una connessione verso lhost e la porta specificati.

set cps nmea-frequency N

Definisce la frequenza con la quale il servizo controlla un cambio di posizionamento geografico. Il


valore di default di 1 secondo.

set cps <area> latitude <val> longitude <val> radius <val>

Configura il centro e il raggio dellarea geografica cui dovranno essere associati i comandi da
eseguire. La latititude e la longitudine sono coordinate NMEA mentre il valore del raggio espresso
in metri.

set cps <area> description <area-description>

Associa una descrizione allarea specificata.

set cps <area> command in <command>

Specifica un commando che deve essere eseguito quando il router entra la prima volta allinterno
dellarea specificata.

set cps <area> no-command in <command>

Rimuove il commando specificato.

set cps <area> command out <command>

Specifica un commando che deve essere eseguito quando il router esce dallarea identificata
dallarea specificata.

set cps <area> no-command out <command>

Rimuove il commando specificato.

set no-cps

Disabilita il servzio di georeferenzazione e rimuove tutte le policy specificate.

set cps no-area0|no-area1 .. no-area7

Rimuove soltanto larea speficata.

Ad esempio, il commando:

set cps nmea-source interface eth1 port 19100 group 239.1.1.1

specifica che i dati NMEA verranno ricevuti sullinterfaccia come un flusso multicast verso lindirizzo
di gruppo 239.1.1.1 sulla porta UDP 19100.

La sequenza di comandi:
set cps area0 latitude 4525.91000N longitude 00753.41000E radius 1000
set cps area0 description around-ivrea
set cps area0 command in gprsmode no-umts
set cps area0 command in iptables A FORWARD o ppp0 p udp j DROP

causa lesecuzione dei comandi per operare solamente su rete mobile 2G e bloccare tutto il traffico
UDP quando il router si trova in un raggio di 1000 metri dalla posizione specificata, mentre i
comandi

248
ESECUZIONE DI COMANDI IN BASE ALLA POSIZIONE GEOGRAFICAImola User
Guide

set cps area0 command out gprsmode auto


set cps area0 command out iptables D FORWARD o ppp0 p udp j DROP

eliminano le restrizioni impostate non appena il router esce dallarea identificata.

I comandi:
set cps area1 latitude 4380.0000N longitude 1125.0000E radius 100
set cps area1 descriprion in-firenze
set cps area1 command in upload log-file to 192.168.121.12
set cps area1 command in hello 192.168.121.12 22000

causano linvio del file di log al server TFTP 192.168.121.12 e il commando di hello verso lo stesso
server e porta 22000.

E possibile in ogni istante visualizzare la posizione corrente del router mediante il comando:
where-i-am

che restituisce le seguenti informazioni:


UTC Time: 120114130136
Latitude: 4525.9081N
Longitude: 00753.4123E

249
PROTOCOLLO DHCP Imola User Guide

PROTOCOLLO DHCP

CONFIGURAZIONE DEL SERVIZIO DHCP-SERVER


Per configurare un servizio dhcp-server sui router Tiesse possibile utilizzare comandi del tipo:

set dhcp-server <name> <options...>

Di seguito si trovano i pi comuni parametri da utilizzare nella configurazione di questo protocollo.

Con il comando:
set dhcp-server <name> interface <interface>

Si specifica l'interfaccia su cui andr ad agire il dhcp-server corrispondente al processo


denominato <name>.

Per specificare il range degli indirizzi IP a disposizione del dhcp-server si usano i seguenti
comandi:

set dhcp-server <name> start-address <ip-address>


set dhcp-server <name> end-address <ip-address>

Il tempo di validit dellindirizzo assegnato ai client viene specificato con il comando:

set dhcp-server <name> lease-time <value(sec)>

Seguono le descrizioni di comandi utilizzati per specificare altre informazioni che il dhcp-server
dovr passare ai vari client connessi.

Per specificare una subnet:

set dhcp-server <name> subnet <netmask>

Per specificare il default-gateway:

set dhcp-server <name> router <ip-address>

Per specificare uno o pi server DNS:


set dhcp-server <name> dns <ip address> <ip address>

Nel caso di reti di sistemi Microsoft pu essere necessario specificare uno o pi WINS server:

set dhcp-server <name> wins <ip address> <ip address>


Qualora si desideri impostare un'opzione non prevista dai comandi nativi della CLI possibile
introdurla con il comando:
set dhcp-server <name> directive <directive>

Ad esempio, volendo specificare un dominio da passare al client, si pu dare il seguente comando:

set dhcp-server VLAN directive option domain local

Le directive option verranno discusse in modo pi approfondito nel corso del prossimo
paragrafo dedicato ai processi dhcp-server multipli.

E possibile avviare il servizio dhcp-server configurato con il comando:

set dhcp-server <name> on

250
PROTOCOLLO DHCP Imola User Guide

mentre il comando:

set dhcp-server <name> off

disattiva il servizio dhcp-server relativo al processo denominato <name>.

Sono disponibili i comandi per rimuovere le opzioni precedentemente impostate:


set dhcp-server <name> no-router
set dhcp-server <name> no-subnet
set dhcp-server <name> no-wins
set dhcp-server <name> no-dns
set dhcp-server <name> no-directive <directive>

Infine con:

set no-dhcp-server

il servizio dhcp-server viene disattivato, rimuovendo inoltre anche le configurazioni relative a


tutti i pool dhcp-server.

Esempio:

set dhcp-server LAN0 interface eth0


set dhcp-server LAN0 start-range 172.151.1.1
set dhcp-server LAN0 end-range 172.151.1.100
set dhcp-server LAN0 router 172.151.10.10
set dhcp-server LAN0 dns 172.151.113.50
set dhcp-server LAN0 lease-time 6000
set dhcp-server LAN0 subnet 255.255.0.0
set dhcp-server LAN0 on

ISTANZE MULTIPLE DEL SERVIZIO DHCP


Utilizzando i comandi visti nel precedente paragrafo, possibile attivare pi istanze del protocollo
in questione e configurare ognuna di esse separatamente, utilizzando come al solito comandi
aventi la sintassi:

set dhcp-server <name> <options>

dove <name> un identificativo dellistanza e <options> sono i parametri che a tale istanza si
riferiscono.

Questa funzionalit particolarmente utile nel caso in cui sul router siano configurate delle VLAN e
si voglia attivare il servizio su ognuna di esse oppure anche nel caso generale in cui si volesse
configurare il servizio dhcp-server su interfacce diverse.

Ad esempio, supponiamo che siano presenti tre VLAN identificate come eth1.10, eth1.20 ed
eth1.30, aventi indirizzi rispettivamente IP: 172.16.1.1/24, 172.16.2.1/24 e 172.16.3.1/24.
Per attivare il servizio dhcp-server su ognuna di esse, si utilizza il seguente gruppo di comandi:

set dhcp-server vlan10 interface eth1.10


set dhcp-server vlan10 start-range 172.16.1.50
set dhcp-server vlan10 end-range 172.16.1.100
set dhcp-server vlan10 router 172.16.1.1

251
PROTOCOLLO DHCP Imola User Guide

set dhcp-server vlan10 dns 151.99.0.100


set dhcp-server vlan10 subnet 255.255.255.0
set dhcp-server vlan10 on

set dhcp-server vlan20 interface eth1.20


set dhcp-server vlan20 start-range 172.16.2.50
set dhcp-server vlan20 end-range 172.16.2.100
set dhcp-server vlan20 router 172.16.2.1
set dhcp-server vlan20 dns 151.99.0.100
set dhcp-server vlan20 subnet 255.255.255.0
set dhcp-server vlan20 on

set dhcp-server vlan30 interface eth1.30


set dhcp-server vlan30 start-range 172.16.3.50
set dhcp-server vlan30 end-range 172.16.3.100
set dhcp-server vlan30 router 172.16.3.1
set dhcp-server vlan30 dns 151.99.0.100
set dhcp-server vlan30 subnet 255.255.255.0
set dhcp-server vlan30 on

N.B.: Nel caso si disponesse di un router non aggiornato alle ultime releases, potrebbe accadere che la suite di
comandi set dhcp-server <name> <options...> sia non disponibile sul sistema. In tal caso sempre
possibile lutilizzo del comando set udhcp <name> <options...>, presente sui router Tiesse allo scopo
di avere compatibilit con versioni precedenti di firmware.

E possibile inoltre abilitare le funzioni di antispoofing grazie alle quali il router blocca tutto il
traffico su uninterfaccia tranne quello proveniente da un PC cui stato gi assegnato un lease dal
router stesso.

Ad esempio, se si imposta il comando:


set dhcp-server vlan30 directive antispoofing 1

il router imposta delle regole di filtro sui pacchetti che bloccano tutto il traffico in arrivo sulla VLAN
30, tranne le richieste DHCP. Quando viene assegnato un indirizzo IP ad un client, allora viene
abilitato il traffico che ha come IP sorgente lindirizzo rilasciato e come MAC sorgente quello del PC
che ha ottenuto tale indirizzo.

Per riservare un indirizzo IP ad un cliente specifico, si utilizza il comando static_lease:

set dhcp-server <name> directive static_lease <mac-addr> <ip-addr>

Ad esempio:
set dhcp-server lan directive static_lease 00:24:36:a3:de:d7 172.16.113.100

E possibile specificare ulteriori opzioni tramite il comando:

set dhcp-server <name> direction option <opt-name> <opt-value>

Ad esempio:
set dhcp-server vlan10 directive logsrv 192.168.1.1
set dhcp-server vlan10 directive tftp www.tiesse.com

La lista di tutte le possibili opzioni e il tipo di dati che pu assumere la seguente:

252
PROTOCOLLO DHCP Imola User Guide

timesrv indirizzo IP
namesrv indirizzo IP
logsrv indirizzo IP
cookiesrv indirizzo IP
lpsrv indirizzo IP
domain stringa
swapsrv indirizzo IP
rootpath stringa
mtu valore numerico
nisdomain stringa
nissrv indirizzo IP
tftp stringa
staticroutes subnet nexthop
msstaticroutes subnet nexthop
sipsrv indirizzo IP
oaigateway indirizzo IP

Ad esempio per distribuire le rotte statiche tramite lopzione staticroutes si procede con:

set dhcp-server lan directive option staticroutes 10.10.0.0/16 172.16.1.1

Inoltre possibile configurare direttamente il valore delle opzioni che il server dhcp-server deve
distribuire, mediante una specifica di pi basso livello e caratterizzando le opzioni da impostare
come sequenza di caratteri esadecimali (hex), sequenza di caratteri ascii (ascii), oppure come in
indirizzo IP (ip). Il tutto viene chiarito con un esempio illustrativo:

set dhcp-server <pool> directive option <val> ip <ip-address>


set dhcp-server <pool> directive option <val> hex <hex-string>
set dhcp-server <pool> directive option <val> ascii <ascii-string>

Ad esempio, per specificare le opzioni 120, 152 e 160 usate da alcuni telefoni IP :
set dhcp-server lan directive option 120 hex 010a0a0b0b
set dhcp-server lan directive option 152 ip 10.10.10.11
set dhcp-server lan directive option 160 ascii http://172.20.1.24

Infine, a riguardo del modo di inserimento delle directive option di basso livello appena
introdotto, bene ricordare sempre che per evitare malfunzionamenti sul servizio dhcp-server,
tali direttive devono sempre essere specificate come comandi finali di una configurazione. Per
illustrare il tutto mediante un esempio, questo vuol dire che la seguente configurazione:

set dhcp-server lan interface eth1


set dhcp-server lan start-address 172.16.113.100
set dhcp-server lan end-address 172.16.113.200
set dhcp-server lan router 172.16.1.1
set dhcp-server lan directive option 152 ip 10.10.1.1
set dhcp-server lan directive option 120 hex 010a0a0b0b
set dhcp-server lan directive option 160 ascii http://10.10.1.1
set dhcp-server lan lease-time 1200
set dhcp-server lan dns 151.99.125.2 151.99.0.100
set dhcp-server lan directive static_lease 00:24:36:a3:de:d7 172.16.113.100

253
PROTOCOLLO DHCP Imola User Guide

set dhcp-server lan directive option tftp www.tiesse.com


set dhcp-server lan directive option logsrv 10.10.4.4
set dhcp-server lan on

vivamente sconsigliata e ad essa deve essere preferita la seguente, che riporta le direttive
dhcp-server di basso livello nella parte finale della codifica:

set dhcp-server lan interface eth1


set dhcp-server lan start-address 172.16.113.100
set dhcp-server lan end-address 172.16.113.200
set dhcp-server lan router 172.16.1.1
set dhcp-server lan directive option 152 ip 10.10.1.1
set dhcp-server lan directive option 120 hex 010a0a0b0b
set dhcp-server lan directive option 160 ascii http://10.10.1.1
set dhcp-server lan lease-time 1200
set dhcp-server lan dns 151.99.125.2 151.99.0.100
set dhcp-server lan directive static_lease 00:24:36:a3:de:d7 172.16.113.100
set dhcp-server lan directive option tftp www.tiesse.com
set dhcp-server lan directive option logsrv 10.10.4.4
set dhcp-server lan directive option 152 ip 10.10.1.1
set dhcp-server lan directive option 120 hex 010a0a0b0b
set dhcp-server lan directive option 160 ascii http://10.10.1.1
set dhcp-server lan on

SERVIZIO DHCP-RELAY AGENT


E supportata anche la funzionalit di dhcp-relay per permettere ai client collegati in LAN di
ricevere i parametri di rete da un server dhcp-server remoto, ubicato in una rete esterna non
direttamente accessibile attraverso il router Imola. Il comando per attivare tale funzionalit :

dhcprelay <client-ifname> <server-ifname> [server-ipaddr]

dove <client-ifname> l'interfaccia del router Imola verso i client DHCP interni, <server-
ifname> linterfaccia di collegamento verso il dhcp-server. Opzionalmente pu essere
specificato direttamente lindirizzo IP del server [server-ipaddr].

N.B.: importante ricordare che affinch il servizio dhcp-relay possa essere attivato al successivo
reload del sistema, il precedente comando deve essere eseguito come trigger di qualche evento
oppure come autocmd.

Ad esempio per attivare il comando quando il router diventa Master VRRP:

set trigger vrrp up dhcprelay eth0 tgprs0

oppure per attivare il comando allo startup del router:


set trigger autocmd dhcprelay eth0 eth1 172.16.10.10

Particolare attenzione va prestata ai casi in cui una interfaccia cui il servizio fa riferimento pu non
essere sempre operativa, in tal caso come quello del seguente esempio relativo ad una interfaccia
ADSL pu essere eseguita l'attivazione del servizio dhcp-relay in modo condizionato alla
funzionalit dell'interfaccia di collegamento:
set trigger adsl up dhcprelay eth0 atm0

254
PROTOCOLLO DHCP Imola User Guide

VISUALIZZAZIONE DEL SERVIZIO DHCP


Per visualizzare lo stato del servizio dhcp-server si usa il comando:

show dhcp-server

root@IMOLA> show dhcp-server


UDHCP Daemon 'P1' is active. Running pid is 26034

# udhcpd configuration file


start 172.151.113.10
end 172.151.113.20
interface eth1
option router 172.151.113.1
option subnet 255.255.0.0
option dns 151.99.0.100 151.99.125.2
lease_file /var/state/dhcp/dhcpd.leases
auto_time 30
notify_file dumpleases

Mac Address IP-Address Expires in


00:c0:49:f2:30:69 172.151.113.10 9 days, 23 hours, 59 minutes, 30 seconds

in cui sono visibili le principali informazioni legate all'esecuzione del servizio.

255
TIMEZONE Imola User Guide

TIMEZONE
CONFIGURAZIONE DEL TIMEZONE O FUSO ORARIO

Mediante apposito comando CLI possibile configurare il timezone su Imola.

I timezone configurabili sono:


CET GMT+12 GMT+7 GMT-11 GMT-4 GMT0 WET

GMT GMT+2 GMT+8 GMT-12 GMT-5 Greenwich Zulu

GMT+0 GMT+3 GMT+9 GMT-13 GMT-6 MET

GMT+1 GMT+4 GMT-0 GMT-14 GMT-7 UCT

GMT+10 GMT+5 GMT-1 GMT-2 GMT-8 UTC

GMT+11 GMT+6 GMT-10 GMT-3 GMT-9 Universal

Il timezone corretto per l'Italia GMT-1 d'inverno e GMT-2 d'estate, rispettivamente per l'ora solare
e per l'ora legale.

In alternativa si possono utilizzare MET o CET (Middle o Central Europe Time), che in aggiunta
consentono di effettuare il passaggio automatico ora legale/ora solare.

La configurazione dei timezone pu essere effettuata mediante i seguenti comandi CLI:


set timezone <TZ>
set timezone on

Per verificare il timezone attivo possibile utilizzare il comando CLI:


show date

il cui output del seguente tipo:

root@Imola> show date


Mon Oct 10 11:52:15 GMT-1 2005

256
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

TRIGGER: GESTIONE ED ATTIVAZIONE


EVENTI

TRIGGER O COMANDI DA ATTIVARE DOPO UN


EVENTO
A seguito di un determinato evento possibile lattivazione di trigger o comandi di sistema.

Normalmente lesecuzione di un trigger demandata alla attivazione o disattivazione di una


interfaccia oppure al verificarsi di un dato evento ad esse legato.

Gli eventi sui quali possibile attivare dei trigger sono sostanzialmente legati allo stato operativo di
una qualsiasi interfaccia di rete:

ADSL
eth0
eth1
GPRS
GRE
ISDN
pptp

Mentre possibile attivare dei trigger al momento di attivazione dei servizi:

NTP
VRRP
backup
timer-tick
GPRS-tc
DHCP client
openvpn
IPSec

Per esempio: linterfaccia ADSL pu venire attivata in un momento successivo allaccensione


dellImola: se al momento dellattivazione di tale interfaccia lutente desidera attivare il servizio bgp
dovr configurare un trigger come nel seguente esempio:

set trigger adsl up set bgp on

Allo stesso modo se al momento della disattivazione della interfaccia ADSL lutente desidera
disattivare il servizio bgp dovr configurare il trigger:

set trigger adsl down set bgp off

Analogamente, al momento dellattivazione dellinterfaccia GPRS potrebbe essere necessario


attivare effettuare un cambio delle rotte statiche:
set trigger gprs up ip route del 4.4.4.0/24 dev eth0
set trigger gprs up ip route add 4.4.4.0/24 dev ppp0

257
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

e viceversa alla successiva disattivazione:


set trigger gprs up ip route del 4.4.4.0/24 dev ppp0
set trigger gprs up ip route add 4.4.4.0/24 dev eth0

Lo stato di backup pu essere attivato mediante verifica della raggiungibilit di un indirizzo remoto.

Ad esempio:
set backup check-interval 5
set backup check-retries 3
set backup check-wait 1
set backup checking-ipaddress 10.10.1.1 via icmp through-interface atm0

Ogni 5 secondi viene mandato un messaggio di ICMP request (ping) all'indirizzo 10.10.1.1: se
entro 1 secondo e per 3 volte consecutive non si ha risposta, il router attualizza lo stato di backup,
cio il router entra nello stato di backup.

Oltre al protocollo ICMP request inoltre possibile utilizzare il protocollo BFD-light:

set backup checking-ipaddress 10.10.1.1 via bfd through-interface atm0

Mediante appositi trigger, al passaggio allo stato di backup possono essere attivate delle azioni, ad
esempio:
set trigger backup up set gprs on
set trigger backup up set rip on

Una volta entrato nello stato di backup, Imola continua a controllare la raggiungibilit dellindirizzo
IP specificato e quando questo nuovamente disponibile si rientra dallo stato di backup,
eseguendo delle azioni programmate, ad esempio:

set trigger backup off set rip off


set trigger backup off set gprs off

Per esempio possibile manipolare e controllare la configurazione VRRP del router:


set backup checking-ipaddress 1.1.1.1 via icmp through-interface eth0
set trigger backup up set vrrp priority 150
set trigger backup up set vrrp on

set trigger backup down set vrrp priority 100


set trigger backup down set vrrp on

con tali comandi nel momento in cui Imola entra nello stato di backup, cio lindirizzo specificato
non raggiungibile, aumenta la priorit del protocollo VRRP diventando di fatto Master VRRP e
quindi il default gateway della rete (vedi paragrafo VRRP).

Un modo molto utile di programmare il router Imola per l'esecuzione di azioni ripetute a cadenze
temporali prefissate costituito dallimpiego del trigger timer-tick.

Per limpiego di questo comando deve essere preliminarmente specificata la frequenza temporale
(in secondi) con cui il router genera levento timer-tick.

set timer-tick 3600

Alla rilevazione di ognuno di questi eventi, pu essere programmata lesecuzione periodica di un


comando CLI, mediante la seguente sintassi:

258
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

set trigger timer-tick <command>

E possibile attivare lesecuzione di un comando CLI condizionatamente alla disponibilit


dellinterfaccia tunnel GRE20. Ad esempio, se al momento in cui tale tunnel sar attivo lutente
desiderasse attivare una rotta indispensabile per la comunicazione, dovr allora configurare un
trigger simile al seguente:
set trigger gre up ip route add 10.1.10.0/24 via 10.10.254.1

Allo stesso modo, al momento della disattivazione del tunnel GRE, lutente potr cancellare la
stessa rotta mediante il seguente trigger:
set trigger gre down ip route del 10.1.10.0/24 via 10.10.254.1

Un altro interessante impiego della funzionalit trigger la programmazione di azioni in relazione


allevento traffic control, relativamente al quale, le azioni saranno condizionate al controllo del
traffico in ingresso ed in uscita sull'interfaccia GPRS e ISDN. In tal caso i comandi verranno usati in
concomitanza del comando set trigger gprs-tc per linterfaccia GPRS e set trigger isdn-tc
per quella ISDN.

I seguenti esempi ne chiariranno il modo di impiego.

set gprs traffic-control input-threshold 10000


set gprs traffic-control output-threshold 20000
set gprs traffic-control mode or
set gprs traffic-control timer-unit 60
set trigger gprs-tc up logger -h 192.168.2.1 gprs Traffic is too High
set trigger gprs-tc down logger -h 192.168.2.1 gprs Traffic is at normal rate

set trigger gprs on set gprs traffic-control on


set trigger gprs off set gprs traffic-control off

In tal modo il controllo del traffico avr inizio con l'attivazione della sessione GPRS e verr
disattivato quando la sessione terminer.

Si imposta un valore di soglia di 10K per il traffico in ingresso ed un valore di 20K per il traffico in
uscita. Il controllo si effettua ogni 60 secondi. Se in 60 secondi il traffico in ingresso oppure quello
in uscita supera il valore di soglia impostato viene eseguito il comando specificato dal trigger set
gprs-tc up, che invia un messaggio di log verso un determinato Host. Viceversa, se in 60 secondi
il traffico inferiore ai valori di soglia viene eseguito il comando specificato dal trigger set
trigger gprs-tc down.

set isdn traffic-control input-threshold 60000


set isdn traffic-control output-threshold 60000
set isdn traffic-control mode or
set isdn traffic-control timer-unit 10
set trigger isdn-tc up isdnctrl addlink ippp1
set trigger isdn-tc down isdnctrl removelink ippp1

set trigger isdn on set isdn traffic-control on


set trigger isdn off set isdn traffic-control off

20
La disponibilit del tunnel GRE controllata solo e soltanto se al momento della definizione del tunnel stato configurato
il meccanismo di keep-alive.

259
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

In tal modo il controllo del traffico avr inizio con l'attivazione della sessione GPRS e verr
disattivato quando la sessione terminer.

Si imposta un valore di soglia di 60Kbyte per il traffico in ingresso e per quello in uscita. Il controllo
si effettua ogni 10 secondi. Se in 10 secondi il traffico in ingresso oppure quello in uscita supera il
valore di soglia impostato viene eseguito il comando specificato dal trigger set isdn-tc up, che
attiva il secondo canale ISDN (preventivamente configurato in MLPPP). Viceversa, se in 10 secondi il
traffico inferiore ai valori di soglia viene eseguito il comando specificato dal trigger set trigger
isdn-tc down.

NETWORK INTERFACES CONTROL


Il comando ifstate-mon verifica periodicamente lo stato di uninterfaccia di rete, mentre il comando
set trigger ifstate up|down permette di specificare le azioni da eseguire in base allo stato
dellinterfaccia controllata. Ad esempio, mediante la sequenza di comandi:
ifstate-mon i 5 pvc0
set trigger ifstate down pvc0 ip route del 7.7.8.8 dev pvc0
set trigger ifstate down pvc0 ip route add 7.7.8.8 dev eth1
set trigger ifstat up pvc0 ip route del 7.7.8.8 dev eth1
set trigger ifstate up pvc0 ip route add 7.7.8.8 dev pvc0

si controlla ogni 5 secondi lo stato dellinterfaccia pvc0 (Frame relay). Quando questo down si
eseguono le azioni specificate mediante i due comandi: set trigger ifstate down pvc0.

Quando lo stato del PVC attivo si eseguono le azioni specificate mediante i due comandi: set
trigger ifstate pvc0.

CONTROLLO OCCUPAZIONE DELLA CPU


Il comando cpustate-mon verifica periodicamente la percentuale di occupazione della CPU e
permette di definire due soglie che, quando vengono attraversate, generano un evento a fronte del
quale possono essere codificate delle azioni. La sintassi la seguente:
cpustate-mon [ i <interval> ] -h <rising threshold> -r <rising interval> [ -l <falling threshold> -f <falling interval> ]
lopzione i specifica lintervallo di campionamento delloccupazione di CPU. Se non
specificato, il controllo viene effettuato ogni 5 secondi
lopzione h definisce la soglia massima che, se superata per un tempo pari allintervallo
specificato con lopzione r, scatena levento. Tale soglia viene espressa come un valore
percentuale compreso tra 1 e 100.
lopzione l definisce la soglia minima che, se loccupazione di CPU ne rimane al di sotto
per un tempo pari allintervallo specificato con lopzione f, scatena levento. Tale soglia
viene espressa come un valore percentuale compreso tra 1 e 100. Se questa opzione non
indicata, la soglia minima viene impostata uguale alla soglia massima.

Levento generato a fronte del superamento delle soglie viene codificato nel seguente modo:
set trigger cpu-threshold rise <command>
set trigger cpu-threshold fall <command>

Ad esempio, per codificare una notifica SNMP dellevento si usa la seguente sintassi:

set trigger cpu-threshold rise sendtrap cpuThresholdRise <host> <community>

260
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

set trigger cpu-threshold fall sendtrap cpuThresholdFall <host> <community>

MECCANISMI DI ATTIVAZIONE BACKUP


Il servizio di backup viene realizzato combinando opportunamente i comandi:
set backup <options>
set trigger backup <options>

Questi comandi sono presenti a partire dalla versione software 1.0.9. Nelle versioni precedenti sono
presenti i comandi:
set adsl backup
set adsl extbackup

che sono stati mantenuti per compatibilit anche nella versione attuale.

COMANDO SET BACKUP


Il comando set backup viene usato per definire il criterio che verifica la disponibilit del
collegamento principale, mentre il comando set trigger backup permette di programmare delle
azioni che verranno eseguite quando Imola entra nello stato di backup (cio quando Imola rileva
che il collegamento principale non disponibile), e delle azioni da eseguire quando Imola ritorna
dallo stato di backup (cio quando il collegamento primario nuovamente disponibile).

La disponibilit del collegamento principale viene verificata utilizzando uno dei seguenti criteri, cui
corrisponde una determinata forma del comando set backup:

1. Invio periodico di un pacchetto di tipo ICMP-echo-request (ping) verso un determinato


indirizzo IP attraverso una determinata interfaccia di rete. Il comando necessario :
set backup checking-ipaddress a.b.c.d via icmp through-interface <ifname>

Il collegamento principale viene dichiarato non disponibile se non viene ricevuto alcun
pacchetto di tipo ICMP-echo-reply dopo N tentativi di trasmissione. Il numero di tentativi, il
tempo di attesa della risposta ad ogni tentativo e lintervallo tra un gruppo di tentativi e il
successivo sono configurabili mediante i comandi:

set backup check-retries N


set backup check-wait T1
set backup check-interval T2

La sequenza di pacchetti ICMP continua ad essere trasmessa sullinterfaccia specificata e il


collegamento principale viene dichiarato disponibile non appena si ottiene una risposta.
Mediante il comando:

set backup check-tos N

possibile specificare il valore da inserire nel campo Type of service (TOS) dei pacchetti
trasmessi.

E possibile definire una lista di interfacce su cui effettuare la verifica mediante il comando:
set backup checking-ipaddress a.b.c.d via icmp through-interface <ifn1,ifn2 .. ifnN>

261
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

In questo caso i pacchetti ICMP vengono inviati verso lindirizzo a.b.c.d utilizzando linterfaccia
ifn1, in caso di fallimento si inviano i pacchetti utilizzando linterfaccia ifn2. La linea primaria
viene dichiarata indisponibile se lindirizzo IP non raggiungibile mediante alcuna delle
interfacce specificate.

E possibile definire una lista di indirizzi IP cui spedire i pacchetti di tipo ICMP:

set backup checking-one-of-ipaddr-list ip1,ip2, ipN via icmp through-interface <ifname>

In tal caso il backup viene attivato se nessuno degli indirizzi della lista risponde ai comandi di
ICMP.

Anche in questo caso possibile specificare una lista di interfacce:


set backup checking-all-in-ipaddr-list ip1,ip2, ipN via icmp through-interface <ifname>

Attraverso linterfaccia ifn1 si tenta di raggiungere uno degli indirizzi della lista. Se nessuno
risponde si utilizza linterfaccia ifn2 e cos via.

Inoltre possibile utilizzare la variante:


set backup checking-all-in-ipaddr-list IP1,IP2, IPN via icmp through-interface <ifname>

ed attivare il backup se almeno uno degli indirizzi della lista non risponde ai comandi di ping.

2. Invio periodico di un pacchetto di tipo BFD-Light (bfdping) attraverso una determinata


interfaccia di rete e diretto ad un indirizzo locale di Imola. Il comando necessario :
set backup checking-ipaddress a.b.c.d via icmp through-interface <ifname>

Il collegamento principale viene dichiarato non disponibile se il pacchetto spedito non viene
ricevuto dopo N tentativi di trasmissione. Il numero di tentativi, il tempo di attesa della risposta
ad ogni tentativo e lintervallo tra un gruppo di tentativi e il successivo sono configurabili
mediante i comandi:

set backup check-retries N


set backup check-wait T1
set backup check-interval T2

La sequenza di pacchetti bfd continua ad essere trasmessa sullinterfaccia specificata e il


collegamento principale viene dichiarato disponibile non appena si ottiene una risposta.

Mediante il comando:
set backup check-tos N

possibile specificare il valore da inserire nel campo Type of service (TOS) dei pacchetti
trasmessi.

3. Invio periodico di un pacchetto di tipo UDP verso un determinato indirizzo IP e una porta
attraverso una determinata interfaccia di rete. Il comando necessario :
set backup checking-ipaddress a.b.c.d via udp through-interface <ifname>

Il collegamento principale viene dichiarato non disponibile se non viene ricevuta alcuna risposta
dallhost specificato dopo N tentativi di trasmissione. La porta UDP cui inviare i pacchetti si
configura mediante il comando:
set backup check-port N

Il numero di tentativi, il tempo di attesa della risposta ad ogni tentativo e lintervallo tra un
gruppo di tentativi e il successivo sono configurabili mediante i comandi:

262
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

set backup check-retries N


set backup check-wait T1
set backup check-interval T2

La sequenza di pacchetti UDP continua ad essere trasmessa sullinterfaccia specificata e il


collegamento princIPale viene dichiarato disponibile non appena si ottiene una risposta.

4. Connessione periodica ad un servizio TCP verso un determinato indirizzo IP e una porta


attraverso una determinata interfaccia di rete. Il comando necessario :
set backup checking-ipaddress a.b.c.d via tcp through-interface <ifname>

Il collegamento principale viene dichiarato non disponibile se non possibile effettuare una
connessione TCP con il servizio dellhost specificato.

La porta TCP verso cui effettuare le connessioni si configura mediante il comando:

set backup check-port N

Il numero di tentativi, il tempo di attesa della risposta ad ogni tentativo e lintervallo tra un
gruppo di tentativi e il successivo sono configurabili mediante i comandi:
set backup check-retries N
set backup check-wait T1
set backup check-interval T2

La connessione TCP continua ad essere richiesta sullinterfaccia specificata e il collegamento


principale viene dichiarato disponibile non appena questa avviene con successo. Ogni
connessione effettuata con successo viene automaticamente terminata da Imola.

Una variante del comando


set backup checking-ipaddress a.b.c.d via ...

la forma:

set backup checking-ipaddr-if-rx-idle a.b.c.d via .. rx-threshold N

con la quale il controllo verso lhost specificato viene effettuato soltanto se in undeterminato
intervallo di tempo non stato ricevuto alcun carattere sullinterfaccia specificata., oppure il
numero di caratteri ricevuti minore di una soglia configurata. Ad esempio:

set backup checking-ipaddr-if-rx-idle 1.1.1.1 via icmp through-interface atm0 rx-threshold 500

attiva linvio dei pacchetti di ping se nellintervallo spcificato stato ricevuto un numero di
caratteri inferiori a 500.

5. Verifica dello stato operativo (IfOperStatus) di uninterfaccia di rete specificata. Il


comando necessario :
set backup checking-interface <ifname>

Il collegamento principale viene dichiarato non disponibile se lo stato operativo dellinterfaccia


down. La frequenza di verifica dello stato dellinterfaccia viene specificata mediante il
comando:
set backup check-interval T

6. Verifica della presenza di tabelle di routing acquisite dinamicamente per mezzo di un


protocollo di routing. Il comando :

set backup checking-dynamic-routes via ospf|bgp|rip through-interface <ifname>

263
TRIGGER: GESTIONE ED ATTIVAZIONE EVENTI Imola User Guide

E possibile limitare il controllo alla ricezione di una sola network mediante lopzione watched:

set backup checking-dynamic-routes via ospf|bgp|rip through-interface <ifname> watched <netwok>/N

La frequenza di verifica della disponibilit delle rotte dinamiche viene configurata con il
comando:
set backup check-interval T

COMANDO SET TRIGGER BACKUP


Non appena il criterio configurato non viene pi soddisfatto vengono eseguite tutte le azioni
specificate mediante il comando:

set trigger backup up <action>

dove <action> pu essere un qualsiasi comando CLI supportato da Imola. Una sequenza di azioni
viene configurata mediante una sequenza di comandi:
set trigger backup up <action1>
set trigger backup up <action2>
set trigger backup up <actionN>

Mentre Imola si trova nello stato di backup, il criterio continua ad essere verificato e quando questo
di nuovo soddisfatto vengono eseguite tutte le azioni preventivamente specificate con il comando:

set trigger backup down <action>

COMANDO SET EXTBACKUP


A partire dalla versione di firmware x.3.0, accanto alla funzionalit di base che prevede la
possibilit di configurare una sola condizione di backup, possibile definire altre 8 condizioni, per
un totale di 9, mediante lutilizzo del comando:
set extbackup N

La sintassi la stessa del comando set backup <opzioni> tranne per la parte iniziale del comando
che rappresenta lidentificativo della condizione:
set extbackup <0-7> <opzioni>

Dove <opzioni> sono le stesse del comando set backup e il numero <0-7> lidentificativo del
backup

Per rimuovere un backup precedentemente configurato.


set no-extbackup <0-7>

I comandi di trigger possono essere associati alla corretta condizione di test, mediante il comando:

set trigger extbackup <0-7> down|up <options>

mentre per rimuovere un trigger si usa il comando:

set no-trigger extbackup <0-7> down|up

Per visualizzazare lo stato della condizione si usa il comando:

show extbackup <0-7>

264
POLICY ROUTING Imola User Guide

POLICY ROUTING
Il meccanismo di Policy Routing permette di effettuare delle decisioni sullinstradamento dei
pacchetti oltre che in base allindirizzo di destinazione anche su altri paramteri, quali ad esempio
lindirizzo IP sorgente, il tipo di protocollo, la porta sorgente o destinazione, il campo TOS (o DSCP)
dellheader di IP o una qualsiasi combinazione dei campi dellheader IP.

Il concetto risulta pi chiaro ricorrendo ad un esempio. Si consideri il seguente scenario come


esempio:

dove senza perder in generalit, si assume che:

lindirizzo 1.1.1.1 associato allinterfaccia atm0 di Imola e 1.1.1.2 il suo nexthop


lindirizzo 3.3.3.1 associato allinterfaccia PPP0 di Imola e 3.3.3.2 il suo nexthop
la rete raggiungibile attraverso linterfaccia atm0 ADSL
la rete raggiungibile attraverso linterfaccia PPP0 GPRS
sulla LAN interna sono collegati due host con indirizzi rispettivamente 10.10.10.11 e
10.10.10.12.
possibile raggiungere indirizzi esterni indifferentemente attraverso la rete ADSL oppure
attraverso la rete GPRS.

Vengono mostrati due esempi che permettono di ottenere le funzioni di

split access
load balancing

SPLIT ACCESS
Si vuole separare il traffico proveniente dai due PC, in particolare il traffico proveniente da
10.10.10.11 deve essere inoltrato da Imola su rete ADSL, cio sullinterfaccia atm0, mentre il
traffico originato da 10.10.10.12 deve essere inoltrato su interfaccia PPP0 e quindi su rete GPRS.

265
POLICY ROUTING Imola User Guide

Per tale scopo si applicano i seguenti comandi:


ip rule add from 10.10.10.11/32 table 11
ip rule add from 10.10.10.12/32 table 22
ip route add default via 1.1.1.2 dev atm0 table 11
ip route add default via 3.3.3.2 dev ppp0 table 22

dove i primi due comandi servono a creare due differenti tabelle di routing: una per i pacchetti
provenienti da 10.10.10.11/32 e laltra per i pacchetti provenienti da 10.10.10.12, mentre i
secondi stabiliscono le rotte di instradamento in funzione della tabella di routing.

Come gi esaminato nei capitoli precedenti, un metodo pi sofisticato consiste nel combinare il
comando iptables ed il comando IP. Ad esempio, tutti i pacchetti provenienti da 10.10.10.11 e
diretti alla porta 8899 devono essere instradati su rete GPRS , tutti gli altri su rete ADSL:

iptables t mangle A PREROUTING p tcp dport 8899 s 10.10.10.11/32 j MARK set-mark 0x22
ip rule add fwmark 0x22 table 22
ip route add default via 3.3.3.2 dev ppp0 table 22
ip route add default via 1.1.1.2 dev atm0

LOAD BALANCING
I pacchetti in uscita dal router Imola devono essere trasmessi in modalit round-robin su entrambe
le due interfacce di rete:
ip route add default scope global nexthop via 1.1.1.2 dev atm0 weight 1 nexthop via 3.3.3.2 dev gprs weight 1

A causa del meccanismo di caching delle rotte, il bilanciamento del traffico potrebbe non essere
distribuito in maniera uniforme sulle due interfacce.

266
RESPONDER TIME REPORTER Imola User Guide

RESPONDER TIME REPORTER

CONFIGURAZIONE DEL SERVIZIO


Il servizio RTR (Responder Time Reporter) offre la possibilit di eseguire dei comandi in funzione del
particolare osservatore RTR configurato. Pi precisamente, le funzionalit di RTR permettono di
configurare dei probe da inviare verso un indirizzo preconfigurato al fine di misurare le prestazioni
e i tempi di attraversamento della rete.

Con i comandi:
set rtr frequency <seconds>
set rtr timeout <millisec>
set rtr lifetime <seconds>
set rtr pkt-size <bytes>
set rtr tos <value>

possibile configurare rispettivamente la frequenza (in secondi) con cui inviare il probe, il tempo di
attesa (in millisecondi) della risposta al probe, la durata del probe (0 corrisponde ad una durata
infinita), la dimensione del pacchetto di probe (in bytes), il valore (da 2 a massimo 254) del Type of
Service.

inoltre possibile scegliere che il probe venga costituito da unoperazione di icmp echo request,
dallinvio di un pacchetto UDP o infine, una richiesta di connessione ad un dato servizio, verso un
dato indirizzo di destinazione. I comandi utili a tali scopi sono i seguenti:

set rtr type ipIcmpEcho dst-addr <value> [src-addr <value>]

definisce che il probe costituito da un pacchetto ICMP echo request verso l'indirizzo dst-addr (e
con eventuale indirizzo sorgente src-addr).

set rtr type udpEcho dst-addr <valuedst-port> <value> [src-addr <value> [src-addr <value>]]

definisce che il probe costituito da un pacchetto UDP verso l'indirizzo dst-host e porta dst-
port. possibile specificare anche l'indirizzo sorgente src-addr con cui deve essere trasmesso il
pacchetto. In questo caso obbligatorio specificare anche la porta sorgene src-port. Esempio:

set rtr type udpEcho dst-addr 192.168.206.1 dst-port 1234 src-addr 192.168.206.38 src-port 11000
set rtr type tcpConnect dst-addr <valuedst-port> <value> [ src-addr <value> [src-addr <value>]]

definisce che il probe costituito da una richiesta di connessione al servizio dst-port verso
l'indirizzo dst-host.

Con il comando:
set rtr threshold N

si definisce un valore di soglia superato il quale verranno eseguite le azioni configurate con il
comando set rtr reaction-event, descritto successivamente.
set rtr reaction-event ifFailure <command>

esegue il comando fornito come argomento, nel caso in cui loperazione di probe impostata fallisca,
cio nel caso in cui non si ottenga risposta per un numero di volte pari al valore specificato dal
parametro threshold.

267
RESPONDER TIME REPORTER Imola User Guide

set rtr reaction-event ifSuccess <command>

esegue il comando nel caso in cui il probe abbia avuto risposta.


set rtr reaction-event ifFailureAfterSuccess <command>

esegue il comando nel caso il probe fallisca ma precedentemente avesse avuto successo.

set rtr reaction-event ifSuccessAfterFailure <command>

esegue il comando nel caso in cui il probe abbia successo e precedentemente fosse fallito.

Per specificare una lista di comandi si usa in modo ripetuto il comando:


set rtr reaction-event

Lesecuzione dei comandi rispecchia la sequenza di inserimento.

set rtr start-time immediately

attiva il probe immediatamente


set rtr start-time in N

attiva il probe entro un tempo non inferiore a N secondi.

possibile configurare con la stessa sintassi illustrata fino ad un massimo di 4 comandi RTR: RTR, RTR1,
RTR2, RTR3.

VISUALIZZAZIONE DEL SERVIZIO


Il comando per la visualizzazione del RTR :

show rtr config|status|statistics

Specificando largomento config si ottiene la visualizzazione della configurazione del servizio RTR,
con un output simile a:

root@Imola> show rtr config


set rtr frequency 60
set rtr timeout 5000
set rtr pkt-size 32
set rtr lifetime 3600
set rtr threshold 3000
set rtr no-tos
set rtr no-reaction-configuration
set rtr off

Specificando largomento statistics si ottiene la visualizzazione dei dati statistici del RTR, che sono:

timestamp alla partenza del servizio


numero di messaggi di probe spediti
numero di messaggi di probe ricevuti
numero di errori (numero di messaggi di probe senza risposta)
percentuale di pacchetti perduti
tempi di round-trip in millisecondi: minimo/medio/massimo/deviazione standard
timestamp al termine del servizio

268
RESPONDER TIME REPORTER Imola User Guide

Loutput che si ottiene del tipo:

root@Imola> show rtr statistics


Response Time Reporter collected statistics:
Start Time: Thu Jan 1 01:30:35 CET 1970

60 probes transmitted, 60 probes received, 0 errors, 0% probe loss


round-trip min/avg/max/dev = 97.827/239.712/676.518/136.447 ms

Stop Time: Thu Jan 1 01:31:40 CET 1970

Infine con largomento status si ottiene la visualizzazione dello stato del servizio RTR, con un
output simile a:

root@Imola> show rtr statistics


set rtr responder local-port 9000

Response Time Reporter is not running

IP SLA RESPONDER
E possibile configurare il router in modo da rispondere ai probe ricevuti mediante i comandi:
set rtr responder local-port NNN

dove local-address l'indirizzo IP dell'interfaccia del router su cui verranno ricevuti i pacchetti di
probe. Il responder si mette in ascolto su due porte locali:

sulla porta 9998 supporta il protocollo RTR proprietario Tiesse (descritto nel paragrafo
precedente). possibile configurare tale porta locale tramite il parametro local-port.
sulla porta standard 1967 supporta il protocollo IP SLA Cisco.

Per fermare il servizio responder si utilizza il comando:


no-rtr-responder <local-address>

La funzionalit di responder permette di effettuare le misure dei seguenti parametri:

Jitter
One Way Delay
Round Trip Delay
Packet Loss

Le risposte generate sono conformi alle funzioni di IPsla-Source (IP SLA Querier) dei router Cisco.

269
Gestione delle configurazioni aggiornamento software Imola User Guide

GESTIONE DELLE CONFIGURAZIONI


AGGIORNAMENTO SOFTWARE

GESTIONE DELLE CONFIGURAZIONI INTERMEDIE


Il comando CLI

set checkpoint

permette di creare un checkpoint del router, utile per salvare la configurazione relativa ad un
determinato istante.

Tramite il comando
restore checkpoint

possibile ripristinare la configurazione salvata.

Ad esempio:

set checkpoint-1

crea un punto di ripristino che in qualsiasi momento pu essere richiamato mediante il comando:
restore checkpoint-1

Sono due i punti di ripristino predefiniti: checkpoint-1 e checkpoint-2.

E possibile inoltre definire punti di ripristino personalizzati utilizzando il comando:


set checkpoint <nome>

dove <nome> una stringa alfanumerica che identifica il punto di ripristino.

Per ripristinare la configurazione cos salvata sar sufficiente eseguire:

restore checkpoint <nome>

In ogni istante possibile visualizzare tutti i checkpoint precedentemente creati mediante il


comando:
show checkpoint-list

o visualizzare la relativa configurazione:


show config checkpoint <nome>

Per rimuovere un punto di ripristino utilizzare il comando:


set no-checkpoint <nome>

oppure per rimuoverli tutti:


set no-checkpoint-all

DOWNLOAD E UPLOAD DELLE CONFIGURAZIONI


I comandi CLI di configurazione possono essere contenuti in un file di testo preparato localmente,
successivamente il file viene trasferito su Imola e ne vengono eseguiti i comandi contenuti. Il file

270
Gestione delle configurazioni aggiornamento software Imola User Guide

con i comandi deve risiedere su un sistema dove attivo il server TFTP. Ad esempio, il file
GPRS.cli.txt si trova sul server 192.168.1.1 e contiene i comandi CLI:

set gprs apn myapn.tim.it


set gprs login mylogin password mypasswd
set gprs default-route
set gprs on
set loopback ipaddr 10.10.0.1
set loopback on
set eth1 ipaddr 172.15.113.1 netmask 255.255.0.0
set eth1 on

Su Imola vengono eseguiti rispettivamente i comandi:


download command-file gprs.cli.txt from 192.168.1.1
run from gprs.cli.txt

il primo trasferisce il file localmente ad Imola ed il secondo esegue i comandi contenuti al suo
interno.

Viceversa per scaricare su un server TFTP la configurazione corrente di Imola si possono usare i
seguenti comandi:

show config current > /tmp/imola.cli.txt


upload command-file /tmp/imola.cli.txt to 192.168.1.1

il primo comando crea il file /tmp/imola.cli.txt contenente la configurazione del router ed il


secondo trasferisce tale file sul server TFTP.

Per specificare con quale IP sorgente debbano essere inviati i messaggi verso il server TFTP remoto,
si usa il comando:
set tftp source <local-ip>

oppure
set tftp source loopback

per utilizzare lindirizzo di loopback.

inoltre possibile memorizzare in un file i comandi man mano che questi vengono eseguiti e
successivamente salvarli sul server TFTP:
record in /tmp/myconf.cli.txt
set adsl encap rfc1483-llc
set adsl pvc atm0 ipaddr 83.1.1.1 nexthop 83.1.1.2
set trigger adsl up ip route default dev atm0
no-record
upload command-file /tmp/myconf.cli.txt to 192.168.1.1

AGGIORNAMENTO DEL SOFTWARE


Il software su Imola organizzato in maniera modulare. I moduli presenti e la relativa versione di
ognuno di essi sono visualizzati dal comando: show system

root@Imola> show system

271
Gestione delle configurazioni aggiornamento software Imola User Guide

Tiesse Imola Multiprotocol Router


Serial Number: S0610G046170
Software Version: Imola version: 1.1.2-S
OS version: 2.4.20-Imola-1.0 (root@vll) Mon Feb 26 00:47:30
CPU: IBM 405EP 133Mhz revision : 9.80 (pvr 5121 0950)
RAM Size: 64 MB
FLASH Size: 16 MB
Tag=21032007
STE 100P 10/100 Ethernet0 PHY Device. MAC Address: 00:0D:5A:04:B4:5A
STE 100P 10/100 Ethernet1 PHY Device. MAC Address: 00:0D:5A:84:B4:5A
Console UART Controller ST 3243 APW. DB9 DTE Connector.

*** Packages version:


zebra: Version 1.1.1 - Tue Feb 13 11:33:23 CET 2007
vrrp: Version 1.1.1 - Tue Feb 13 11:33:23 CET 2007
usb2: Version 1.1.1 - Tue Feb 13 11:33:23 CET 2007
snmp: Version 2.0.7 - Sat Mar 10 22:55:10 CET 2007
saa: Version 1.1.1 - Tue Feb 13 11:33:23 CET 2007
rip: Version 1.1.2 - Tue Feb 27 11:33:23 CET 2007
pptp: Version 1.1.2 - Fri Feb 16 07:23:14 CET 2006
pimd: Version 1.1.2 - Tue Feb 20 14:40:23 CET 2007
ospf: Version 1.1.2 - Tue Feb 27 11:33:23 CET 2007
ipsec: Version 1.1.2 - Thu Mar 22 17:57:57 CET 2007
hsdpa: Version 1.1.1 - Fri Mar 23 09:04:35 CET 2007
etc: Version 1.1.7 - Mon Mar 5 18:14:44 CET 2007
cli: Version 1.2.0 - Fri Mar 30 12:45:15 CEST 2007
bgp: Version 1.1.2 - Tue Feb 27 11:33:23 CET 2007

A parte casi molto rari, laggiornamento del software consiste nel caricare una nuova versione di
uno dei packages presenti. Ad esempio, supponendo che sia disponibile la versione 1.1.2 (pi
recente di quella installata) del pacchetto HSDPA per la gestione del collegamento UMTS/HSDPA,
lutente riceve due file, chiamati HSDPA_1.1.2.tgz ed upgrade_hspa.sh e li copia sul suo server
TFTP.

Laggiornamento di tale pacchetto viene effettuato eseguendo la seguente sequenza di comandi:


download command-file hsdpa_1.1.2.tgz from 192.168.1.1
download command-file upgrade_hsdpa.sh from 192.168.1.1
shell sh upgrade_hsdpa.sh

I primi due comandi trasferiscono su Imola i due file ed il terzo provvede ad installare ed
attualizzare il nuovo modulo.

A partire dalle versioni di sistema operativo superiori alla versione x.3.0 disponibile il comando:
update nos <os-name.tgz> <ip-addr> [blksize <32-65464>]

il quale scarica tramite protocollo TFTP il file <os-name.tgz> contenente una versione completa del
firmware e la installa sul router, dopo aver effettuato tutti i controlli di integrit previsti. Il
parametro opzionale blksize se specificato viene utilizzato come block size per il trasferimento
tFTP.

E possibile specificare lindirizzo IP da utilizzare come sorgente dei pacchetti TFTP mediante il
comando
set tftp source <local-ipaddr>

oppure

set tftp source loopback

272
Gestione delle configurazioni aggiornamento software Imola User Guide

per specificare lindirizzo di loopback.

E anche possibile effettuare il trasferimento del firmware tramite protocollo FTP invece che TFTP
mediante il comando:

update nos <os-name.tgz> <ip-addr> via-ftp login <user> password <passwd>

273
CAVEAT Imola User Guide

CAVEAT

ESECUZIONE COMANDI CLI AL REBOOT DEL ROUTER


La maggior parte dei comandi CLI vengono rieseguiti automaticamente al boot del router, a patto
di aver provveduto al loro salvataggio prima dello spegnimento della macchina.

Tuttavia, per un insieme di comandi, tale regola non applicabile: per questi infatti lesecuzione in
effetto nel corso della sessione corrente non viene automaticamente richiamata dopo un restart del
router .

I comandi per i quali vanno applicate le precedenti considerazioni sono i seguenti:

set gre generic on


set nhrp on
set igmp-proxy on
set backup on
set ipsec on
ip
tc
iptables
smcroute
mii-tool
dhcprelay
vrrpd
create-tunnel
ifstate-mon
condition-mon
cpumon
detect-link-state

Per assicurare la loro esecuzione automatica, dopo un eventuale reboot del router, necessario
lanciare gli stessi in dipendenza di comandi di trigger (per maggiori dettagli a riguardo consultare il
capitolo relativo alla configurazione dei trigger ed alla gestione degli stati di backup).

Seguono alcuni esempi volti a chiarire limpiego di questo tipo di esecuzioni automatiche
programmate.

Ad esempio, supponendo di aver configurato un tunnel GRE nella sessione corrente, nel seguente
modo:
set gre generic tunnel-source 1.1.1.1
set gre generic tunnel-destination 2.2.2.2
set gre generic tunnel-addr 100.100.100.1/30
....

Con il comando set gre generic on il tunnel sar attivo per tutta la durata della sessione
corrente, ma non sar ripristinato al boot successivo.

274
CAVEAT Imola User Guide

Mediante il comando:
set autocmd set gre generic on

il tunnel sar eseguito anche al riavvio del router.

inoltre possibile condizionare lesecuzione di un comando ad una vasta gamma di eventi di


trigger, come ad esempio la disponibilit o meno di uninterfaccia o di un servizio.

A titolo di esempio, per subordinare lesecuzione del precedente Tunnel GRE alla disponibilit
dellinterfaccia GPRS, potr essere salvato sul router il seguente comando:
set trigger gprs up set generic gre on

In tal modo il tunnel verr attivato solo al momento della attivazione della interfaccia GPRS .

Linterfaccia si considera attiva quando ad essa vengono assegnati gli indirizzi IP classici di una
connessione punto-punto.

Per maggiori ragguagli sulle funzionalit accennate si rimanda al capitolo relativo alla
configurazione dei trigger ed alla gestione degli stati di backup.

ROUTING TABLES
Il comando set route viene utilizzato per aggiungere una rotta statica. Oltre ad aggiungere la
rotta, esso modifica la configurazione in modo tale che la stessa rotta verr aggiunta al prossimo
reboot (purch sia stato effettuato il salvataggio della configurazione).
set route host 1.2.3.4 dev atm0

Sono possibili vari modi alternativi per aggiungere delle rotte statiche. Ad esempio
set adsl pvc atm0 default-route

in questo modo viene attivata una rotta di default sull'interfaccia atm0. Oppure:

set adsl pcv atm0 no-default-route


set trigger adsl up ip route add 1.2.3.4 dev atm0

Il comando ip viene eseguito al momento della attivazione dell'interfaccia atm0 (ADSL). Pu essere
usato in varie forme tra le quali:
ip route add default dev atm0
ip route add default via <nexthop>

ip route add X.Y.Z.0/N dev atm0


ip route add X.Y.Z.0/N via <nexthop>

Le rotte aggiunte direttamente mediante il comando ip hanno precedenza rispetto alle rotte
aggiunte mediante il comando set route e a qualle acquisite tramite protocolli di routing.

PROTOCOLLO GRE
Sebbene lhelp lo preveda, lutilzzo della keyword gre allinterno di alcuni comandi potrebbe
produrre dei messaggi di errore. Questo succede ad esempio per i comandi: dei comandi:

iptables

275
CAVEAT Imola User Guide

set redirect
set source nat
set access-list

In tal caso invece della parola gre bisogna utilizzare il valore numerico 47.

ESEMPI DI CONFIGURAZIONE

DHCP server
Configurazione del servizio DHCP su una delle interfacce LAN del router (es. eth0) e distribuzione
di indirizzi IP, IP Wins, DNS e Domain Info.
set dhcp-server <DHCP-POOL-NAME> interface <INTERFACE>
set dhcp-server <DHCP-POOL-NAME> start-address <IP-START-ADDRESS>
set dhcp-server <DHCP-POOL-NAME> end-address <IP-END-ADDRESS>
set dhcp-server <DHCP-POOL-NAME> router <GATEWAY-IP>
set dhcp-server <DHCP-POOL-NAME> subnet <SUBNET-MASK>
set dhcp-server <DHCP-POOL-NAME> lease-time <LEASETIME(s)>
set dhcp-server <DHCP-POOL-NAME> dns <DNS1-IP-ADDR> <DNS2-IP-ADDR>
set dhcp-server <DHCP-POOL-NAME> wins <WINS-IP-ADDR>
set dhcp-server <DHCP-POOL-NAME> directive option domain <MYDOMAIN>
set dhcp-server <DHCP-POOL-NAME> on

Nel caso in cui si avesse bisogno di specificare pi indirizzi WINS da distribuire, al posto del
precedente comando:
set dhcp-server <DHCP-POOL-NAME> wins <WINS-IP-ADDRESS>

opportuno utilizzare il seguente:


set dhcp-server <DHCP-POOL-NAME> directive option wins <IPADDR1> <IPADDR2>

Configurando il servizio per pi di un <DHCP-POOL-NAME>, possibile lattivazione di DHCP server


multipli sullo stesso apparato, ma su interfacce differenti. Esempio di valorizzazione:
set dhcp-server pool1 interface eth0
set dhcp-server pool1 start-address 192.168.24.50
set dhcp-server pool1 end-address 192.168.24.70
set dhcp-server pool1 router 192.168.24.1
set dhcp-server pool1 subnet 255.255.255.128
set dhcp-server pool1 lease-time 864000
set dhcp-server pool1 dns 10.1.82.6 10.1.84.5
set dhcp-server pool1 directive option wins 10.1.80.38 10.1.80.39
set dhcp-server pool1 directive option domain tiesse.com
set dhcp-server pool1 on

Per utilizzare le possibili opzione del servizio DHCP si consulti il capitolo relativo.

276
CAVEAT Imola User Guide

VLAN in modalit access


Le porte dello switch del router Imola possono essere ripartire in VLAN distinte, ognuno con il suo
indirizzo ip. Ad esempio, possiamo assegnare alla singola porta un indirizzo ip specifico:
set switch port 1 mode access
set switch port 1 vid 10
set switch port 2 mode access
set switch port 2 vid 20
set switch port 3 mode access
set switch port 3 vid 30
set switch port 4 mode access
set switch port 4 vid 40
set switch port 5 mode access
set switch port 5 vid 50
set switch on

set vlan add vid 10 interface eth1


set vlan add vid 20 interface eth1
set vlan add vid 30 interface eth1
set vlan add vid 40 interface eth1
set vlan add vid 50 interface eth1

set vlan eth1.10 ipaddr 192.168.10.1 netmask 255.255.255.0


set vlan eth1.20 ipaddr 192.168.20.1 netmask 255.255.255.0
set vlan eth1.30 ipaddr 192.168.30.1 netmask 255.255.255.0
set vlan eth1.40 ipaddr 192.168.40.1 netmask 255.255.255.0
set vlan eth1.50 ipaddr 192.168.50.1 netmask 255.255.255.0

VLAN in modalit trunk


E possibile configurare le singole porte dello switch in modalit Trunk in modo tale che vengano
gestiti i pacchetti con il tag 802.1q. Ad esempio con i comandi:
set switch port 1 mode trunk
set switch port 1 allow vid 2
set switch port 1 allow vid 3
set switch port 1 allow vid 4

set switch port 2 mode access vid 10


set switch port 3 mode access vid 10
set switch port 4 mode access vid 10
set switch port 5 modem access vid 10
set switch on

set vlan add vid 2 interface eth1

277
CAVEAT Imola User Guide

set vlan add vid 3 interface eth1


set vlan add vid 4 interface eth1
set vlan add vid 10 interface eth1

set vlan eth1.2 ipaddr 192.168.2.1 netmask 255.255.255.0


set vlan eth1.3 ipaddr 192.168.3.1 netmask 255.255.255.0
set vlan eth1.4 ipaddr 192.168.4.1 netmask 255.255.255.0
set vlan eth1.10 ipaddr 192.168.10.1 netmask 255.255.255.0

si stabilisce che sulla porta 1 dello switch possono transitare pacchetti Ethernet contenenti i tag
(VLAN id) 802.1q 2, 3 e 4 e questi saranno consegnati rispettivamente alle VLAN eth1.2, eth1.3 ed
eth1.4, mentre sulle restanti porte possono transitare i pacchetti Ethernet senza il tag 802.1q e
questi saranno consegnati allinterfaccoia eth1.10

ADSL con NAT di un ip pubblico e LAN cliente con ip privati


Viene descritta una configurazione di base per linterfaccia ADSL (RFC 1483) con NAT sulla Punto-
Punto e rotta di default sullinterfaccia. Vengono inoltre configurati un ip privato sullinterfaccia
eth1 ed un indirizzo ip di management sullinterfaccia eth0.
set eth0 ipaddr 10.10.113.1 netmask 255.255.255.252
set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <PRIVATE-NETMASK>


set eth1 on

set adsl encap rfc1483-llc


set adsl pvc-number 1
set adsl pvc atm0 pcr 0
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 ipaddr <PTP-IP-ADDRESS>
set adsl pvc atm0 no-nexthop
set adsl pvc atm0 netmask 255.255.255.252
set adsl pvc atm0 default-route
set adsl pvc atm0 masquerade
set adsl on

Esempio di valorizzazione:

set eth0 ipaddr 10.10.113.1 netmask 255.255.255.252


set eth0 on

set eth1 ipaddr 192.168.1.254 netmask 255.255.255.0


set eth1 on

set adsl encap rfc1483-llc


set adsl pvc-number 1
set adsl pvc atm0 ipaddr 85.34.147.98

278
CAVEAT Imola User Guide

set adsl pvc atm0 netmask 255.255.255.252


set adsl pvc atm0 no-nexthop
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 pcr 0
set adsl pvc atm0 default-route
set adsl pvc atm0 masquerade
set adsl on

ADSL con un pool di ip pubblici e un pool di ip privati


Viene descritta una configurazione di base per linterfaccia ADSL con ip privato sullinterfaccia LAN
eth1 ed un indirizzo ip del pool di indirizzi pubblici sullinterfaccia eth0.

Al fine di permettere lo scambio dati con lesterno viene impostata una regola di NAT per i pacchetti
provenienti dalla LAN privata.

set eth0 ipaddr <PUBLIC-IP> netmask <NETMASK-IP-PUBLIC>


set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-IP-PRIVATE>


set eth1 on

set adsl encap rfc1483-llc


set adsl pvc-number 1
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 service UBR
set adsl pvc atm0 pcr 0
set adsl pvc atm0 default-route
set adsl pvc atm0 no-masquerade
set adsl pvc atm0 ipaddr <PTP-IP-ADDRESS>
set adsl pvc atm0 no-nexthop
set adsl pvc atm0 netmask 255.255.255.252
set adsl on

set iptables -t nat -A POSTROUTING -s <PRIVATE_LAN>/N -o atm0 -j SNAT --to


<PUBLIC-IP>

Esempio di valorizzazione:

set eth0 ipaddr 80.21.88.177 netmask 255.255.255.240


set eth0 on

set eth1 ipaddr 192.168.1.254 netmask 255.255.255.0


set eth1 on

set adsl encap rfc1483-llc


set adsl pvc-number 1
set adsl description 054113517692

279
CAVEAT Imola User Guide

set adsl pvc atm0 vpi 8 vci 35


set adsl pvc atm0 service UBR
set adsl pvc atm0 pcr 0
set adsl pvc atm0 default-route
set adsl pvc atm0 no-masquerade
set adsl pvc atm0 ipaddr 94.94.112.186
set adsl pvc atm0 netmask 255.255.255.252
set adsl on

set iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o atm0 -j SNAT --to 80.21.88.177

Connessione HDSL
Viene descritta una configurazione di base per linterfaccia HDSL con ip privato sullinterfaccia LAN
eth1 ed un indirizzo ip pubblico sullinterfaccia eth0.

Al fine di permettere lo scambio dati con lesterno viene impostata una regola di NAT per i pacchetti
provenienti dalla LAN privata.
set eth0 ipaddr <PUBLIC-IP> netmask <NETMASK-IP-PUBLIC>
set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-IP-PRIVATE>


set eth1 on

set wan protocol frame-relay


set wan mode v35
set frame-relay baud-rate external
set frame-relay station dte
set frame-relay lmi-type <LMI-TYPE>
set frame-relay pvc pvc0 dlci <DLCI-NUMBER>
set frame-relay pvc pvc0 ipaddr <PTP-IP-ADDR> nexthop <PEER-IP-ADDR>
set frame-relay pvc pvc0 default-route
set frame-relay pvc pvc0 no-masquerade
set frame-relay pvc pvc0 mtu 1500
set frame-relay on

set iptables -t nat -A POSTROUTING -s <PRIVATE-LAN>/N -o pvc0 -j SNAT --to


<PUBLIC-IP>

Esempio di valorizzazione:
set eth0 ipaddr 80.21.88.177 netmask 255.255.255.240
set eth0 on

set eth1 ipaddr 192.168.1.254 netmask 255.255.255.0


set eth1 on

280
CAVEAT Imola User Guide

set wan protocol frame-relay


set wan mode v35
set frame-relay baud-rate external
set frame-relay station dte
set frame-relay lmi-type ansi
set frame-relay pvc pvc0 dlci 261
set frame-relay pvc pvc0 ipaddr 85.46.113.142 nexthop 85.46.113.141
set frame-relay pvc pvc0 default-route
set frame-relay pvc pvc0 no-masquerade
set frame-relay pvc pvc0 mtu 1500
set frame-relay on

set iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o pvc0 -j SNAT --to 80.21.88.177

GPRS su APN pubblica (navigazione internet)


Viene descritta una configurazione di base per linterfaccia GPRS con profilo di connessione
pubblico (Internet), con ip di management su interfaccia eth0 ed ip privato su interfaccia LAN eth1.
Al fine di permettere lo scambio dati con lesterno (Internet), linterfaccia GPRS viene configurata in
modo tale da effettuare PAT.
set eth0 ipaddr 10.10.113.1 netmask 255.255.255.252
set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-IP-PRIVATE>


set eth1 on

set gprs apn ibox.tim.it


set gprs auto-network
set gprs idle 0
set gprs rx-idle 1800
set gprs masquerade
set gprs default-route
set gprs mtu 1500
set gprs usepeerdns
set gprs debug
set gprs sgauth 1
set gprs speed 230400
set gprs pwroff-modem
set gprs on

Esempio di valorizzazione:

set eth0 ipaddr 10.10.113.1 netmask 255.255.255.252


set eth0 on

set eth1 ipaddr 192.168.1.254 netmask 255.255.255.0

281
CAVEAT Imola User Guide

set eth1 on

set gprs apn ibox.tim.it


set gprs auto-network
set gprs idle 0
set gprs rx-idle 1800
set gprs masquerade
set gprs default-route
set gprs mtu 1500
set gprs usepeerdns
set gprs debug
set gprs vjc
set gprs sgauth 1
set gprs speed 230400
set gprs pwroff-modem
set gprs on

GPRS su APN privata con tunnel GRE


Viene descritta una configurazione di base per linterfaccia GPRS con profilo di connessione basato
su APN Privata, con ip di management su interfaccia eth0 ed ip privato su interfaccia LAN eth1. La
connessione della LAN interna privata con la sede Master al centro viene effettuata con la
configurazione di un tunnel GRE (con KeepAlive) con rotta di default.

Per il corretto funzionamento del tunnel, lindirizzo ip rilasciato allinterfaccia mobile deve essere
statico.
set eth0 ipaddr 10.10.113.1 netmask 255.255.255.252
set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-IP-PRIVATE>


set eth1 on

set gprs apn <PRIVATE-APN>


set gprs login <APN-USER> password <APN-PASSWORD>
set gprs idle 0
set gprs rx-idle 1800
set gprs mtu 1476
set gprs usepeerdns
set gprs debug
set gprs vjc
set gprs no-default-route
set gprs no-masquerade
set gprs speed 230400
set gprs pwroff-modem
set gprs no-sms-handle
set gprs on

282
CAVEAT Imola User Guide

set gre tun0 tunnel-source <GPRS-IP-ADDRESS>


set gre tun0 tunnel-destination <GRE-DESTINATION>
set gre tun0 tunnel-address <GRE-IP-ADDRESS>/30
set gre tun0 tunnel-peer <GRE-PEER-IP-ADDRESS>/30
set gre tun0 multicast
set gre tun0 ttl 64
set gre tun0 mtu 1452
set gre tun0 keepalive-intval 10
set gre tun0 keepalive-retries 6
set gre tun0 on

set route host <GRE-DESTINATION> dev ppp0


set route net 0.0.0.0 netmask 0.0.0.0 dev tun0

set autocmd set gre tun0 on

Lautenticazione verso il RADIUS avviene sia in modalit dinamica sia CHAP che PAP. Qualora il
RADIUS non supporti lautenticazione CHAP ma solo quella PAP, allora necessario aggiungere i
seguenti comandi:

set gprs sgauth 1


set gprs directive refuse-chap

Esempio di valorizzazione:
set eth0 ipaddr 10.10.113.1 netmask 255.255.0.0
set eth0 on

set eth1 ipaddr 192.168.1.254 netmask 255.255.255.0


set eth1 on

set gprs apn intranet.tim.it


set gprs login tiesse1 password tiesse2
set gprs idle 0
set gprs rx-idle 1800
set gprs mtu 1476
set gprs usepeerdns
set gprs debug
set gprs sgauth 1
set gprs no-default-route
set gprs no-masquerade
set gprs speed 230400
set gprs pwroff-modem
set gprs no-sms-handle
set gprs on

set gre tun0 tunnel-source 172.30.16.2

283
CAVEAT Imola User Guide

set gre tun0 tunnel-destination 10.1.50.29


set gre tun0 tunnel-address 172.30.0.9/30
set gre tun0 tunnel-peer 172.30.0.10/30
set gre tun0 multicast
set gre tun0 ttl 64
set gre tun0 mtu 1452
set gre tun0 keepalive-intval 10
set gre tun0 keepalive-retries 6
set gre tun0 on

set route host 10.1.50.29 dev ppp0


set route net 0.0.0.0 netmask 0.0.0.0 dev tun0

set autocmd set gre tun0 on

ISDN con indirizzo dinamico ricevuto dal POP E NAT


sullinterfaccia ISDN
Viene descritta una configurazione di base per linterfaccia ISDN con indirizzi ip dinamici e NAT
sullinterfaccia (PAT).

set eth0 ipaddr 10.10.113.1 netmask 255.255.255.252


set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-IP>


set eth1 on

set isdn dialer ippp1 eaz 999999


set isdn dialer ippp1 out-number <NUMBER-TO-DIAL>
set isdn dialer ippp1 login <isdn-USER> password <isdn-PASSWORD>
set isdn dialer ippp1 huptimeout 60
set isdn dialer ippp1 masquerade
set isdn dialer ippp1 default-route
set isdn dialer ippp1 dialmode auto
set isdn dialer ippp1 accept-remote-ip
set isdn dialer ippp1 no-accept-local-ip
set isdn dialer ippp1 ipaddr 0.0.0.0
set isdn dialer ippp1 on

ISDN senza NAT con indirizzo statico


Viene descritta una configurazione di base per linterfaccia ISDN con indirizzi ip impostati
staticamente sullinterfaccia. La configurazione prevede una LAN eth0 di management, una LAN
eth1 privata e NAT sullinterfaccia (PAT).

set eth0 ipaddr 10.10.113.1 netmask 255.255.255.251

284
CAVEAT Imola User Guide

set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-IP-PRIVATE>


set eth1 on

set isdn dialer ippp1 eaz 999999


set isdn dialer ippp1 out-number <NUMBER-TO-DIAL>
set isdn dialer ippp1 login <isdn-USER> password <isdn-PASSWORD>
set isdn dialer ippp1 huptimeout 360
set isdn dialer ippp1 no-masquerade
set isdn dialer ippp1 default-route
set isdn dialer ippp1 dialmode auto
set isdn dialer ippp1 accept-remote-ip
set isdn dialer ippp1 accept-local-ip
set isdn dialer ippp1 ipaddr <IP_isdn>
set isdn dialer ippp1 nexthop <IP_NEXTHOP>
set isdn dialer ippp1 on

ADSL con backup su GPRS


Viene descritta una configurazione base esemplificativa per collegamento primario ADSL pubblico
con backup su GPRS . Viene configurato un indirizzamento privato interno sulla LAN eth1 ed un
indirizzo ip del pool di indirizzi pubblici sullinterfaccia eth0.

Al fine di permettere lo scambio dati con lesterno viene impostata una regola di NAT per i pacchetti
provenienti dalla LAN privata.

set eth0 ipaddr 10.10.113.1 netmask 255.255.255.252


set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-IP-PRIVATE>


set eth1 on

set gprs apn ibox.tim.it


set gprs idle 0
set gprs rx-idle 1800
set gprs no-default-route
set gprs masquerade
set gprs mtu 1500
set gprs usepeerdns
set gprs debug
set gprs sgauth 1
set gprs pwroff-modem
set gprs off

set adsl encap rfc1483-llc


set adsl pvc-number 1

285
CAVEAT Imola User Guide

set adsl pvc atm0 vpi 8 vci 35


set adsl pvc atm0 service UBR
set adsl pvc atm0 pcr 0
set adsl pvc atm0 no-default-route
set adsl pvc atm0 no-masquerade
set adsl pvc atm0 ipaddr <PTP-IP-ADDRESS>
set adsl pvc atm0 no-nexthop
set adsl pvc atm0 netmask 255.255.255.252
set adsl on

set backup checking-ipaddr <PUBLIC-IP> via bfd through-interface atm0


set backup check-interval 30
set backup check-retries 3
set backup check-wait 5
set backup deactivate-delay 30
set backup on

set trigger backup up set gprs on


set trigger backup down set gprs off

set route net 0.0.0.0 netmask 0.0.0.0 dev atm0 distance 10


set route net 0.0.0.0 netmask 0.0.0.0 dev ppp0 distance 5

set iptables -t nat -A POSTROUTING -s <PRIVATE-LAN>/N -o atm0 -j SNAT --to < PUBLC-IP>

set autocmd set backup on


set autocmd set gprs off

Esempio di valorizzazione:

set eth0 ipaddr 2.21.172.162 netamsk 255.255.255.248


set eth0 on

set eth1 ipaddr 192.168.1.254 netmask 255.255.255.0


set eth1 on

set gprs apn ibox.tim.it


set gprs idle 0
set gprs rx-idle 1800
set gprs no-default-route
set gprs masquerade
set gprs mtu 1500
set gprs usepeerdns
set gprs debug
set gprs sgauth 1
set gprs pwroff-modem

286
CAVEAT Imola User Guide

set gprs off

set adsl encap rfc1483-llc


set adsl pvc-number 1
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 service UBR
set adsl pvc atm0 pcr 0
set adsl pvc atm0 no-default-route
set adsl pvc atm0 no-masquerade
set adsl pvc atm0 ipaddr 88.34.53.2
set adsl pvc atm0 no-nexthop
set adsl pvc atm0 netmask 255.255.255.252
set adsl on

set backup checking-ipaddr 2.21.172.162 via bfd through-interface atm0

set backup check-interval 30


set backup check-retries 3
set backup check-wait 5
set backup deactivate-delay 30
set backup on

set trigger backup up set gprs on

set trigger backup down set gprs off

set route net 0.0.0.0 netmask 0.0.0.0 dev atm0 distance 10


set route net 0.0.0.0 netmask 0.0.0.0 dev ppp0 distance 5

set iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o atm0 -j SNAT --to 2.21.172.162

set autocmd set backup on


set autocmd set gprs off

ADSL con backup su GPRS con invio segnalazione backup


via SMS
Viene descritta una configurazione base esemplificativa per collegamento primario ADSL pubblico
con backup su GPRS.

Viene configurato un indirizzamento privato interno sulla LAN eth1 ed un indirizzo ip del pool di
indirizzi pubblici sullinterfaccia eth0.

Al fine di permettere lo scambio dati con lesterno, viene impostata una regola di NAT per i
pacchetti provenienti dalla LAN privata. Inoltre viene impostata la segnalazione della condizione di
Backup via SMS verso un determinato numero telefonico.

287
CAVEAT Imola User Guide

set eth0 ipaddr <PUBLIC-IP> netmask <NETMASK-IP-PUBLIC>


set eth0 on

set eth1 ipaddr <PRIVATE-IP> netmask <NETMASK-PRIVATE>


set eth1 on

set gprs apn ibox.tim.it


set gprs idle 0
set gprs rx-idle 1800
set gprs no-default-route
set gprs masquerade
set gprs mtu 1500
set gprs debug
set gprs sgauth 1
set gprs pwroff-modem
set gprs sms-handle
set gprs off

set adsl encap rfc1483-llc


set adsl pvc-number 1
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 service UBR
set adsl pvc atm0 pcr 0
set adsl pvc atm0 no-default-route
set adsl pvc atm0 no-masquerade
set adsl pvc atm0 ipaddr <PTP-IP-ADDRESS>
set adsl pvc atm0 no-nexthop
set adsl pvc atm0 netmask 255.255.255.252
set adsl on

set backup checking-ipaddr <IP-PUBLIC> via bfd through-interface atm0


set backup check-interval 30
set backup check-retries 3
set backup check-wait 5
set backup deactivate-delay 30
set backup on

set trigger backup up send-sms -d <TEL-NUMBER> adsl DOWN ATTIVAZIONE BACKUP


set trigger backup up set gprs on

set trigger backup down send-sms -d <TEL-NUMBER> adsl UP DISATTIVAZIONE BACKUP


set trigger backup down set gprs off

set route net 0.0.0.0 netmask 0.0.0.0 dev atm0 distance 10


set route net 0.0.0.0 netmask 0.0.0.0 dev ppp0 distance 5

288
CAVEAT Imola User Guide

set iptables -t nat -A POSTROUTING -s <PRIVATE-LAN>/N -o atm0 -j SNAT --to <PUBLIC-IP>

set autocmd set backup on


set autocmd set gprs off

Nel caso in cui si vuol ripetere periodicamente ogni giorno alle ore 12:05 linvio del messaggio SMS
fino a quando la linea viene ripristinata bisogna aggiungere i seguenti comandi:
set cron repeat-sms hour 12 min 5
set cron repeat-sms command send-sms -d <PHO-NUM> adsl DOWN BACKUP ACTIVATED
set trigger backup up set cron on
set trigger backup down set cron down

Esempio di valorizzazione:

set eth0 ipaddr 2.21.172.162 netamsk 255.255.255.248


set eth0 on

set eth1 ipaddr 192.168.1.254 netmask 255.255.255.0


set eth1 on

set gprs apn ibox.tim.it


set gprs idle 0
set gprs rx-idle 1800
set gprs no-default-route
set gprs masquerade
set gprs mtu 1500
set gprs debug
set gprs sgauth 1
set gprs pwroff-modem
set gprs sms-handle
set gprs off

set adsl encap rfc1483-llc


set adsl pvc-number 1
set adsl pvc atm0 vpi 8 vci 35
set adsl pvc atm0 service UBR
set adsl pvc atm0 pcr 0
set adsl pvc atm0 default-route
set adsl pvc atm0 no-masquerade
set adsl pvc atm0 ipaddr 88.34.53.2
set adsl pvc atm0 no-nexthop
set adsl pvc atm0 netmask 255.255.255.252
set adsl on

set backup checking-ipaddr 2.21.172.162 via bfd through-interface atm0

set backup check-interval 30

289
CAVEAT Imola User Guide

set backup check-retries 3


set backup check-wait 5
set backup deactivate-delay 30
set backup on

set trigger backup up send-sms -d 3333333333 ADLS DOWN ATTIVAZIONE Backup


set trigger backup up set gprs on

set trigger backup down send-sms -d 3333333333 ADLS UP DISATTIVAZIONE BACKUP


set trigger backup down set gprs sms

set route net 0.0.0.0 netmask 0.0.0.0 dev atm0 distance 10


set route net 0.0.0.0 netmask 0.0.0.0 dev ppp0 distance 5

set iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o atm0 -j SNAT --to 2.21.172.162

set autocmd set backup on


set autocmd set gprs sms

QoS Per connessione ADSL


Nella configurazione che segue viene considerato il caso di impostazione regole di QoS su
collegamento ADSL. Sulla policy non viene specificata banda, Imola assegna la banda calcolata in
fase di allineamento del cpe alla centrale.

Alla classe RT viene assegnato il traffico voce, la banda specificata tiene conto delloverhead ATM.
Viene inoltre assegnata la massima priorit (1), viene assegnato il traffico con IPP 5 e il traffico con
DSCP 46. Il traffico non classificato viene assegnato alla classe BE, ad essa viene assegnato il 100%
della banda rimanente.

set no-qos-ext

set qos-ext policy voip


set qos-ext policy voip interface atm0

set qos-ext class RT


set qos-ext class RT policy voip
set qos-ext class RT filter priority 1
set qos-ext class RT bandwidth 90
set qos-ext class RT filter match ipp 5
set qos-ext class RT filter match dscp 46

set qos-ext class BE


set qos-ext class BE policy voip
set qos-ext class BE default
set qos-ext class BE bandwidth percent 100

290
CAVEAT Imola User Guide

set trigger adsl up set qos-ext on


set trigger adsl down set qos-ext off

QoS PER CONNESSIONE HDSL


Nella configurazione che segue viene considerato il caso di impostazione regole di QoS su
collegamento HDSL. Sulla policy viene specificata una banda che tiene conto delloverhead. Alla
classe RT viene assegnato il traffico voce, la banda specificata tiene conto delloverhead frame-relay
e del fatto che i pacchetti voce sono piccoli.

Alla stessa classe viene assegnata la massima priorit (1) e viene assegnato il traffico con IPP 5 e il
traffico con DSCP 46. Il traffico non classificato viene assegnato alla classe BE: ad essa viene
assegnato il 100% della banda rimanente.
set no-qos-ext
set qos-ext policy voip
set qos-ext policy voip interface hdlc0
set qos-ext policy voip bandwidth 1650

set qos-ext class RT


set qos-ext class RT policy voip
set qos-ext class RT filter priority 1
set qos-ext class RT bandwidth 86
set qos-ext class RT filter match ipp 5
set qos-ext class RT filter match dscp 46

set qos-ext class BE


set qos-ext class BE policy voip
set qos-ext class BE default
set qos-ext class BE bandwidth percent 100
set autocmd set qos-ext on

Configurazione LOOPBACK
set loopback ipaddr <ip-address>
set loopback on

Configurazione SNMP
set snmp directive agentaddress <local-ip-address>
set snmp community <nome-community-read> access ro
set snmp community <nome-community-rw> access rw
set snmp traphost <ip-address-manager>
set snmp trap-source loopback
set snmp no-specific-interface
set snmp on

291
CAVEAT Imola User Guide

Lopzione
set snmp directive agentaddress

deve essere ripetuta per ogni indirizzo su cui si vogliono ricevere richieste SNMP.

Configurazione TACACS
set tacacs authhost <ip-address-server>
set tacacs retries 2
set tacacs timeout 2
set tacacs key <password>
set tacacs source loopback
set tacacs on

E possibile specificare pi di un server:


set tacacs authhost 192.168.1.1 192.168.1.2

Per attivare lAccounting:


set tacacs do-accounting

Per attivare lAutorizzazione:


set tacacs do-authorization

Configurazione RADIUS
set radius authhost <ip-address-server>
set radius accthost <ip-address-server>
set radius retries 2
set radius timeout 1
set radius secret <ip-address-server> <password>
set radius source loopback
set radius on

La porta di default utilizzata 1812 per le richieste di Autenticazione e 1813 per le richieste di
accounting.

E possibile specificare pi di un server e utilizzare una porta diversa da quelle di default usando la
seguente sintassi:

set radius authhost 192.168.1.1:1645 192.168.1.2:1645


set radius accthost 192.168.1.1:1646 192.168.1.2:1646

Configurazione BANNER
Per configurare un banner di sistema a bordo di un router Tiesse vengono impiegati comandi aventi
la seguente sintassi:

set banner <STRING_1>


: :

292
CAVEAT Imola User Guide

set banner <STRING_N>


set banner on

i quali costituiscono una sequenza di direttive con cui si costruisce sull'apparato la pagina da
visualizzare durante l'accesso remoto al router.

Con l'ultimo comando set banner on, il router attiva la modalita' di display del banner di sistema
e lo rende visibile durante accessi dall'esterno autenticati via radius o tacacs

Segue un esempio di template generico utile per la costruzione di un proprio banner:


set banner .
set banner .
set banner . ....:::: This is a banner message Title ::::....
set banner Banner Subtitle
set banner -----------------------------------------------
set banner .
set banner .
set banner . Banner row 1
set banner . Banner row 2
set banner . Banner row 3
set banner . Banner row 4
set banner .
set banner .
set banner . -- Vietato ogni accesso non autorizzato vietato --
set banner . --------- Unauthorized access is denied -----------
set banner .
set banner on

Si presti attenzione al fatto che sfortunatamente, il router ha una limitazione intrinseca nel gestire
input da tastiera relativamente a caratteri classificati come speciali, ad esempio: "$", "%", "/", "&" e
simili.

Per aggirare detta restrizione e` possibile utilizzare ugualmente tali caratteri, preparando il proprio
banner in un semplice file di testo. In tal modo sara` possibile utilizzare tutti i caratteri ASCII senza
limiti.

293