sabato, Maggio 18, 2024
Home Blog Page 92

Componenti interni di un router Cisco

[toc style=”margin-top:5px”]

Componenti interni di un router Cisco

RAM/DRAM

Nella memoria RAM è presente l’attuale configurazione e riserva anche l’ARP cache, fast-switching cache, il buffer occupato dai pacchetti e le tabelle di routing. Il contenuto della RAM si perde allo spegnimento o reboot del router.

Cisco e TFTP

[toc]

Introduzione

E’ bene, se dobbiamo eseguire delicate operazioni su di un router, eseguire il backup dell’IOS a fronte anche di evitare i soliti “ho dato un erase flash per sbaglio”. Per fare ciò, entra in gioco il protocollo TFTP (Trivial File Transfer Protocol) ovvero l’equivalente del protocollo FTP con la sostanziale differenza di utilizzo del protocollo di trasmissione UDP e non TCP. Questa caratteristica non assicura la corretta ricezione di tutti i pacchetti.

Il protocollo TFTP, visto la sua limitatezza, è utilizzato solitamente per il trasferimento file tra un computer e un apparato di rete quale switch o router.

Una sessione TFTP prevede i seguenti cinque tipi di pacchetti:

  • RR: Read Request (Richiesta di lettura);
  • WR Write Request (Richiesta di scrittura);
  • DATA: Byte di dati;
  • ACK: Acknowledgment (Accettazione della sessione e/o pacchetto)
  • ERR: Errore;

Installazione di un TFTP server

Non sto qui a spiegare il procedimento di installazione su Windows in quanto molto banale: cerchiamo su Google un qualsiasi server TFTP, ad esempio PumpKin e lo installiamo. Per quanto riguarda Linux io consiglio di installare atftpd come TFTP Server. Su Debian è sufficiente un semplice:

# apt-get install atftpd

Apt-get, come sempre, scaricherà il pacchetto e lo installerà, preoccupandosi anche di avviare fin da subito il servizio tftpd. Il servizio TFTP è in ascolto sulla porta 69. Se non avete a vostra disposizione apt-get, potete usare il gestore di pacchetti della vostra distribuzione o comunque scarivarvi i sorgenti e compilarveli.

Una volta installato, creiamo la directory in cui il demone TFTP lavorerà e avviamo atftpd come segue:

$ mkdir /tftpboot
$ /usr/sbin/atftpd --daemon --no-multicast --group nobody --tftpd-timeout 0 -m 1000 /tftpboot

Ma a cosa può servire nel nostro caso avere un server TFTP? Come detto precedentemente, questo protocollo è solitamente utilizzato per trasferimenti di file tra un computer e un apparato di rete. L’IOS dei router Cisco predispone svariati comandi per sfruttare il TFTP che ci sarà utile per fare, ad esempio, il backup e/o upload del nostro IOS o della configurazione. Tengo a specificare, comunque, che un TFTP server non deve essere necessariamente un computer ma tranquillamente anche un altro router.

Bene. Prestiamoci ora a far interagire il router con il nostro TFTP server. Per prima cosa assicuriamoci che i due abbiano la facoltà di comunicare attraverso TCP/IP. Proviamo, quindi, dal router a pingare l’indirizzo IP del server TFTP:

router#ping 192.168.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
router#

Corretto. Il router pinga il server TFTP.
Vediamo cosa possiamo fare sfruttando tale servizio. L’IOS mette a disposizione vari comandi come copy flash tftp, copy tftp flash e altri che ora vedremo.

Backup dell’IOS: copy flash tftp

Questo comando serve per copiare (copy) il contenuto della memoria flash cioè l’IOS (flash) all’interno del nostro server TFTP (tftp). In sostanza facciamo un backup dell’immagine dell’IOS per salvaguardarci da ipotetiche problematiche legate a operazioni “delicate” come l’aggiornamento dell’IOS stesso.

Prima ci siamo assicurati che il router e il server TFTP potessero comunicare tramite TCP/IP. Assicuriamoci anche che il servizio TFTP sia effettivamente avviato nel server. Nota importante: nei sistemi operativi Unix occorre prima creare un file che abbia lo stesso nome con il quale salveremo l’IOS. Poniamo quindi il caso di avere, nel nostro router, un IOS di nome c2600-js-mz.122-11.T1.bin e di voler salvarlo nel nostro server.

Nella directory del TFTP (di solito /tftpboot) creeremo, quindi, il file omonimo e gli assegneremo anche i corretti permessi:

debian:/tftpboot# touch c2600-js-mz.122-11.T1.bin
debian:/tftpboot# ls
c2600-js-mz.122-11.T1.bin
debian:/tftpboot#
debian:/tftpboot# chmod a+w c2600-js-mz.122-11.T1.bin
debian:/tftpboot#

Bene. Ora, nel router, possiamo procedere con il backup dell’IOS sul server TFTP:

router# copy flash tftp
Source filename []? c2600-js-mz.122-11.T1.bin
Address or name of remote host []? 192.168.0.2
Destination filename [c2600-js-mz.122-11.T1.bin]?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!
15771048 bytes copied in 48.908 secs (322464 bytes/sec)

Fatto. Abbiamo appena salvato l’IOS. Questi comandi sono facilmente interpretabili: copia il contenuto della memoria flash all’interno del server TFTP.

Backup della configurazione: copy running/startup-config tftp

Abbiamo a nostra disposizione due comandi: copy running-config tftp e copy startup-config tftp che rispettivamente servono a copiare e salvare la configurazione attuale (cioè quella che il router utilizza in questo momento preciso ma che non è detto che sia la configurazione di startup) e quella appunto di startup.

router#copy startup-config tftp
Address or name of remote host []? 192.168.0.2
Destination filename [cisco2600-confg]?
!!
964 bytes copied in 0.044 secs (21909 bytes/sec)
router#

o comunque running-config a seconda di quello che serve.

Aggiornamento dell’IOS: copy tftp flash

Quando abbiamo la necessità di implementare e utilizzare una nuova tecnologia o servizio, può accadere che l’IOS attualmente in uso nel nostro router o switch che sia, non sia più in grado di adempiere a quanto da noi voluto. Questo perchè esiste un IOS per ogni tipologia di feauture. Procuriamoci, pertanto, il nuovo IOS e mettiamolo in /tftpboot del server TFTP. Dopo di che:

Password:
cisco2600>en
Password:
router#
router#copy tftp flash
Address or name of remote host []? 192.168.0.2
Source filename []? c2600-ipbase-mz.123-13.bin
Destination filename [c2600-ipbase-mz.123-13.bin]?
Accessing tftp://192.168.0.2/c2600-ipbase-mz.123-13.bin...
Erase flash: before copying? [confirm]
Erasing the flash filesystem will remove all files! Continue? [confirm]
Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeee
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ...erasedee
Erase of flash: complete
Loading c2600-ipbase-mz.123-13.bin from 192.168.0.2 (via FastEthernet0/1):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 9507696 bytes]
Verifying checksum... OK (0x7CE9)
9507696 bytes copied in 66.360 secs (143275 bytes/sec)
router#

Poniamo attenzione a questa domanda: Erase flash: before copying? [confirm]. Se confermiamo, tutto il contenuto della memoria flash verrà cancellato. Ricordo che la memoria flash è in grado di contenere molteplici versioni di IOS, quindi possiamo anche rispondere “No”.
Il nuovo IOS è appena stato copiato dentro la memoria flash del nostro router. Ora, per far sì che il router utilizzi il nuovo IOS, lo dobbiamo riavviare. Quindi:

router#reload
Proceed with reload? [confirm]
*Mar 1 01:01:43.623: %SYS-5-RELOAD: Reload requested by console. Reload Reason: Reload command.
System Bootstrap, Version 12.2(7r) [cmong 7r], RELEASE SOFTWARE (fc1)
Copyright (c) 2002 by cisco Systems, Inc.
C2600 platform with 65536 Kbytes of main memory

Una volte terminato il reload, verichiamo che effettivamente il router abbia caricato il nuovo IOS:

router#sh flash
System flash directory:
File Length Name/status
1 9507696 c2600-ipbase-mz.123-13.bin
[9507760 bytes used, 6745164 available, 16252924 total]
16384K bytes of processor board System flash (Read/Write)
router#

Come possiamo vedere dall’output del comando, abbiamo il nostro nuovo IOS.

Aggiornamento della configurazione: copy tftp startup-config/running-config

Poniamo il caso di dover cambiare la configurazione del nostro Cisco. Se sono cambiamenti minimi, li possiamo effettura manualmente. Al contrario, se sono radicali, apportarli manualmente è solo uno spreco di tempo. Se abbiamo un file di configurazione già fatto e pronto a essere usato, possiamo usare il comando copy tftp startup-config per caricare direttamente l’intera nuova configurazione.

router#copy tftp startup-config
Address or name of remote host []? 192.168.0.2
Source filename []? new_config
Destination filename [startup-config]?
Accessing tftp://192.168.0.2/new_config...
Loading new_config from 192.168.0.2 (via FastEthernet0/1): !
[OK - 3110 bytes]
Smart-init will be enabled upon reload.
[OK]
3110 bytes copied in 9.964 secs (312 bytes/sec)
router#

Ecco fatto, abbiamo appena copiato la nuova configurazione nella memoria NVRAM. Stiamo attenti a fare questo. Se state facendo delle prove fate attenzione a non copiare nella NVRAM (quindi usando startup-config) una configurazione che non conoscete: ricordatevi che potrebbe avere della password criptate, in tal caso dovrete ricorrere al Password Recovery. Piuttosto, copiatevi sempre la nuova configurazione in running-config (copy tftp running-config).

Bene, siamo giunti al termine di questo breve ma utile documento.

Cisco VLAN Trunking Protocol

Introduzione

Gli Switch Ethernet sono per Cisco, ormai da tempo, la prima fonte di guadagno. E a buona ragione, i Catalyst sono davvero uno strumento eccezionale. In questo articolo volevo fare una breve analisi del protocollo VTP, disponibile sui Cisco Catalyst switches, descrivendone le features, funzionalità, configurazione e benefici.

VTP, che sta per Virtual Trunking Protocol, è in grado di mantenere, e aiutare a risolvere i problemi di, configurazioni VLAN di grandi dimensioni, rendendo più agevoli i compiti dell’amministratore, quando la LAN Virtuale diventa intricata ed estesa e più prona a errori umani. Gli switches Cisco utilizzano questo protocollo per scambiarsi informazioni di configurazione sulle VLAN in modo da mantenerne la consistenza tra i vari dispositivi della rete e garantire semplicità e automatizzazione dei cambi di configurazione, un po’ quello che fanno i protocolli dinamici di routing a layer 3 controllando e selezionando per voi le rotte, se mi permettete il paragone.

CSA: Cisco Security Agent

Introduzione

Cisco Security Agent ha il compito di proteggere varie tipologie di hosts da diversi tipi di attacco: da tipo Accesso a DoS, o anche solo di ricerca di vulnerabilità. Tramite il deployment di agenti installabili sui clients che si andranno a difendere, è possibile, con una gestione completamente centralizzata, tenere sotto controllo e proteggere un largo numero di Workstations e Servers, con regole personalizzabili, a seconda delle applicazioni e servizi in uso e in base a gruppi di appartenenza.

Assegnare due IP a una interfaccia su un Cisco

Anche su IOS, come su qualsiasi altro sistema operativo, abbiamo la possibilità di assegnare due indirizzi IP ad un’unica interfaccia di rete.

Mettiamo il caso, quindi, di avere la necessità di assegnare per esempio i due indirizzi IP 192.168.0.5 e 10.0.0.50 alla nostra interfaccia Ethernet 0/0.

VPN con IPSec su OpenBSD in sei passi

1) In questo documento realizzeremo una VPN con IPSEC solamente con tool che siano presenti in una installazione di default di OpenBSD 3.2. Si può fare anche con versioni precedenti, ovviamente a scapito di minori features e probabilmente più bug noti non ancora risolti.

Ognuno dei computer, da cui eseguiremo gli esempi, ha un IP privato della classe 192.168.0.0/255.255.255.0. Non è importante ai fini dell’esempio conoscerli tutti, li vedremo mano a mano, useremo la classe 10.0.0.0/255.0.0.0 se ci serviranno altri indirizzi IP.

“SPAN veloce” su Cisco Catalyst

“SPAN veloce” non è l’ultimo grido nel già pessimo gusto che, spesso, il mondo IT ha nell’attribuire nomi.
E’ solo il mio modo di dirvi: ecco come fare alla veloce un mirroring di interfacce su altre, con lo scopo che volete, ma non ultimo quello di dare degli ottimi spunti a Snort e analyzers vari per il probing di ciò che passa sui vostri cavi.

In questo breve articolo, una macchina dedicata con funzione di sonda e IDS, attinge dal Catalyst le informazioni, pescando da punti vitali scelti con più o meno cura da voi, o da me nell’esempio.
Soprattutto voglio marcare la versatilità che uno switch decente (sì ok, un 2950 forse è esagerato, ma godiamocelo finchè c’è) può avere con poco ingegno e due VLANs.

Utilizzare l’ADSL con OpenBSD

Come utilizzare un servizio ADSL, con un normalissimo modem e, naturalmente, un sistema operativo OpenBSD.
Per chi accede ad Internet con l’ausilio del protocollo PPTP, può continuare a leggere di seguito, altrimenti per chi si avvale del protocollo PPPoE, può saltare in fondo al documento ignorando questa prima parte.
Se siete sicuri di accedere alla rete con il protocollo PPTP vi occorre un file chiamato pptp-obsd.tar.gz, PPTP sta per Point to Point Tunnelling Protocol, lo trovate nei ports date un’occhiata ports/net/pptp, oppure lo potete scaricare alle seguenti url:

http://pptpclient.sourceforge.net/#download

Una volta scaricati i sorgenti, scompattateli ed installateli:

% make
% make install

Se qualcosa non dovesse andare per il verso giusto copiate a mano i file: pptp, e pptp_callmgr nella directory /usr/bin.

% cp pptp /usr/bin
% cp pptp_callmgr /usr/bin

Create il file /etc/ppp/options, e inseritegli le seguenti rige:

name "NOMELOGIN"
noauth
noipdefault
defaultroute
debug

Naturalmente il campo “NOMELOGIN” deve essere sostituito con la login che vi ha assegnato il vostro provider.
Create ora il file chiamato /etc/ppp/pap-secrets, e inserite al suo interno le seguenti rige:

NOMELOGIN 10.0.0.138 PASSWORD

Come nel file precedente, il campo NOMELOGIN va sostituito con lo stesso campo usato precendentemente, il campo PASSWORD va sostituito con la password che vi ha assegnato il vostro provider.
L’indirizzo 10.0.0.138 è l’indirizzo di default che indica fisicamente il vostro modem Alcatel, quindi una volta configurata l’interfaccia alla quale è connesso il modem (vi spiego dopo come fare), potete fare un semplice

ping -c1 10.0.0.138

, ed esso vi risponderà . L’unico utente che deve leggere questo file è l’utente root, quindi settate pure i permessi di lettura e scrittura al solo utente root con il seguente comando:

% chmod 600 /etc/ppp/pap-secrets

Giunti a questo punto dobbiamo inserire i nomi dei server DNS, del vostro provider nel file /etc/resolv.conf (se non esiste createlo):

nameserver 212.216.112.112
nameserver 212.216.172.62

Ho inserito gli IP dei server DNS del mio provider (non dovrei fare pubblicità ), voi inserite i vostri.
Come vi dicevo prima, ora dovete configurare la vostra interfaccia di rete alla quale è connesso il modem Alcatel. Assegnate alla medesima un indirizzo ip che faccia parte della rete 10.0.0.0/24, ad esempio : 10.0.0.1:

% ifconfig INTERFACCIA inet 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255

Sostituite il campo INTERFACCIA con il nome del dispositivo, nel mio caso il modem si trova connesso a una scheda ethernet Realtek, quindi rl0. Per rendere queste modifiche sull’interfaccia in modo permanete, bisogna modificare il file /etc/hostname.INTERFACCIA (nel mio caso /etc/hostname.rl0) nel modo seguente:

inet 10.0.0.1 255.255.255.0 NONE media autoselect

Bene, ora siete pronti per connettervi,

%pptp 10.0.0.138&

e per chiudere la connessione potete killare i processi:

% kill -9 [numero del processo del pppd]
% kill -9 [numero del processo del pptp]

Se avete dei problemi con la connessione fate riferimento al file di log /var/log/messages. Potete monitorare il tutto con il seguente comando:

% tail -f /var/log/messages

Se la vostra connessione alla rete resta in piedi solamente qualche manciata di secondi, molto probabilmente vi trovate di fronte ad un problema con lo pseudo device GRE che se attivo nel kernel cattura tutti i pacchetti GRE e il PPTP non riesce a vederli causandone un time out. Se fate riferimento al file di log sopracitato (/var/log/messages), vi troverete una dicitura simile a questa:

LCP:Timeout sending Config-Request

Potete provare a disabilitare lo pseudo device GRE usando il comando “sysctl”

% sysctl -w net.inet.gre.allow=0

Se non dovesse funzionare, cosa molto probabile (nella versione 2.9, ad esempio, non funziona), allora la soluzione è la ricompilazione del kernel. Non temete non è una cosa difficile. Naturalmente, non serve che ve lo dica io, dovete avere i sorgenti del kernel, se non li avete, scaricateli. Questa modifica del kernel serve solo a disabilitare lo pseudo device GRE:

Aprite il file /usr/src/sys/conf/GENERIC.

Commentate la riga: option pseudo-device gre.

Per commentare una riga intendo l’inserimento del simbolo # prima della riga stessa. Ora entrate nella dir che corrisponde alla vostra macchina (mi riferisco all’architettura) es: /i386 se avete una macchina con architettura intel

% cd /usr/src/sys/arch/i386/conf

Bene, compiliamo il kernel con la modifica che abbiamo appena apportato:

% config ./GENERIC
% cd ../compile/GENERIC
% make depmod
% make

Bene, una volta compilato il kernel bisogna copiarlo nella directory / con il nome “bsd.2”.

% cp bsd /bsd.2

Rebootate e durante il prompt del loader, digitiamo “bsd.2”.

boot:bsd.2

Provate ora a connettervi, dovrebbe essere andato tutto per il verso giusto e se vi da fastidio oppure vi reca impedimenti immettere bsd.2 ad ogni prompt di boot, potete salvare il vostro vecchio “kernel”, con il nome di bsd.old (ad esempio) e rinominare bsd.2 con il nome bsd.

% cp /bsd /bsd.old
% mv /bsd.2 /bsd

In questo modo il boot caricherà direttamente il kernel da voi compilato. Per la ricompilazione del kernel potrete trovare su questo sito, le relative traduzioni e riferimenti.

In aggiunta a questo articoletto, potrete scaricare uno script che in modo automatico si riconnette alla rete, quando si verificano dei problemi, tramite il crontab: è stato scritto da Peter Chiocchetti.


PPPoE

Se per accedere ad Internet utilizzate il protocollo PPPoE, come faccio io con BBB di Telecom, sappiate che non dovete imbattervi nella ricompilazione del kernel ne tanto meno nell’istallazione di applicativi come sopra. Il supporto per il PPPoE e’ incluso in user space, sin dalla release 2.9, quidi dobbiamo solamente dare uno sguardo alla comfigurazione del file /etc/ppp/ppp.conf e ad un programmino /usr/sbin/pppoe.

*******************/etc/ppp/ppp.conf *********************************
default:
set log Phase Chat LCP IPCP CCP tun command
set redial 15 0
set reconnect 15 10000
pppoe:
set device "!/usr/sbin/pppoe -i rl0"
disable acfcomp protocomp
deny acfcomp
set mtu 1492
set speed sync
enable lqr
set lqrperiod 5
set cd 5
set dial
set login
set timeout 0
set authname *****
set authkey *****
add default HISADDR
enable DNS
enable mssfixup
************************************************************************

Tramite il parametro set device locato nella linea 6, il PPP, incarica il programma /usr/sbin/pppoe che dopo chiamerò per facilità solo PPPoE, di gestire l’input e l’output, anzichè usare una porta seriale oppure un altra connessione per la rete. Daremo uno sguardo più avanti al programma PPPoE ma per ora continuiamo a dare un occhiata alla linea 9, nella quale troviamo il valore dell’MTU (Maximum Transmit Unit), settato a 1492, ma potrebbe variare dalle esigenze, dato che questo valore, insieme a quello dell'”MRU”, serve solamente a dare la possibilità ai pacchetti ethernet in uscita, lo spazio per gli headers del PPPoE.

Infatti il Maximum Ethernet frame è di 1518 bytes, 14 bytes sono usati dall’header e 4 bytes per il frame-check sequence, restano quindi 1500 bytes di payload…. per questa ragione il Maximum Transmission Unit di una interfaccia Ethernet è solitamente 1500 bytes e questo è il più grande datagramma IP che può essere trasmesso su un interfaccia Ethernet senza fammentazioni. Il PPPoE aggiunge altri sei bytes di overhead e il protocollo PPP altri due…. il conteggio è presto fatto: restano 1492 bytes per il datagramma IP.

La linea con la dicitura “set speed sync” informa il PPP di usare una decodifica in modo sincrono per i pacchetti inviati tra esso ed il PPPoE. Vi sconsiglio di non abilitare il “protocol compression” ed il “protocomp” (date un occhiata all’ RFC 2516 per ulteriori delucidazioni).

Non c’è bisogno di ricordarvi di inserire la userid e password (linea 17 e 18) che il vostro provider vi ha assegnato. La configurazione è finita. Facile, no? Naturalmente dovete configurare il file /etc/resolv.conf (vedi sopra) e lanciare la connessione in questo modo:

%ppp -ddial pppoe &

Lasciate stare per ora i messaggi che vi butta fuori il demone. Il PPP non fa altro che aprire un’interfaccia chiamata “tun” (ad sempio “tun0”, oppure “tun1” se la tun0 è già stata attivata), e successivamente va in background. Il collegamento non sarà in piedi fino a quando i dati uscenti, non saranno trovati sull’interfaccia “tun” e a quel punto ppp, prova a metter su il collegamento in tutto e per tutto. Nell’arco di tempo in cui il PPP inizia a creare il collegamento (oppure il “link”), i pacchetti ricevuti (compreso il primo) rimarranno in coda per un periodo di circa 2 minuti.

Potete settare questo valore di timeout con l’opzione “set choked [timeout]” dove timeout è un numero che indica in secondi, il lasso di tempo, in cui i pacchetti vengono tenuti in attesa e dopo di che scartati da PPP. Ho usato -ddial (simile a “-auto”) per far si che il PPP ristabilisca automaticamente il collegamento ogni qual volta esso cessi, per un qualunque motivo.

Come detto prima il PPP usa il programma /usr/sbin/pppoe per gestire il traffico sulla scheda di rete, se volete potete usare il comando /usr/sbin/pppoe anche per metter su un server PPPoE la sitassi è la seguente:

pppoe [-s [-p system]] [-v] [-i interface] [-n service]

Anche qui il parametro -i interface è lo stesso e cioè indica l’interfaccia sulla quale è in ascolto in modem (nel mio caso la rl0). Nel caso in cui non venga specificato questo parametro, il programma PPPoE userà la prima interfaccia Ethernet che trova configurata.

Una cosa da sapere (mi riferisco agli utenti alle prime armi) è che con OpenBSD il nome di un interfaccia non fa riferimento al tipo di connessione, ma al nome del tipo di scheda di rete. Potete vedere il tipo di scheda di rete durante il processo di boot, oppure successivamente con il comando dmesg (8). Per esempio, io ho due schede Realtek 8139, quindi mi troverò una rl0 e una rl1, se avessi avuto una Intel EtherExpress 16 ed una Novell NE2000 mi sarei ritrovato con una “ie0” ed una “ne1”.

Il parametro “-n service”, vi permette di usare un nome per il servizio, ad esempio -n BBB, quando negozierete con il vostro server/provider. Di default, il client vi chiederà il nome del servizio, e non lo farà naturalmente il server che risponderà dall’altra parte della connessione.

Se volete specificare i dati di configurazione in modo da usarli per una connessione PPP Over Ethernet, potete usare il parametro “-p server”, ma di solito questi dati si maneggiano solo se si vuol metter su un server PPPoE, in altri casi vi consiglio di non toccar nulla.

Per far partire il PPPoE come server passate pure il parametro “-s” al comando pppoe, altrimenti se non è menzionato, il PPPoE girerà in modalità client, e vi collegerà al vostro gestore.

In fine l’immancabile flag “-v”, che vi aumenta la prolissicità (si può dire?) in fase di esecuzione (vi consiglio di includere questo flag per tutti gli usi di pppoe). Per la configurazione in modalità client del programma dobbiamo modificare solamente il file di configurazione del PPP cioè quello che abbiamo visto in precendenza.

Vi ricordo che il software gira completamente in user mode. Se siete votati all’auto lesionismo e dovete smanettare su tutto ciò che che vi capita date un occhiata al programma rp-pppoe scritto però per NetBSD. Lo potete scaricare qui: http://www.roaringpenguin.com/pppoe/#download

Non so se il pacchetto per NetBSD giri correttamente su OpenBSD. Una volta scaricato date:

% tar xvfz rp-pppoe-3.4.tar.gz
% cd rp-pppoe-3.4/src
% ./configure --mandir=/usr/share/man
% make
# make -i install
# adsl-setup

(Da quello che dicono i coder di Roarin Penguin c’è un piccolo bug nel codice, che vi conviene ignorare in fase di compilazione “usando l’opzione -i”. Dicono che non abbia conseguenze durante l’utilizzo del programma.)

Con questo è tutto, se avete domande, suggerimenti, quesiti, critiche fatelo mandandomi una e-mail a: [email protected]

Un ringraziamento va fatto a:

  • Hopfer Alois from www.inode.at for pointing me to the FreeBSD howto
  • Lukas Ertl for the FreeBSD howto that can be found at http://mailbox.univie.ac.at/~le/freebsd+adsl-howto.html
  • the openbsd mailing list people who gave me a lot of hints
  • Caff [email protected]

OpenBSD: domande e risposte

Amministrazione e configurazione

Perchè df dice che il mio disco è pieno al 101%?

OpenBSD si riserva di default il 5% di spazio su disco per evitare i problemi causati dal riempimento del disco. Dunque puoi continuare a lavorare, ma è meglio che cominci a fare un po’ di spazio.

Quali sono le opzioni al prompt di avvio?

  • -s avvio in modalità single user
  • -a chiede quale device usare come root
  • -d debugging

Configurazione rapida di una IPW2200 su Linux

La scheda Wireless IPW2200 ha ultimamente preso molto piede grazie alla sua integrazione nei notebook Intel Centrino. Questo vuole solo essere un tip molto veloce scritto in modo ugualmente veloce. In futuro sarà sicuramente sistemato e ampliato.

  • Scheda: Intel PRO/Wireless LAN 802.11b/g 2200
  • Notebook: Toshiba Satellite M30-941

Configurazione base di OpenBSD

Sicuramente avrete sentito parlare di OpenBSD con il suo potente firewall IPfilter. Alcuni sysadmin di mia conoscenza con IPfilter hanno resistito a smurf di 10 MBit con una 2mbit di linea senza nessun crash di sistema. OpenBSD è il sistema più scarno della storia degli UNiX (forse). Infatti nella sua installazione ha pochissimi pacchetti di default, a malapena ci sta l’XSystem (che consiglio di ricompilare).

Laboratorio CCNA4

Premessa

Questo laboratorio è indirizzato a tutti coloro che hanno raggiunto la fine del quarto semestre del percorso di certificazione CCNA. Infatti, come si può leggere negli obiettivi, tale laboratorio prevede l’applicazione delle varie tecnologie WAN descritte nel curriculum del quarto semestre, ma anche argomenti affrontati nei semestri precedenti.

Topologia

Topologia LAB

Materiale occorrente

Per la realizzazione di questa esercitazione occorre quanto segue:

  • 2 router con interfaccia Ethernet e seriale
  • 1 router con 2 interfaccie seriali e una Ethernet
  • 3 computer per la configurazione di ciascun router e come host per i test
  • 3 cavi console
  • 3 cavi crossover RJ45
  • 2 cavi crossover DCE/DTE (oppure cavi DCE e DTE separati)

Obiettivi

Tale esercitazione prevede:

  • Configurazione di base dei router
  • Configurazione del Frame Relay
  • Configurazione del PPP
  • Configurazione del Chap
  • Configurazione del DHCP
  • Configurazione del NAT
  • Configurazione di ACL
  • Configurazione del EIGRP
  • Configurazione di Route statiche
  • Redistribuzione di Route

Su tutti i router la Serial0/0 sarà configurata come DCE con clockrate pari a 64000, mentre la Serial0/1 come DTE.

Configurazione del router ISP

en
conf t
hostname ISP
enable secret class 

int fa0
ip address 10.0.0.1 255.255.255.0
ip nat outside
no shut
exit 

int s0
encapsulation frame-relay ietf
bandwith 64
frame-relay interface-dlci 16
frame-relay map ip 192.168.0.6 16 broadcast ietf
frame-relay lmi-type ansi
ip address 192.168.0.5 255.255.255.252
no keepalive
no shut
ip nat inside
exit 

line con 0
password cisco
login
exit

line vty 0 4
password cisco
login
exit   

ip dhcp excluded-address 10.0.0.1 10.10.0.10
ip dhcp pool LAN
network 10.0.0.0 /24
default-router 10.0.0.1
dns-server 10.0.0.2
domain-name test.org
exit

access-list 1 permit 10.0.0.0 0.0.0.255
ip nat pool public 200.0.0.1 200.0.0.20 netmask 255.255.255.0
ip nat inside source list 1 pool public overload
ip route 192.168.1.0 0.0.0.3 192.168.0.6
ip route 172.16.4.0 0.0.0.255 192.168.0.6
ip route 172.16.5.0 0.0.0.255 192.168.0.6

Configurazione del router Milano

en
conf t
hostname Milano
enable secret class
username Padova password cisco

int s0
encapsulation frame-relay ietf
bandwith 64
clock rate 64000
frame-relay interface-dlci 16
frame-relay map ip 192.168.0.5 16 broadcast ietf
frame-relay lmi-type ansi
ip address 192.168.0.6 255.255.255.252
no keepalive
no shut
exit

int s1
encapsulation ppp
ppp authentication chap
ip address 192.168.1.1 255.255.255.252
no keepalive
no shut
exit

int fa0
ip address 176.16.4.1 255.255.255.0
no shut 
exit

line con 0
password cisco
login
exit 

line vty 0 4
password cisco
login
exit

router eigrp 100
network 172.16.4.0
network 192.168.1.0
redistrute static
redistribute connected
exit

ip route 0.0.0.0 0.0.0.0 192.168.0.5

Configurazione del router Padova

en
conf t
hostname Padova
enable secret class
username Milano password cisco

int s0
encapsulation ppp
ppp authentication chap
ip address 192.168.0.2 255.255.255.252
no keepalive
no shut
bandwidth 64
cloack rate 64000
exit

int fa0
ip address 176.16.5.1 255.255.255.0
no shut 
exit 

line con 0
password cisco
login
exit

line vty 0 4
password cisco
login
exit

router eigrp 100
network 172.16.5.0
network 192.168.1.0
exit

Verifica delle configurazioni

Giunti a questo punto, possiamo effettuare le operazioni di verifica

  • Corretta configurazione degli host (IP da DHCP e Manuale)
  • Dai router ISP, Milano e Padova si devono pingare tutte le interfaccie dei router e host
  • Sui router Milano e Padova si devono vedere le varie reti imparate tramite EIGRP
  • Sul router ISP abilitare il debug ip packet per avere informazioni sul funzionamento del NAT
  • Sui router Milano e ISP usare il comando show frame-relay e debug frame-relay con le relative opzioni per avere informazioni sul collegamento Frame Relay.

Normativa sulla potenza degli Access Point WI-FI

Normativa sulla Potenza degli Access Point WI-FI

Principalmente valgono le normative F.C.C. (Federal Communication Commissions) per gli U.S.A., il Canada e gli ex paesi U.R.S.S.; mentre le norme E.T.S. 300-328, e correlate, emanate dall’organo Europeo E.T.S.I. (European Telecommunications Standards Institute), valgono per i paesi dell’Unione Europea e Giappone.

La normativa tecnica ETS 300-328 impone di non irradiare con una potenza E.I.R.P. (Effectively Isotropic Radiated Power) superiore ai 100mW (equivalente a 20dBm).

Ethernet timing

Qualunque stazione su una rete ethernet che vuole trasmettere un messaggio, prima ascolta per assicurarsi che nessun’altra stia trasmettendo, se il cavo è “silenzioso” la stazione comincia a comunicare. Il segnale elettrico richiede un tempo per arrivare a destinazione(delay) e ciascun ripetitore introduce una latenza per forwardare il frame da una porta ad un’altra. A causa del delay e la latenza, è possibile che più di una stazione cominci a trasmettere allo stesso tempo. Il risultato è una collisione.

Se la stazione supporta il full duplex, essa puಠmandare e ricevere simultaneamente e le collisioni non dovrebbero avvenire.

Configurare un Authentication Proxy

0

Obiettivi

1. Configurare AAA
2. Configurare le ACLs di filtraggio, compatibilmente con i servizio di autenticazione
3. Configurare un Authentication Proxy

Scenario

Con l’Authentication Proxy, gli utenti possono loggarsi in rete o accedere ad internet via HTTP.
I profili utente vengono ottenuti automaticamente da un server TACACS+, che supponiamo già configurato. (Cisco Secure Access Control Server)
Si suppone che il server TACACS+ sia nella stessa LAN dei client e che in CSACS sia configurato un utente in Default Group, con username e password.