interfÍcie grÀfica per la configuraciÓ d’aparells cisco...

105
PROJECTE FINAL DE CARRERA INTERFÍCIE GRÀFICA PER LA CONFIGURACIÓ D’APARELLS CISCO TITULACIÓ: Enginyeria tècnica en telecomunicacions, especialitat en Telemàtica. AUTOR: Marc Argüelles Puigibet. DIRECTOR: Francesc Sebé Feixas. DATA: Maig 2008.

Upload: phamkien

Post on 28-Apr-2018

220 views

Category:

Documents


2 download

TRANSCRIPT

PROJECTE FINAL DE CARRERA

INTERFÍCIE GRÀFICA PER LA CONFIGURACIÓ D’APARELLS CISCO

TITULACIÓ: Enginyeria tècnica en telecomunicacions, especialitat en Telemàtica.

AUTOR: Marc Argüelles Puigibet.

DIRECTOR: Francesc Sebé Feixas.

DATA: Maig 2008.

1 Índex

- 2 -

1 Índex

1 Índex

- 3 -

1 Índex

1 Índex...................................................................................................... - 2 -

2 Descripció del Projecte.......................................................................... - 6 -

2.1 Tasques Realitzades...........................................................................................- 7 -

3 Introducció............................................................................................. - 8 -

3.1. Conceptes Bàsics sobre Xarxes d’Àrea Local...................................................- 9 -

3.2. Protocols i Models de Referència....................................................................- 11 -

3.2.1 Exemple de Funcionament dels Protocols.............................................- 14 -

3.3. Adreçaments en Xarxes...................................................................................- 15 -

3.3.1 Adreçament MAC....................................................................................- 15 -

3.3.2 Adreçament IP........................................................................................- 15 -

3.3.3 Rangs d’Adreces.....................................................................................- 16 -

3.3.4 Adreça Broadcast...................................................................................- 17 -

3.3.5 Adreces IP Reservades...........................................................................- 17 -

3.3.6 Subxarxes................................................................................................- 18 -

3.4. Routers.............................................................................................................- 19 -

3.4.1 Taules d’Encaminament.........................................................................- 19 -

3.4.2 Topologies d’Encaminament..................................................................- 21 -

3.4.2.1 Rip.................................................................................................- 21 -

3.4.2.2 Ospf..............................................................................................- 23 -

3.4.3 Els Routers Cisco...................................................................................- 26 -

3.4.3.1 Els Routers de la Sèrie 2600........................................................- 26 -

3.4.3.2 Configuració de Routers de la Sèrie 2600...................................- 30 -

3.4.3.3 Llistat de Comandes per al Router Sèrie 2600............................- 31 -

3.5. Els Commutadors ............................................................................................- 35 -

3.5.1 Els Commutadors Cisco.........................................................................- 35 -

3.5.1.1 Els Commutadors de la Sèrie 2950..............................................- 35 -

1 Índex

- 4 -

3.5.1.2 Configuració dels Commutadors 2950........................................- 37 -

3.5.1.3 Llistat de Comandes per als Commutadors 2950........................- 38 -

4 Entorn del Projecte .............................................................................. - 41 -

4.1 SSH..................................................................................................................- 42 -

4.1.1 Història...................................................................................................- 42 -

4.1.2 Introducció a Ssh....................................................................................- 43 -

4.1.3 Conceptes Bàsics de Criptografia...........................................................- 43 -

4.1.4 Arquitectura Ssh.....................................................................................- 49 -

4.1.4.1 La Capa de Transport..................................................................- 50 -

4.1.4.2 La Capa d’Autenticació...............................................................- 55 -

4.1.4.3 La Capa de Connexió Ssh............................................................- 58 -

4.1.5 Les Biblioteques Java Utilitzades per Implementar Ssh........................- 61 -

4.2 El Servidor de Consoles ..................................................................................- 62 -

4.2.1 Característiques del Software................................................................- 63 -

4.2.2 Característiques del Hardware..............................................................- 64 -

4.2.3 Funcions Addicionals.............................................................................- 64 -

4.2.4 Especificacions Tècniques......................................................................- 65 -

4.2.5 Connectant-se al SCS.............................................................................- 66 -

4.2.6 Aparells Sèrie.........................................................................................- 66 -

5 Disseny de l’Aplicació ........................................................................ - 67 -

5.1 Opcions del Programa .....................................................................................- 68 -

5.1.1 Menú Superior........................................................................................- 69 -

5.1.2 Menú Lateral Esquerre..........................................................................- 73 -

5.1.3 Zona Central de Dibuix..........................................................................- 75 -

5.1.4 Barra d’Ajuda.........................................................................................- 75 -

5.2 Historial de Comandes ....................................................................................- 76 -

5.3 Configuració de Dispositius ............................................................................- 77 -

5.3.1 Router.....................................................................................................- 77 -

5.3.2 Commutadors.........................................................................................- 78 -

1 Índex

- 5 -

5.4 Tractament d’errors .........................................................................................- 79 -

6 Joc de Proves ....................................................................................... - 81 -

6.1 Esquema de Xarxa Plantejat per a l’Avaluació ...............................................- 83 -

6.2 Prova 1.............................................................................................................- 84 -

6.2.1 Realització de la Prova 1.......................................................................- 85 -

6.3 Prova 2.............................................................................................................- 92 -

6.3.1 Realització de la Prova 2.......................................................................- 92 -

6.4 Prova 3.............................................................................................................- 95 -

6.4.1 Realització de la Prova 3.......................................................................- 95 -

6.5 Prova 4.............................................................................................................- 99 -

6.5.1 Realització de la Prova 4.......................................................................- 99 -

7 Conclusions ....................................................................................... - 102 -

8 Recursos Utilitzats............................................................................. - 104 -

8.1 Referències Bibliogràfiques ..........................................................................- 105 -

8.2 Referències a Internet ....................................................................................- 105 -

2 Descripció del Projecte

- 6 -

2 Descripció del Projecte

2 Descripció del Projecte

- 7 -

2 Descripció del Projecte

La finalitat d’aquest projecte ha estat la d’implementar una interfície gràfica a través de la qual es pot configurar de manera automàtica els aparells Cisco del laboratori de telemàtica. Aquests aparells Cisco s’utilitzen per crear i configurar xarxes d’ordinadors d’arreu del món.

La configuració manual d’una xarxa pot resultar lenta i feixuga. Aquesta s’ha de realitzar introduint línies de comandes a tots els aparells que formen la xarxa a través de consoles de configuració. Aquest projecte està encaminat a reduir els esforços i estalviar temps a l’hora de configurar els dispositius del laboratori.

Per aconseguir-ho s’ha implementat una aplicació que permet als usuaris poder dibuixar un esquema de xarxa i introduir els paràmetres de configuració que desitgin d’una manera senzilla. Posteriorment el programa s’ocuparà de connectar-se al servidor de consoles que administra tots els dispositius i enviar-li de manera automatitzada totes les comandes necessàries per satisfer els requisits introduïts per l’usuari. La connexió s’estableix utilitzant el protocol segur Ssh.

Aquest programa pot funcionar en qualsevol sistema operatiu que permeti el llenguatge de programació Java. També pot ser exportat a altres entorns de treball diferents al del laboratori, per exemple en una xarxa d’oficines. Si bé ha estat preparat per configurar específicament els models d’aparells Cisco que es disposen al laboratori, el programa pot ser modificat per incloure altres models diferents modificant el codi del programa.

Les proves del programa s’han efectuat al laboratori 115 (Deim VI). S’ha utilitzat un servidor de consoles, routers Cisco 2600, commutadors Cisco Catalyst 2950 de 12 i 24 interfícies i ordinadors amb sistema operatiu Linux.

2.1 Tasques Realitzades

� Estudi i recopilació d’informació sobre el llenguatge de programació utilitzat, especialment pel que fa a creació d’entorns gràfics.

� Cerca de biblioteques Java que permetessin la comunicació amb el servidor de

consoles a través del protocol Ssh i cerca d’informació sobre la seva utilització. S’han emprat les biblioteques Ganymed SSH-2-build 210.

� Recopilació d’informació sobre la configuració, comandes i utilització general dels

aparells Cisco emprats al laboratori.

� Disseny i esquema general sobre paper de la interfície gràfica i el programa a realitzar.

� Implementació del projecte utilitzant el llenguatge de programació Java.

� Tests al laboratori per la cerca i correcció d’errors.

3 Introducció

- 8 -

3 Introducció

3 Introducció

- 9 -

3 Introducció

En aquest capítol es presenten coneixements bàsics sobre xarxes que han de facilitar la comprensió d’aquest projecte. Els continguts que es presenten a continuació intenten fer comprendre què és i com està estructurada una xarxa i quina és la funció que tenen els routers i commutadors dintre d’ella.

Posteriorment detallarem les característiques específiques que tenen els routers i commutadors de la marca Cisco, així com les principals comandes de configuració d’aquests dispositius.

3.1. Conceptes Bàsics sobre Xarxes d’Àrea Local

Una xarxa d’ordinadors és un conjunt d’ordinadors, servidors, routers, commutadors o altres perifèrics que es poden comunicar entre ells a través d’un medi de transmissió.

A través d’aquesta xarxa es poden compartir dades i recursos sense importar la localització física dels aparells. Per exemple, es poden executar processos a altres ordinadors, accedir a fitxers, executar serveis en un servidor1, etc.

Tots els dispositius que vulguin connectar-se a una xarxa necessitaran disposar d’una

interfície de xarxa, que és la que proporciona connectivitat amb el medi, ja sigui aquest de fibra òptica, cables coaxials o altres.

Un dels tipus més simples de xarxa és la xarxa d’àrea local o LAN (Local Area Network). Una LAN es caracteritza per ser utilitzada per una sola organització a través d’una distància limitada (de pocs metres a pocs quilòmetres). Les màquines es comuniquen entre elles a través de la LAN utilitzant un dispositiu d’interconnexió que treballi a nivell d’enllaç de dades, com poden ser commutadors o hubs.

Figura 3.1: LAN formada per un Hub i quatre ordinadors.

1 Un servidor és una màquina que comparteix els seus recursos a través d’una xarxa.

3 Introducció

- 10 -

Per tal d’interconnectar diferents xarxes s’utilitzen els routers. Aquests reencaminen els paquets d’informació generats per les màquines d’una xarxa d’àrea local a la resta de xarxes, permetent la comunicació entre elles.

Figura 3.2: Xarxa senzilla formada per dues LAN interconnectades a través d’un router.

A la figura 3.2 podem observar dues xarxes LAN creades per dos commutadors i

interconnectades entre elles a través d’un router. En aquest exemple, els PC que formen part d’una mateixa LAN es poden comunicar amb els seus veïns gràcies als commutadors. Però per comunicar els PC de la LAN 1 amb els de la LAN 2 s’han d’unir les dues xarxes a través del router.

3 Introducció

- 11 -

3.2. Protocols i Models de Referència

Per tal de fer possible la comunicació en una xarxa és necessària la creació de protocols. Un protocol és un conjunt de normes i regles amb l’objectiu de garantir i controlar la transmissió de dades entre emissors i receptors a través d’un medi. Hi ha dos models d’arquitectures que han estat determinants per al desenvolupament dels protocols:

� El model de referència OSI.

� El conjunt de protocols TCP/IP.

Durant la dècada del 1980 el desenvolupament de les xarxes va créixer ràpidament i de manera desordenada. En no haver-hi cap estàndard, van començar a sorgir problemes de comunicació entre dispositius i aplicacions d’empreses fabricants diferents. Per solucionar això calia establir un “idioma comú”. Amb aquesta idea es va crear el model OSI (Open Systems Interconection).

El model de referència OSI va ser publicat el 1984 per la ISO (International

Organization of Standarization). Aquest defineix l’arquitectura d’interconnexió de sistemes de comunicacions, i es va convertir en el model estàndard per classificar les funcions de comunicació.

Aquests models de referència estan separats per capes. Aquest tipus d’arquitectura

permet dividir tota la feina a realitzar entre els diferents nivells. Si un programador està desenvolupant un protocol per una capa en concret, l’únic que ha de comprendre són els requisits que li demana la capa amb la qual està treballant. Si el protocol que ha implementat compleix tots els requisits que li demana la capa on s’ubica, aquest podrà comunicar-se amb els protocols de la resta de capes sense saber com funcionen.

El seu model OSI per capes és el següent:

CAPA FUNCIONS

7. Aplicació Serveis per aplicacions que utilitzin la xarxa.

6. Presentació Representació de les dades a les aplicacions. Per exemple, conversió

entre diferents formats de text.

5. Sessió Comunicació entre els dispositius de la xarxa. Estableix connexions de

sessió entre màquines.

4. Transport Connexió entre processos a través d’Internet. Tractament dels paquets.

3. Xarxa Determinació de la ruta de les dades entre diferents xarxes. Unió de

trames per formar datagrames i ser enviats.

2. Enllaç Direcció física MAC. Transferència de trossos d’informació agrupats en trames.

1. Físic Senyal i transmissió binària (a través del cable trenat, fibra òptica,

etc.).

Figura 3.3: Model de referència OSI.

3 Introducció

- 12 -

Els dissenyadors del model OSI pensaven que aquest model i els protocols associats arribarien a dominar les comunicacions entre computadors, eliminant la resta de models particulars. No obstant a partir dels anys 90 el model TCP/IP es va anar imposant fins arribar a ser l’arquitectura dominant. Actualment s’utilitza a Internet i a la interconnexió de sistemes en general.

Figura 3.4:Comparació d’arquitectures entre els models OSI i TCP/IP i les possibles equivalències entre capes.

Com podem observar a la figura 3.4, els dos models anteriors comparteixen capes que

vénen a ser equivalents. Detallem una mica més aquestes capes sobre el model TCP/IP:

� 1. Nivell físic: Aquest defineix la interfície física entre el dispositiu transmissor i el medi de transmissió. S’encarrega d’especificar les característiques del mitjà de transmissió, el comportament de les senyals, velocitat de dades, etc.

� 2. Nivell de xarxa: És el responsable de l’intercanvi de dades entre un sistema i la xarxa a la qual està connectat. Una màquina emissora ha de proporcionar a la xarxa la direcció de destí, de tal manera que el missatge emès es pugui encaminar amb les dades al lloc adequat. S’utilitza un adreçament basat en adreces MAC. Aquesta capa s’ocupa de comprovar la integritat de les trames de dades i gestiona l’accés al medi compartit entre les màquines.

� 3. Nivell Internet: És el nivell relacionat amb l’accés i encaminament de dades a través de diferents xarxes. És a dir, en la comunicació de dispositius que pertanyen a xarxes diferents. Disposa d’un mètode d’adreçament global basat en adreces IP i calcula les rutes per on s’ha d’enviar la informació.

� 4. Nivell de Transport: Aquesta capa permet gestionar la comunicació de qualsevol parella de processos executant-se sobre dispositius diferents connectats a Internet. L’adreçament que distingeix els diferents processos és l’anomenat número de port. Aquest nivell disposa de dos protocols: UDP i TCP.

� TCP proporciona un servei fiable, és a dir, soluciona els errors que es puguin produir a la capa de xarxa durant l’enviament dels paquets. Aquesta gestió dels errors implica la necessitat de generar més tràfic, i per tant un ús major del medi compartit.

OSI TCP/IP

7. Aplicació 5. Aplicació

6. Presentació -

5. Sessió -

4. Transport 4. Transport

3. Xarxa 3. Internet (o IP)

2. Enllaç 2. Xarxa

1. Físic 1. Físic

3 Introducció

- 13 -

� UDP envia els paquets de manera no fiable. És menys segur, però congestiona menys la xarxa i és molt útil per aplicacions multimèdia en temps real on TCP generaria retards.

� 5. Nivell d’aplicació: Conté la lògica necessària per proporcionar les diferents aplicacions i serveis a l’usuari.

Cada nivell té associats diferents protocols amb múltiples funcions. La imatge següent relaciona el conjunt de protocols TCP/IP i les capes on pertanyen:

Figura 3.5: Alguns protocols associats a les diferents capes del model TCP/IP.

A la família de protocols TCP/IP cada capa pot interactuar amb els protocols de les

capes adjacents. Veurem un exemple de funcionament bàsic al següent apartat.

3 Introducció

- 14 -

3.2.1 Exemple de Funcionament dels Protocols

Veurem un exemple de funcionament d’un protocol i com interactuen les diferents capes per realitzar les seves funcions. La Figura 3.5 és útil per comprendre aquest apartat.

Utilitzarem d’exemple el protocol de transferència de fitxers FTP (File Transfer

Protocol). FTP s’utilitza per enviar fitxers d’una màquina a una altra. Aquest permet transferir fitxers i controlar l’accés dels usuaris.

Per començar l’exemple hauríem de connectar una màquina a una xarxa d’àrea local. Aquesta connexió s’establirà i regularà a través d’un protocol d’accés, per exemple imaginem que estem utilitzant Ethernet, aquest protocol permetrà a la màquina enviar dades a través de la seva xarxa local a una altra màquina.

Per tal d’efectuar transmissions amb èxit, cada element de xarxa ha de tenir una única direcció que el diferenciï de la resta. Per establir aquesta direcció s’utilitzen dos nivells de direccionament. Cada màquina de la xarxa ha de tenir una única direcció IP que l’identifiqui i permeti enviar les dades a la màquina adequada. A més ha de disposar d’un identificador que permeti entregar les dades al procés adequat, aquest identificador es diu port. En el cas d’un servidor FTP, aquest port és el número 21 per defecte.

Quan un usuari sol·licita la transferència d’un fitxer (utilitzant la capa d’aplicació), el

protocol FTP estableix una connexió TCP (de la capa de transport) amb la màquina de destí per intercanviar missatges de control. La connexió TCP utilitzarà el protocol IP per comunicarse en cas de trobar-se en dues xarxes locals diferents.

Per acabar, aquesta connexió permet a l’usuari transmetre el seu nom i una

contrasenya i que especifiqui l’arxiu que vol descarregar. Un cop la transferència s’ha acceptat, s’establirà una segona connexió TCP a través de la qual es materialitzarà la transferència.

L’exemple anterior intenta fer comprendre el perquè de l’estructuració dels protocols

per capes. Aquest tipus de models permeten implementar protocols amb una funció concreta, utilitzant com a suport els ja creats a altres nivells sense haver de preocupar-se del seu funcionament.

3 Introducció

- 15 -

3.3. Adreçaments en Xarxes

Per tal que les màquines es puguin comunicar a les xarxes és necessari establir una direcció única per cada una d’elles que les diferenciï de la resta. A continuació analitzarem els diferents nivells d’adreçament que existeixen. 3.3.1 Adreçament MAC

Qualsevol dispositiu que es vulgui connectar a una xarxa necessita disposar d’una targeta o interfície de xarxa (una NIC, Network Interface Card). Aquesta NIC disposa d’una adreça de Control d’Accés al Medi o MAC (Media Access Control).

Aquesta MAC és utilitzada per les màquines connectades a una mateixa xarxa d’àrea local per comunicar-se a través de trames de dades. Bàsicament s’utilitza la MAC per identificar l’emissor i el receptor. Això permet que un missatge no arribi a les màquines a les que no va dirigit.

Aquesta adreça opera al nivell 2 de xarxa i ha de ser individual i diferent per a cada dispositiu. Això s’aconsegueix a través d’una regulació que compleixen tots els fabricants d’interfícies de xarxa. El format de l’adreça MAC consisteix en un identificador hexadecimal de 48 bits.

00:0C:29:2A:36:20

Figura 3.6: Exemple d’adreça MAC.

S’utilitza el protocol ARP (Address Resolution Protocol) per descobrir l’adreça MAC d’una màquina de la mateixa LAN de la que coneixem la seva IP. Podem observar a la Figura 3.5. que aquest protocol forma part de la capa de xarxa del model de referència TCP/IP.

Posteriorment veurem que l’adreça MAC es pot utilitzar als commutadors per obtenir accés restringit a la xarxa local. 3.3.2 Adreçament IP

El nivell 3 d’Internet utilitza un adreçament global basat en uns identificadors anomenats adreces IP per tal d’identificar màquines i xarxes. En IPv4 les adreces del nivell de xarxa són de 32 bits, i es representen en grups de 8 bits en notació decimal.

11011001.10010000.10010010.10000110 � 217.144.146.134

Figura 3.7: Exemple de traducció d’una IP de binari a decimal.

3 Introducció

- 16 -

Els bits d’una adreça IP es divideixen en dues parts: els bits de xarxa i els bits d’estació. Per saber quins son els bits que identifiquen la xarxa i quins els que identifiquen l’estació s’ha de consultar un valor numèric anomenat màscara.

Per exemple, l’adreça IP 194.122.45.23 amb màscara 255.255.255.0. (presentada normalment en el format 194.122.45.23/24) ens indica que aquesta màquina està connectada a la xarxa 194.122.45.0 i que té l’identificador de màquina número 23 assignada.

3.3.3 Rangs d’Adreces

L’organisme regulador mundial que reparteix l’adreça IP a Internet s’anomena InterNIC. Tots els ISP mundials (Internet Service Provider, les empreses proveïdores d’accés a Internet) han de demanar a InterNIC que els hi assignin un rang d’adreces per tal de poder-les distribuir als seus clients.

Existeixen 5 tipus de xarxes en funció de la direcció de xarxa. La taula següent resumeix els 5 tipus existents a IPv4:

Tipus Rangs Màscara Estacions possibles Xarxes possibles

A 1.0.0.0 -127.255.255.255 255.0.0.0 2^24 = 16,777,216 128

B 128.0.0.0 -

191.255.255.255 255.255.0.0 2^16 = 65,536 16,382

C 192.0.0.0 -

223.255.255.255 255.255.255.0 2^8 = 256 2,097,140

D 224.0.0.0 -

239.255.255.255

E 240.0.0.0 -

255.255.255.255

Figura 3.8: Tipus d’adreces IP.

Observant la taula podem observar la quantitat de xarxes i estacions possibles que ens permeten els diferents rangs d’adreces.

Les classes A, B, i C són els tipus bàsics. La classe D s’utilitza per a tècniques multicast2 i la E són adreces utilitzades per a ús experimental o d’investigació.

2 Multicast: Tècnica que permet enviar un únic flux de dades d’un servidor a múltiples receptors a la vegada.

3 Introducció

- 17 -

3.3.4 Adreça Broadcast

Un altre concepte a explicar és el de l’adreça broadcast. Una adreça broadcast és una adreça IP especial que no fa referència a una sola màquina, sinó a totes les màquines d’una xarxa. Per exemple, si utilitzem la comanda ping (comanda que serveix perquè una màquina et respongui si està activa) a l’adreça broadcast d’una xarxa, totes les màquines connectades a la xarxa t’haurien de respondre com si se’ls hagués fet aquesta petició individualment.

El concepte d’adreça broadcast és important perquè molts protocols l’utilitzen per complir amb les seves funcions (per exemple, RIP). Veurem amb una exemple com s’obté l’adreça broadcast de qualsevol xarxa . Si la IP/màscara de xarxa és 172.16.0.0/12:

La IP en binari és: 10101100.00010000.00000000.00000000 La màscara en binari serà: 11111111.11110000.00000000.00000000 Invertint la màscara obtenim: 00000000.00001111.11111111.11111111 La “sumem” (operació OR) amb la IP: 10101100.00010000.00000000.00000000 Adreça broadcast resultant: 10101100.00011111.11111111.11111111 Broadcast a decimal: 172.31.255.255

Figura 3.9: .Exemple mostrant un mètode per trobar la direcció broadcast d’una xarxa.

Una propietat important dels routers que els diferencia dels commutadors és que separen els dominis broadcast. És a dir, els routers són els únics dispositius que mai reencaminen missatges broadcast. Aquesta peculiaritat és important perquè les peticions broadcast consumeixen una gran quantitat de recursos de xarxa. En xarxes amb moltes estacions de treball connectades, els routers poden reduir el tràfic d’aquest tipus de peticions ajudant a descongestionar la xarxa.

3.3.5 Adreces IP Reservades

No totes les adreces IP mostrades a la figura 3.8 es poden utilitzar per connectar màquines a Internet. Existeixen un conjunt d’adreces IP reservades per a altres funcions. Aquestes IP reservades no es poden utilitzar en cap cas per identificar una màquina o xarxa connectada a Internet, però poden ser utilitzades tants cops com es vulgui per xarxes o màquines en entorns privats. En veurem de dos tipus:

� Adreça localhost

� Adreces de xarxes d’àrea local

L’adreça localhost (o d’usuari local) correspon a la IP 127.0.0.1. Aquesta adreça IP sempre fa referència a la pròpia màquina que està executant el procés. Per exemple, executant la comanda ping 127.0.0.1 ens respondrà la mateixa màquina on hem executat la comanda.

3 Introducció

- 18 -

Les adreces de xarxa d’àrea local identifiquen xarxes no accessibles directament a través d’Internet. Estan reservats els rangs següents:

� Rang de 10.0.0.0/8 (adreces IP entre 10.0.0.0 i 10.255.255.255) � Rang 172.16.0.0/12 (adreces IP de 172.16.0.0 a 172.31.255.255) � Rang 192.168.0.0/16 (adreces IP de 192.168.0.0 a 192.168.255.255)

Per posar un exemple, només hi pot haver una màquina amb l’adreça 123.34.12.21 a Internet. Però en canvi, hi poden haver moltes adreces IP de xarxa 192.168.34.0/24 assignades al món, ja que hi poden haver moltes xarxes d’àrea local LAN amb aquesta adreça de xarxa. No obstant, el router que comuniqui aquestes xarxes d’àrea local amb Internet haurà de tenir una adreça IP vàlida no reservada per comunicar-se amb la resta de dispositius d’Internet (i fer així d’intermediari).

3.3.6 Subxarxes

Quan una xarxa es torna força gran convé dividirla en petites subxarxes. Això redueix la mida dels dominis broadcast (millorant el rendiment) i fa més fàcil l’administració de la xarxa.

En una xarxa convencional la IP i la màscara defineixen quina és la direcció que identifica la xarxa i quina identifica la màquina. Utilitzant la tècnica de subxarxes, assignem una part de la direcció de la màquina a identificar la subxarxa a la qual es troba.

Figura 3.10: Exemple de creació d’una subxarxa.

La quantitat de subxarxes que es poden utilitzar és igual a 2 elevat a la potència del número de bits assignats a la subxarxa, menys dos.

Per exemple, una xarxa amb la IP 192.50.32.0/24 es pot dividir lògicament en dues subxarxes assignant un bit de l’adreça de la màquina a la subxarxa. Les IP de subxarxes resultants serán les 192.50.32.0/25 i 192.50.32.128/25, respectivament. Si assignessim tres bits aconseguiríem crear 8 subxarxes diferents.

La gràcia d’aquesta tècnica és que des de l’exterior aquestes subxarxes no es distingeixen, és a dir, per una estació de treball d’una xarxa externa només existeix la xarxa 192.50.32.0/24.

El mètode més freqüent d’unir dues subxarxes és a nivell 2 d’enllaç de dades utilitzant commutadors o a nivell 3 de xarxa utilitzant routers.

3 Introducció

- 19 -

3.4. Routers 3.4.1 Taules d’Encaminament

Com ja hem comentat anteriorment, un router és un element de xarxa que té com a funció principal interconnectar xarxes independents entre sí. Per tant, el router s’encarrega de reencaminar els paquets intercanviats entre les màquines de les diferents xarxes.

Figura 3.11: Part frontal d’un router Cisco sèrie 2600.

Els routers poden disposar de diverses interfícies de xarxa. Per tal que un router sàpiga

per quina interfície reencaminar un paquet, necessita disposar d’una taula d’encaminament que li indiqui a quina d’aquestes interfícies ha d’enviar el paquet per tal que aquest arribi al seu destinatari. Anem a veure’n un exemple:

Figura 3.12: Exemple per explicar la funció de les taules d’encaminament.

Utilitzarem la figura 3.12 com a exemple. Imaginem la situació següent: el PC A de la LAN 1 té la IP 193.122.15.2 i la màscara 255.255.255.0 i vol enviar un paquet de dades al servidor web de la LAN 2.

3 Introducció

- 20 -

Per enviar el paquet per la ruta adequada, el PC A ha de tenir a la seva taula d’encaminament les següents dades (els PC també necessiten disposar de taules d’encaminament per comunicar-se en una xarxa):

Adreça Màscara Interfície Gateway 193.122.15.0 255.255.255.0 Eth1 -

Default - Eth1 193.122.15.2

Figura 3.13: Taula d’encaminament del PC A.

La taula d’encaminament d’aquest PC ens informa a la primera fila que el PC A

pertany a la xarxa LAN 193.122.15.0. A la segona fila, ens indica que sempre que hagi d’enviar un paquet fora de la seva xarxa l’ha d’enviar per la porta d’enllaç (Gateway) 193.122.15.2. Aquesta IP correspon a la interfície Int 1 del router A. Per tant, el paquet li entrarà per aquesta interfície.

Un cop el paquet arriba al router, aquest es pregunta per on ha d’encaminar el paquet per tal que arribi al servidor. Ha de consultar la seva taula d’encaminament. Una opció seria que el router tingués a la taula d’encaminament les següents dades:

Adreça Màscara Interfície Gateway 193.122.15.0 255.255.255.0 Int 1 - 192.168.4.0 255.255.255.0 Int 2 - 192.168.8.0 255.255.255.0 Int 3 - 208.7.56.0 255.255.255.0 Int 2 192.168.4.2

default - Int 3 192.168.8.1

Figura 3.14: Taula d’encaminament del router A.

Aquesta taula ens indica que el Router A enviarà el paquet a través de la seva

interfície 2 amb direcció IP de la porta d’enllaç que correspon a la interfície 1 del Router C. Ara haurà de ser el router C el que enviarà el paquet a la xarxa del servidor (que té connectada a una de les seves interfícies). El router C haurà de consultar també les seves taules d’encaminament.

Mirant la taula d’encaminament del Router A, també podem observar que tots els

paquets que tinguin una adreça diferent a les llistades a la seva taula d’encaminament (camp default) seran enviats a través de la interfície 3 per la porta d’enllaç 192.168.8.1.

De l’exemple anterior podem entendre la importància de tenir unes taules d’encaminament correctes. Si les taules d’encaminament no es configuren correctament, és possible que el tràfic no sigui capaç d’arribar mai al seu destí.

3 Introducció

- 21 -

3.4.2 Topologies d’Encaminament

Les taules d’encaminament es poden omplir de manera manual per un administrador (topologia d’encaminament estàtic) o de manera automàtica (topologia d’encaminament dinàmica).

Així, un protocol d’encaminament dinàmic és el que s’encarrega d’omplir de forma

automàtica les taules d’encaminament dels routers. L’objectiu de tot protocol d’encaminament dinàmic ha de ser el d’omplir de forma automàtica les taules d’encaminament per tal que hi hagi la ruta mes òptima per a cada destinació, en cada moment. Per tant, en cas de disposar de múltiples opcions per arribar a una destinació ha de seleccionar la “millor” ruta i incloure-la a la taula d’encaminament de l’aparell. A més a més, ha de ser capaç de detectar quan una ruta ha deixat de ser vàlida (per exemple, si un cable es desconnecta) i reemplaçar-la per una altra de vàlida (si existeix).

Sempre és preferible utilitzar l’encaminament dinàmic sobre l’estàtic, sobretot si

operem en xarxes grans i complexes on configurar manualment les taules d’encaminament, ja que seria molt complicat. Veurem dos tipus d’encaminament dinàmic, que són els utilitzats al projecte:

� RIP. � OSPF.

3.4.2.1 Rip

El protocol RIP (Routing Information Protocol) es basa en vectors de distància, és a dir, calcula el camí mes curt cap una xarxa de destí utilitzant un algorisme de vectors de distàncies. Aquesta distància és determinada pel nombre de “salts” que un paquet transmés per un router ha de fer per arribar a la xarxa destí. És a dir, definim el terme nombre de salts com la quantitat de routers (o màquines similars) que ha de travessar un paquet per arribar al seu destí.

En cas que RIP trobi dues rutes d’igual cost, n’elegeix una de les dues i no la canvia a

no ser que en trobi una altre de menor cost, així evita estar oscil·lant entre dues rutes “iguals” (amb el mateix nombre de salts). A les taules d’encaminament RIP hi figuren la IP de la xarxa a la que pot accedir, la interfície per la qual ha de reencaminar el paquet a fi que aquest arribi i el cost en salts que té arribar a aquesta xarxa.

Els missatges RIP utilitzen el protocol UDP. Aquests missatges poden ser de dos tipus:

� Petició: Són enviats per routers acabats d’activar sol·licitant informació dels routers

veïns. � Resposta: Missatges amb actualització de les taules d’encaminament. N’hi ha de

tres tipus : • Ordinaris: S’envien cada 30 segons per indicar que els enllaços i les rutes

segueixen actives. S’envia la taula d’encaminament sencera. • De resposta a missatges de petició.

3 Introducció

- 22 -

• Enviats quan canvia algun cost. En aquest cas, s’envia tota la taula d’encaminament.

El format dels missatges és el següent:

� Tenen una capçalera que inclou el tipus de missatge, la versió del protocol RIP i un

màxim de 24 entrades RIP de 20 bytes. � En RIPv1, contenen la direcció IP de la xarxa de destí i la mètrica. � Les entrades de RIPv2 contenen la direcció IP de la xarxa de destí, la seva màscara,

el següent router i la mètrica.

El protocol RIP té l’avantatge de ser fàcil de configurar, ser un protocol de tipus obert i estar suportat per molts fabricants.

Per altre banda té desavantatges clars:

� Per determinar la mètrica només té amb compte el nombre de salts, obviant altres

criteris importants com pot ser l’ample de banda entre enllaços. Per exemple, per RIP un salt connectat a 2Mbps té el mateix valor que un a 56Kbps.

� El límit de salts que fa RIP és de 15. Més enllà no és capaç d’establir cap ruta. Així, a les taules d’encaminament no apareixerà cap xarxa més enllà de 15 salts. Això és degut al fet que RIP no està preparat per detectar xarxes de topologia circular, i per tant considera que un destí més enllà d’aquest valor és un destí que ha entrat en bucle, és a dir, que els paquets estan donant voltes sense sentit.

Existeixen dues versions de RIP per IPv4, la versió RIPv1 i la RIPv2. La diferència

més important entre les dues versions radica en el fet que RIPv2 accepta subxarxes. Actualment RIPv1 està en desús, encara que la majoria de dispositius encara l’implementen.

3 Introducció

- 23 -

3.4.2.2 Ospf

El protocol OSPF (Open Shortest Path First, protocol obert del primer camí més curt) calcula la ruta (a través del conjunt de xarxes existents) que suposi el menor cost amb factors configurables per l’usuari. Per exemple, l’usuari pot configurar OSPF amb la finalitat que les rutes siguin calculades en funció del retard o la velocitat de transmissió entre dispositius.

El protocol és capaç de construir un mapa de la xarxa i d’aquesta manera és capaç de calcular la mètrica de cada ruta. En el següent exemple podem observar la (complexa) xarxa d’una organització, detallant les xarxes (N) i els routers (R):

Figura 3.15: Exemple de xarxa complexa.

3 Introducció

- 24 -

A partir d’aquest esquema OSPF es capaç de construir un esquema virtual de grafs

que relacionen les xarxes amb la seva mètrica:

Figura 3.16: Graf de rutes i mètrica.

A partir d’aquest graf, els routers són capaços d’omplir les seves taules d’encaminament elegint les rutes més curtes (de totes les rutes possibles, la que sumi un valor total menor). Com ja hem comentat, el valor de les rutes vindrà donada segons els paràmetres que ha establert l’administrador de la xarxa, per tant els camins més curts seran els “millors” possibles segons les preferències establertes. Això fa que OSPF sigui molt més interessant que RIP sobretot per utilitzar-lo en xarxes grans i complexes.

3 Introducció

- 25 -

Com a exemple de taula d’encaminament mostrarem la del router R6:

Destí Salt

següent Distància

N1 R3 10

N2 R3 10

N3 R3 7

N4 R3 8

N6 R10 8

N7 R10 12

N8 R10 10

N9 R10 11

N10 R10 13

N11 R10 14

H1 R10 21

R5 R5 6

R7 R10 8

N12 R10 10

N13 R5 14

N14 R5 14

N15 R10 17

Figura 3.17: Taula d’encaminament OSPF.

El més típic és construir el graf amb el factor de velocitat de transmissió o retard, el

que permet disposar de les taules d’encaminament amb les rutes més ràpides.

El protocol OSPF, igual que RIPv2, també accepta subxarxes. Un altre avantatge és que és ràpid detectant canvis a la topologia (per exemple, si modifiquem la xarxa o una connexió deixa d’estar activa) i aconsegueix restablir ràpidament les rutes evitant la formació de bucles innecessaris.

3 Introducció

- 26 -

3.4.3 Els Routers Cisco

El 1980 Len i Sandy Bosack, treballant a la Universitat de Standford, havien de comunicar els ordinadors de dos departaments diferents. Per fer-ho van crear un servidor que actués de porta d’enllaç entre els ordinadors dels dos departaments utilitzant el protocol IP.

Figura 3.18: Logo comercial de Cisco Systems.

Quatre anys més tard, van fundar Cisco Systems a San José (Califòrnia) i van tenir el

mèrit de ser els primers a crear un router comercialment exitós. Des de llavors Cisco s’ha convertit en una multinacional líder i sense rival en l’àmbit de solucions per a xarxes i infrastructures per a Internet. A més, han creat una xarxa mundial de formació de professionals en l’ús dels seus productes (els certificats Cisco) a través d’aliances amb institucions universitàries o acadèmies.

Creant bons productes i formant personal qualificat especialitzat en el disseny,

administració i manteniment de xarxes informàtiques han aconseguit establir-se amb força a nivell mundial i sembla difícil que aquesta situació hagi de canviar en pocs anys.

3.4.3.1 Els Routers de la Sèrie 2600

Anteriorment hem explicat les funcions principals dels routers a les xarxes. En aquest apartat explicarem les característiques específiques que tenen els routers utilitzats al laboratori per la realització d’aquest projecte, és a dir, els routers de la sèrie 2600 de Cisco.

La sèrie 2600 de routers Cisco permet la configuració flexible de LAN i WAN (Wide Area Network, Xarxes d’Àrea Àmplia), múltiples opcions de seguretat i disposen de processadors d’alt rendiment. A més a més, aquesta sèrie disposa també de 70 mòduls de xarxa i d’interfície instal·lables independentment. Això garanteix que els routers puguin ser adaptats a possibles expansions de les xarxes a les quals donen servei (sense ser necessària la compra d’altres models de routers).

3 Introducció

- 27 -

Figura 3.19: Alguns models de la sèrie 2600 (part frontal).

Algunes solucions que Cisco garanteix per aquesta sèrie de routers són:

� Accés a Internet i a intranets amb seguretat per tallafocs. � Accés a serveis multimèdia analògics i digitals. � Accés a VPN (Virtual Private Networks). � Encaminament VLAN. � Encaminament amb distribució d’ample de banda.

Figura 3.20: Part posterior de quatre routers de la sèrie 2600.

Com podem observar a la taula següent extreta dels propis catàlegs de Cisco, la sèrie 2600 està formada per models molt diferents entre si. Les seves diferències principals radiquen en els mòduls instal·lats de fàbrica.

3 Introducció

- 28 -

Figura 3.21: Detall del catàleg Cisco per als routers sèrie 2600.

A la taula anterior també podem observar diferències en capacitat de memòria i velocitats. Hi ha models de routers amb interfícies preparades per topologies tipus Token Ring, però la majoria implementen Fast Ethernet i Ethernet.

Cisco ven la sèrie 2600 considerant-la ideal per proporcionar servei a oficines i sucursals d’empreses, així com millorar el rendiment i donar nous serveis a les seves xarxes ja existents. A més, aquesta sèrie ha estat dissenyada modularment, per tant les configuracions de les interfícies poden ser adaptades fàcilment a una àmplia varietat d’aplicacions de xarxa (com serveis de veu i dades, creació de VPN i seguretat per tallafocs). Poden disposar d’interfícies que permeten disminuir la quantitat de commutadors necessaris a la xarxa.

Figura 3.22: Mòdul independent de 16 interfícies de módem analògic, connectors RJ11.

3 Introducció

- 29 -

A la figura 3.22 veiem un dels molts mòduls dels que Cisco posa a la disposició dels seus clients. Aquest tipus de mòduls poden ser reemplaçats per cobrir noves necessitats a les xarxes del comprador.

Figura 3.23: Instal·lació d’un mòdul independent.

Aquest disseny modular resulta atractiu de cara al comprador, ja que no l’obliga a comprar un nou dispositiu si vol modificar algun aspecte important de la xarxa. Només fa falta comprar el mòdul desitjat i instal·lar-lo com ens mostra la Figura 3.23.

Pel que fa al cablejat del router, la figura 3.24 ens permet observar els connectors disponibles a la part posterior d’un router amb interfícies de mòdem analògic i connectors RJ-11:

Figura 3.24: Detall del cablejat posterior.

També podem observar les dues interfícies sèrie a la part superior de la interfície

ethernet. Les interfícies sèrie s’utilitzen per connectar routers. Hi ha dos tipus d’interfícies sèrie, les DCE i les DTE. Es comentaran més endavant.

3 Introducció

- 30 -

3.4.3.2 Configuració de Routers de la Sèrie 2600

En aquest apartat detallarem les comandes més importants utilitzades en la configuració dels routers Cisco vàlides per la sèrie 2600. Tots els routers del laboratori disposen de dues interfícies sèrie i d’una interfície ethernet.

Per tal de configurar els routers hem de tenir amb compte que existeixen dos estats de privilegis. Aquests estats existeixen per garantir la seguretat de la configuració del router i no permetre que ningú modifiqui la configuració d’aquest excepte l’administrador (o qualsevol que en conegui la contrasenya). Aquests estats són els anomenats mode usuari i el mode privilegiat:

� Mode usuari: Aquest és el mode bàsic en què ens trobem després d’accedir a la consola de configuració del router. Aquest mode permet executar poques comandes.

� Mode privilegiat: Aquest mètode ens permet executar la majoria de comandes interessants de configuració del router.

Sempre s’accedeix al mode privilegiat partint del mode usuari. El procés per entrar en

mode privilegiat és el següent:

� Escrivim la comanda enable. � Escrivim la contrasenya en el cas que ens la demani. � Ja ens trobem al mode privilegiat. Per tornar al mode usuari, hem d’escriure la

comanda èxit.

Recordem que aquest projecte ha estat dissenyat amb el requisit que la contrasenya per passar del mode usuari al privilegiat no estigui habilitada (ja que la majoria dels routers del laboratori no la tenien habilitada).

A part del mode privilegiat, també existeixen altres modes que serveixen per configurar parts específiques del router. Els modes són els següents:

� Mode de configuració de terminal: S’accedeix des del mode privilegiat amb la comanda configure terminal. Amb èxit es torna al mode privilegiat.

� Mode de configuració d’interfície: S’accedeix a partir del mode de configuració de

terminal amb la comanda interface INT, on INT és la interfície a configurar. Per exemple, interface fastethernet0/0 ens serviria per a configurar la interfície FastEthernet 0/0 del router.

� Altres modes: Existeixen altres modes que no farem servir, com poden ser el mode

de subinterfície, el mode de configuració de router o el mode de subinterfície.

3 Introducció

- 31 -

3.4.3.3 Llistat de Comandes per al Router Sèrie 2600

Abans de començar a comentar les comandes, val la pena comentar dos trucs útils a l’hora de configurar manualment un router Cisco 2600 .També funcionaran en el cas dels commutadors utilitzats al laboratori, ja que fan servir el mateix software IOS.:

� Totes les comandes poden ser escurçades: el software IOS de què disposen els routers està dissenyat per acceptar comandes escurçades, sempre que no provoquin confusió amb altres comandes. Per exemple, hem comentat que per accedir al mode privilegiat la comanda a utilitzar es enable. Doncs el router també podria acceptar que escrivíssim la comanda en. No obstant, aquesta no funcionaria en el cas que també existís una altre comanda que comencés amb les lletres en.

� Ús de la tecla <TAB>: Es pot utilitzar la tecla tabuladora del teclat mentre

s’escriuen comandes al router per tal de completar una comanda incompleta. Tornant a l’exemple anterior, si escrivim en a la consola de configuració del router i premem la tecla tabuladora, ens completarà la comanda enable.

S’utilitzarà el conveni següent per saber en quin mètode ens hem de trobar per executar

una comanda:

R>comanda: Executem la comanda des del mode usuari. R#comanda: Executem la comanda des del mode privilegiat. R(config)#comanda:Executem la comanda des del mode de configuració de terminal. R(config-if)#comanda: Executem la comanda des del mode de configuració d’interfície. Comandes generals: ? L’ús del signe d’interrogació ens llistarà totes les comandes disponibles pel mode en què ens trobem. % Incomplete comand Ens pot aparèixer aquest missatge després d’haver introduït una comanda. Ens indicarà que a la comanda que hem introduït li falta algun paràmetre o està mal escrita. comanda ? Ens mostra totes les subcomandes per la comanda. Per exemple clock ? ens mostrarà el paràmetre Set per pantalla, ja que Set és una subcomanda de clock. R#show version Mostra informació sobre la versió del software IOS. R#show flash Mostra informació sobre la memòria flash del router. La memòria és la zona on el router emmagatzema la configuració actual del router per tornar-la a carregar posteriorment en el cas que s’apagui el router.

3 Introducció

- 32 -

R#show history Mostra l’historial de totes les comandes escrites anteriorment guardades al buffer. R(config) #hostname nom S’executa des del mode de configuració i serveix per canviar el nom al router. R(config)#enable password codi Serveix per assignar un nou password al mode privilegiat. R(config)#enable secret password Assigna un nou password al mode privilegiat però encriptat. Llistat de comandes R#show interfaces Ens mostra informació sobre les interfícies del router, les IP que tenen assignades, etc. R#show controllers int Mostra informació sobre la interfície amb nom int. També pot ser útil per saber quina interfície funciona com a DCE i DTE. Les interfícies dels routers poden ser del tipus DCE o del tipus DTE.

Per comunicar dos routers s’ha d’establir connexió entre les terminals DCE i les DTE. La velocitat de transmissió de dades es configura sempre a l’extrem DCE de la connexió. R#show ip interface brief Informació sobre les interfícies del router, incloent la IP assignada a cada una d’elles i si les interfícies estan actives.

Figura 3.25: Resultat de la comanda show ip interface brief.

R(config) #ip route adnet mask gw Aquesta comanda afegeix l’entrada a la taula d’encaminament. Adnet es l’adreça de la xarxa, mask la màscara i gw la porta d’enllaç. S’utilitza per l’encaminament estàtic. R(config-if)#clock rate valor Estableix la velocitat de transmissió de la interfície que actua com a DCE. El camp valor pot ser de 56000, 128000, etc. bits per segon.

3 Introducció

- 33 -

R#show ip route Ens mostra la taula d’encaminament del router. Podem distingir quines interfícies estan directament connectades i quin protocol d’encaminament ha inclòs la entrada (RIP, OSPF, etc.)

Figura 3.26: Resultat de la comanda show ip route.

R(config-if)#ip address adip mask Assigna la IP adip i la màscara mask a la interfície que estem configurant. R(config-if)#shutdown Dona de baixa (desactiva) la interfície que estem configurant. R(config-if)#no shutdown Dona d’alta (activa) la interfície que estem configurant. Comandes de protocol d’encaminament OSPF R(config)#router ospf proc Inicia el procés OSPF número proc. El número del procés pot ser qualsevol entre 1 i 65535. És recomanable que sigui el mateix en tots els routers que estiguin participant en OSPF. R(config)#no router ospf proc El router deixa d’utilitzar el protocol OSPF. R(config)#network adip invmask area narea Aquesta comanda fa participar activament una interfície al protocol OSPF. Adip és la IP de la xarxa. Invmask és la màscara de la xarxa, però invertida (per exemple, la màscara 0.0.0.255 és el resultat d’invertir la màscara 255.255.255.0). Narea és el número d’àrea (per defecte, el programa resultant del desenvolupament del projecte l’ha deixat a 0). R(config-if)#bandwidth bw Canvia l’ample de banda de l’enllaç que estem configurant. Si es canvia l’ample de banda, OSPF torna a calcular els costos de prioritat de l’enllaç. Bw pot ser qualsevol valor entre 1 i 10.000.000 en Kilobits. El càlcul de cost d’un enllaç es determina dividint l’ample de banda de referència entre l’ample de banda de la interfície.

3 Introducció

- 34 -

R(config-if)#ip ospf cost valor Estableix directament un cost de prioritat per la interfície. Aquest valor pot ser entre 1 i 65.535. R#show ip protocol Mostra paràmetres per tots els protocols que estiguin funcionant al router. R#show ip route Mostra la taula d’encaminament IP completa. R#show ip ospf Mostra informació bàsica sobre els processos OSPF actius. R#show ip ospf neighbor detail Enumera tots els routers OSPF veïns i els seus estats. Comandes de protocol d’encaminament RIP R(config)#router rip Estableix RIP com a protocol d’encaminament. R(config)#no router rip El router deixa d’utilitzar el protocol RIP. R(config)#network w.x.y.z S’ha d’especificar les xarxes a les quals el router està directament connectat un cop està participant en RIP. No és necessari especificar la màscara de la xarxa. R(config)#no network w.x.y.z Elimina la xarxa del procés RIP. No és necessari especificar la màscara de la xarxa. R(config)#version 2 Activa el protocol RIPv2. Rebrà i enviarà paquets RIPv2. R(config)#version 1 Activa el protocol RIPv1. R#show ip route Com a OSPF, aquesta comanda ens mostrarà la taula d’encaminament. R#debug ip rip Mostra tota la activitat RIP en temps real. R#show ip rip database Mostra el contingut de la base de dades RIP.

3 Introducció

- 35 -

3.5. Els Commutadors 3.5.1 Els Commutadors Cisco

Com ja s’ha explicat anteriorment, la funció principal d’un dispositiu commutador és la de crear xarxes d’ordinadors interconnectant màquines establint connexions dedicades entre elles. Els commutadors, al contrari que els hubs, només envien els paquets a través de les interfícies interessades; si una màquina envia un paquet a través d’una LAN controlada per un commutador només l’estació receptora rebrà el paquet.

En aquesta secció ens centrarem en les característiques que presenten els models utilitzats al laboratori durant la realització d’aquest projecte. 3.5.1.1 Els Commutadors de la Sèrie 2950

Aquesta línia de productes Cisco ofereix dos tipus de software IOS (el bàsic i l’avançat) i una àmplia gamma de configuracions que permet elegir el dispositiu més adequat per a la xarxa que es vulgui configurar.

Hi ha tres models bàsics, diferenciats pel que fa al nombre d’interfícies disponibles: el

de 12, el de 24 i el de 48 interfícies. Al laboratori es disposa de models de 12 i 24 interfícies. A més, alguns models poden disposar de connectors per fibra òptica, molt útil en aquells llocs on hi hagi una alta densitat de tràfic.

Figura 3.27: Commutadors Cisco de la sèrie 2950.

El software avançat permet una millor seguretat i més opcions de filtrat o configuració.

3 Introducció

- 36 -

Pel que fa al disseny, hi ha un connector per al servidor de consoles i un altre per a la

font d’alimentació. Alguns models de commutadors 2950 que ens ofereix Cisco als seus catàlegs són els següents:

Figura 3.28: Alguns dels integrants de la amplia sèrie 2950.

Les diferències principals que s’observen entre diferents models es troben a la

velocitat, la quantitat de connexions i al tipus de software que utilitzen.

3 Introducció

- 37 -

3.5.1.2 Configuració dels Commutadors 2950

Els commutadors disposen de moltes opcions de seguretat i configuració. Aquí analitzarem les més importants. Seguretat de ports

Els commutadors permeten establir un mètode de seguretat que consisteix a permetre només el tràfic de les màquines que l’administrador desitgi. Per distingir les màquines permeses de les que no ho són, s’utilitza l’adreça MAC de les targetes de xarxa. L’administrador és el que especifica les MAC acceptades. Spanning tree

Si connectem dos commutadors entre sí a través de les seves interfícies es crea el que anomenem una connexió trunk entre ells. Aquesta connexió permet que les màquines connectades als dos commutadors es puguin comunicar entre sí. No obstant, si el cable que les connecta es fes malbé les estacions deixarien de veure’s.

Per evitar això, els commutadors implementen l’anomenat spanning tree. Aquest detecta si hi ha més d’una connexió establerta entre dos commutadors i en deixa una activa bloquejant les sobrants.

Les bloquejades només s’activaran en el cas que els commutadors detectin que la

connexió activa s’ha tallat. Mai han d’estar actius dos o més cables que uneixin dos commutadors perquè sinó es crearien cicles infinits que bloquejarien la xarxa. Vlan

Quan connectem una màquina a la interfície d’un commutador, normalment donem per fet que totes les estacions connectades a aquest formaran una sola LAN. No obstant, una de les opcions dels commutadors és la de crear LAN Virtuals o VLAN.

Les VLAN ens permeten tenir LAN separades entre els ports del mateix commutador. Per exemple, si tenim 12 interfícies podríem fer que totes les interfícies de la 1 a la 5 formessin part de la VLAN 1 i les interfícies de la 6 a la 10 creessin la VLAN 2. Aquestes dues VLAN serien considerades com dues xarxes d’àrea local diferents a tots els efectes. Etherchannel

En el cas que tinguem més d’un cable unint dos commutadors, podem crear una connexió Etherchannel i aconseguirem que aquests cables s’uneixin com un sol cable lògic. Això permet disposar de més ample de banda.

3 Introducció

- 38 -

Combinant VLAN amb la tècnica de spanning tree, podríem fer un pas més enllà. Podríem fer que dues o més estacions de dos o més commutadors formin part de la mateixa VLAN, i per tant, que es puguin comunicar entre si estant en commutadors diferents. 3.5.1.3 Llistat de Comandes per als Commutadors 2950

Tal i com hem fet anteriorment amb els routers de la sèrie 2600, ara detallarem les comandes més importants per configurar els commutadors.

Tot l’explicat a l’apartat 3.4.3.2 sobre els modes de configuració dels routers (mode privilegiat, etc.) és igualment vàlid en el cas dels commutadors. No tornarem a repetir-ho en aquest apartat. Sent així, la nomenclatura per llistar les comandes serà la mateixa.

Descriurem abans un nou mode de configuració, el mode de configuració de VLAN. S’accedeix a partir del mode privilegiat amb la comanda vlan database. Aquest mode ens permetrà configurar vlans. La nomenclatura que utilitzarà és la següent: C(vlan)#comanda Comandes d’informació C#show interfaces status Detalla informació sobre l’estat de totes les interfícies del commutador (si estan actives o no, la seva velocitat, etc.). C#show mac-address-table-dynamic Els commutadors són ponts d’aprenentatge que van memoritzant les adreces MAC dels aparells que es comuniquen a la seva xarxa. Aquesta comanda mostra informació sobre les adreces MAC que ha memoritzat. C#show port-security address Aquesta comanda mostra la llista de MAC permeses i la interfície a la que pertanyen. Només haurien d’aparèixer MAC llistades en cas que s’activi l’opció de seguretat d’interfícies. C#show spanning-tree Mostra informació sobre spanning tree del commutador. Un port serà mostrat com a root en cas que estigui comunicant dos commutadors a través del cable creuat. Si un port es mostra altn estarà bloquejat a la espera que el root falli. C#show vlan brief La comanda mostra informació sobre les VLAN del commutador.

3 Introducció

- 39 -

Comandes en mode de configuració d’interfícies C(config-if)#shutdown Desactiva la interfície que estem configurant. C(config-if)#no shutdown Activa la interfície que estem configurant. C(config-if)#speed velo Estableix una velocitat a la que treballa la interfície. Velo pot ser 10, 100 o auto. Aquests valors son en Mbps. Auto estableix una configuració de velocitat automàtica (és l’opció per defecte). C(config-if)#duplex opció Opció pot ser full, half o auto. Estableix full duplex, half duplex o auto. El mode full duplex permet que el tràfic en una connexió només segueixi un sentit. Half duplex estableix que el tràfic viatgi en els dos sentits de la connexió. Auto és l’opció per defecte. C(config-if)#switchport port-security Activa la seguretat de ports a la interfície. Aquesta opció permet als commutadors configurar la interfície per tal que només permeti connexions de màquines amb unes MAC determinades. C(config-if)#switchport port-security macaddress mac Inclou una direcció mac a la llista de MAC permeses per a la interfície que estem configurant. El camp mac s’ha d’escriure seguint el format que es mostra aquí d’exemple: 1234.5678.90ab. C(config-if)#switchport port-security maxium valor Estableix el nombre màxim de MAC que estaran permeses a la interfície. C(config-if)#switchport port-security violation shutdown Configura la seguretat dels ports per tal que es doni de baixa la interfície automàticament en el cas que una mac no permesa s’intenti connectar. C(config-if)#no switchport port-security mac-address mac Treu de la llista d’interfícies permeses la MAC passada per paràmetre. C(config-if)#no switchport port-security Desactiva la seguretat a les interfícies. C(config-if)#switchport mode access i switchport access vlan num Fa que la interfície a la que ens trobem formi part de una VLAN creada per nosaltres prèviament. C(vlan)#vlan num name abc Aquesta comanda crea la VLAN número num amb el nom abc. Hi ha números de VLAN reservats, per exemple VLAN 1 (default) és la que hi ha creada per defecte i no es pot modificar.

3 Introducció

- 40 -

C(config)#interface range interfícies Aquesta comanda permet accedir al mode de configuració d’interfície de varies interfícies alhora. Per exemple, interface range fa0/3-6 permetrà que configurem les interfície 3, 4, 5 i 6 a la vegada. Existint commutadors de fins a 48 interfícies, no es pot considerar una comanda despreciable. R(config)#channel-group num mode on (o {desirable | auto | on | passive | active }) Fa que les interfícies seleccionades participin en etherchannel. Num és el número de grup que se li assignarà. Evidentment, hi poden haver tants grups com etherchannels a diferents commutadors.

4 Entorn del Projecte

- 41 -

4 Entorn del Projecte

4 Entorn del Projecte

- 42 -

4 Entorn del Projecte

En una xarxa gran seria un autèntic maldecap haver de connectar-se dispositiu per dispositiu per tal de configurar-los tots. Per reduir esforços, s’utilitza el servidor de consoles.

El servidor de consoles és un aparell que ha de disposar de connexions físiques a tots els aparells a configurar. Aquest fa de pont entre l’administrador i els aparells, així només hem d’establir una connexió al servidor de consoles per poder configurar tots els dispositius connectats a aquest.

La connexió al servidor de consoles a través de la xarxa s’efectua utilitzant el protocol de seguretat SSH. En aquest capítol es detallarà el funcionament del protocol SSH, es comentarà com funcionen les biblioteques SSH utilitzades al projecte i es dedicarà un apartat a comentar els servidors de consoles amb més profunditat.

4.1 SSH

En aquesta secció detallarem el funcionament del protocol SSH Secure Shell, analitzarem la seva arquitectura i mostrarem les seves característiques principals.

4.1.1 Història

El 1995 Tatu Ylönen, un investigador finlandès de la Universitat de Tecnologia de Hèlsinki, va dissenyar la primera versió del protocol SSH (ara anomenat SSH-1). La idea de crear aquest protocol va sorgir com a resposta als atacs de captura de contrasenyes que es donaven a la xarxa de la universitat. Aquests atacs es realitzaven fent servir programes “sniffers”, que són aplicacions que capturen i permeten analitzar les trames que viatgen per una xarxa (i permetre, per exemple, capturar contrasenyes d’altres usuaris).

En un principi Ylönen buscava reemplaçar els protocols rlogin, Telnet i rsh, molt utilitzats en aquell temps però que no disposaven ni de mètodes d’autenticació segurs ni de cap garantia de confidencialitat.

Ylönen va alliberar el seu programa com a freeware el juliol de 1995. Es va convertir en una eina molt popular i a finals d’any es calcula que ja l’utilitzaven uns 20.000 usuaris repartits en una cinquantena de països. Al desembre va fundar l’empresa SSH Communications Security per comercialitzar i desenvolupar SSH.

La versió inicial del programari SSH utilitzava alguns fragments de software lliure com GNU libgmp, però les posteriors versions creades per SSH Secure Communications es van anar basant cada cop més en el software propietari.

El 1996 es va dissenyar SSH-2, una versió revisada del protocol SSH que implementava millores de seguretat i afegia noves característiques. Les millores de seguretat s’aconseguien utilitzant la tècnica d’intercanvi de claus Diffie-Hellman i una potent comprovació de la integritat de les dades utilitzant codis d’autenticació de

4 Entorn del Projecte

- 43 -

missatges. A més, SSH-2 permetia executar qualsevol nombre de sessions shell (de consola) a una connexió SSH.

El 1999 alguns programadors van agafar l’antic programa ssh 1.2.12 (l’última versió disponible de SSH sota la llicència open source, és a dir, de codi obert) i van desenvolupar una versió lliure independent de SSH-2. Així van néixer programes populars com OSSH o OpenSSH.

A finals de l’any 2000 SSH es va consolidar mundialment amb la increïble xifra de 2.000.000 d’usuaris utilitzant-lo. Actualment, una de les eines més utilitzades desenvolupada a partir de SSH és OpenSSH, mentre que OSSH ha esdevingut obsoleta.

El 2006 el protocol SSH-2 es va convertir en un estàndard oficial d’Internet en ser publicats els seus RFC. Un RFC és un document de caire tècnic que conté les especificacions tècniques d’un protocol, és elaborat per grups de treball i mantingut per un organisme anomenat IETF (Internet Engineering Task Force).

L’objectiu del grup de treball que va elaborar els RFC era el d’actualitzar i estandarditzar el protocol SSH. Els RFC relacionats amb SSH són els següents: 4250, 4251, 4252, 4253, 4254, 4255, 4256, 4335, 4344, 4419, 4462, 4716, 4819.

4.1.2 Introducció a Ssh

Secure Shell o SSH es defineix com un protocol de xarxa que permet l’intercanvi de dades a través d’un canal segur establert entre dues màquines. L’encriptació permet donar confidencialitat i integritat a les dades. SSH utilitza criptografia de clau pública per autenticar l’estació remota i permetre a aquesta estació autenticar l’usuari si és necessari.

Normalment s’utilitza SSH per accedir a un ordinador remot i així poder executar comandes, però també permet la creació de túnels segurs, encaminament de connexions TCP i connexions X11; també pot transferir arxius utilitzant els protocols associats SFTP o SCP.

Un servidor SSH ha d’escoltar el port TCP 22 per defecte. Les biblioteques utilitzades en aquest projecte utilitzen el protocol SSH-2.

4.1.3 Conceptes Bàsics de Criptografia

En aquest apartat farem un breu resum de conceptes que necessitarem entendre per tal de comprendre el funcionament del protocol SSH.

Les dades que viatgen per una xarxa poden ser capturades per algú que no hi hauria de tenir accés. Una possible solució a aquest problema és el xifratge de les dades, de manera que un atacant pugui obtenir les dades però no interpretar-les.

4 Entorn del Projecte

- 44 -

Criptografia de clau compartida o de clau simètrica

La criptografia simètrica utilitza la mateixa clau per xifrar i desxifrar els missatges. Tant l’emissor com el receptor s’han de posar d’acord prèviament sobre la clau a utilitzar.

Figura 4.1: Criptografía de clau simètrica o de clau compartida.

Hi ha dos tipus de xifratges de clau compartida: el xifrat per blocs i el xifrat per flux.

El xifratge per blocs opera en grups de bits d’una longitud fixa anomenats blocs. La operació de xifratge consisteix a introduir un text en clar3 d’un tamany determinat a través d’una unitat de xifratge per blocs aplicant una clau K. Aquest procés produeix un bloc de text xifrat de sortida del mateix tamany.

3 Text encara no xifrat.

4 Entorn del Projecte

- 45 -

Figura 4.2: Xifratge i desxifratge per blocs.

Els mètodes de xifratge per blocs més coneguts són el ECB (Electronic CodeBook), el CBC (Cipher-Block Chaining) i el CFB (Cipher FeedBack).

Pel que fa al xifratge de flux, aquest tracta el text en clar com un flux de bits. Un generador tracta bit a bit el missatge utilitzant una clau K per xifrar-lo. El sistema de xifratge per flux més conegut es l’anomenat RC4.

El principal inconvenient del xifratge de clau compartida radica en el fet que un atacant pot estar escoltant el medi, per tant no és segur per l’emissor i el receptor acordar una clau K de manera confidencial. Per solucionar aquest problema, s’utilitza la criptografia de clau pública o asimètrica per intercanviar les claus.

Criptografia de clau pública o de clau asimètrica

Un dels mètodes criptogràfics utilitzats actualment és el xifratge de clau pública. En aquest un usuari A crea dues claus:

� La clau pública: S’utilitzarà aquesta clau per xifrar les dades, ha de ser coneguda per tothom.

� La clau privada: Aquesta clau s’utilitzarà per desxifrar les dades, i només ha de ser coneguda pel seu propietari.

4 Entorn del Projecte

- 46 -

Un cop creades aquestes dues claus, el funcionament és simple. L’usuari A ha de fer conèixer i proporcionar a tothom qui ho vulgui la clau pública. Un usuari B que es vulgui comunicar amb ell ha de demanar i obtenir la clau pública de l’usuari A. Un cop obtinguda, l’usuari B xifrarà tots els missatges que vulgui enviar de manera segura a l’usuari A utilitzant aquesta clau pública.

Aquests missatges enviats per l’usuari B no seran comprensibles per ningú fins que no es desxifrin. I per desxifrar-los només existeix un mètode: aplicar la clau privada de l’usuari A al missatge xifrat amb la seva clau pública. És important comprendre que ni tan sols l’usuari B serà capaç de desxifrar un missatge xifrat per ell amb la clau pública A. És a dir, disposar d’una clau pública només et permet xifrar missatges, mai desxifrar-los.

Figura 4.3: Criptografía de clau asimètrica o de clau pública.

Si l’usuari B també crea el seu propi parell de claus, pot enviar la clau pública B a l’usuari A i els dos poden mantenir un diàleg xifrat sense que cap atacant pugui comprendre els seus missatges.

El principal desavantatge d’aquest mètode d’encriptació és que resulta costós, tant en termes de processament com en termes d’espai que ocupa un missatge xifrat.

Alguns algorismes de clau pública més coneguts són el Diffie-Hellman, RSA o DSA.

Criptografia híbrida

Hem comentat que el principal inconvenient del xifratge de clau simètrica és que l’intercanvi de claus no és segur. Per altra banda, la criptografia de clau pública és segura, però molt lenta i costosa. Podem combinar les dues tècniques per crear-ne una de segura i ràpida.

4 Entorn del Projecte

- 47 -

La tècnica de criptografia híbrida consisteix a utilitzar el xifratge de clau pública per intercanviar una clau de xifratge simètric de manera segura entre emissor i receptor. Posteriorment, s’utilitza el xifratge simètric per comunicar-se de manera segura.

El protocol SSH utilitza aquesta tècnica per garantir seguretat i velocitat.

Confidencialitat

Es defineix la confidencialitat com la seguretat que cap usuari s’assabenti d’informació o accedeixi a dades a les que no ha de tenir accés.

Integritat

La seguretat de la integritat assegura que ningú no modificarà les dades que viatgen a través de la xarxa sense saber-ho els usuaris que estan intercanviant dades.

Autenticació

L’autenticació permet assegurar que cap màquina o usuari atacant està suplantant la identitat d’un altre usuari o màquina.

Algorisme hash

Un algorisme hash és una funció que s’utilitza per generar cadenes de caràcters que identifiquin unívocament un missatge o dades en general. Un hash és la cadena de caràcters resultant d’aplicar la funció al missatge.

Un emissor que vulgui enviar un missatge xifrat aplica l’algorisme hash a les dades. Aquest algorisme crea el Hash, la cadena de caràcters que identifica unívocament aquest missatge. Aquest valor numèric s’afegeix a les dades del missatge que es vol enviar i després es xifra tot.

Figura 4.4: Exemple de resultats d’aplicar un algorisme hash.

4 Entorn del Projecte

- 48 -

El receptor només ha de tornar a aplicar l’algorisme hash a les dades rebudes i comparar el hash enviat per l’emissor i el que ell ha calculat. Si el hash calculat pel receptor fos diferent al hash enviat per l’emissor significaria que les dades haurien canviat en el procés d’enviament i per tant no poden ser vàlides i han de ser descartades. Per tant, els algorismes hash garanteixen la integritat de les dades.

Signatura digital

Si un atacant utilitza la clau pública d’un receptor, pot enviar-li missatges xifrats. Un atacant també pot intentar suplantar la identitat d’un altre usuari. Per evitar aquest problema de seguretat, una solució és l’ús de la signatura digital basada en la criptografia de clau pública.

La signatura digital és extreta d’aplicar un algorisme hash al missatge a signar. Seguidament s’agafa aquest hash i se li aplica la funció de l’algorisme de la signatura (utilitzant la clau privada). Aquest procés genera la signatura digital. El procés es mostra a la figura 4.5 amb un exemple de firma d’un document.

Figura 4.5: Exemple de signatura digital en un document de text.

Aquest mecanisme permet autenticar l’emissor d’un missatge.

4 Entorn del Projecte

- 49 -

4.1.4 Arquitectura Ssh

El protocol SSH-2 disposa d’una arquitectura interna molt ben definida. A les següents pàgines es detallarà el funcionament del protocol més acuradament. L’anàlisi que es detallarà a continuació s’ha extret bàsicament dels RFC originals 4251, 4252, 4253 i 4254.

El funcionament general que utilitza aquest protocol és el següent:

� Pas 1: El client estableix una connexió al port TCP/22 del servidor.

� Pas 2: Es negocien els paràmetres i les opcions que tindrà la connexió segura entre el client i el servidor. S’estableix la connexió.

� Pas 3: Un cop la connexió segura ha estat establerta s’envien les dades xifrades.

� Pas 4: La connexió és tancada un cop ha realitzat la seva funció.

Per realitzar els passos anteriors, el protocol ha estat creat de la unió de tres grans capes: la capa de transport, la capa d’autenticació d’usuari i la capa de connexió. Definim la funció de cada capa a continuació (descriurem amb més profunditat aquestes capes a les seccions següents):

� Capa de transport: Aquesta permet autenticar el servidor i proporciona confidencialitat i integritat a les dades. La capa de transport normalment actua a través d’una connexió TCP/IP, però es poden utilitzar altres protocols existents de tipus fiable.

� Capa d’autenticació d’usuari: s’encarrega d’autenticar els clients que es volen connectar al servidor. Aquesta capa funciona per sobre de la capa de transport.

� Capa de connexió: s’encarrega de multiplexar el túnel encriptat en diferents canals lògics. Funciona per sobre de la capa d’autenticació d’usuari.

Figura 4.6: Les capes del protocol SSH.

4 Entorn del Projecte

- 50 -

Els paquets SSH disposen d’un camp que identifica el tipus de missatge que contenen. Aquest valor pot variar de l’1 al 255. El número permet identificar de quin tipus de paquet es tracta. Aquests valors han estat assignats de manera arbitrària. Per exemple, la capa de transport treballa amb paquets numerats de l’1 al 49:

� 1-19: Identifica missatges de funcions genèriques de la capa de transport (desconnectar, ignorar, debug, etc.)

� 20-29: Identifica missatges de negociació de l’algorisme per la connexió segura.

� 30-49: Identifica missatges específics per l’intercanvi de claus entre servidor i clients

4.1.4.1 La Capa de Transport

Es defineix la capa SSH de transport com un protocol de baix nivell orientat a la seguretat. Aquest permet una encriptació robusta, autenticació criptogràfica i protecció de la integritat de les dades. Aquest mètode ha estat dissenyat per permetre la negociació dels paràmetres de connexió entre el servidor i el client.

Així, els mètodes d’intercanvi de claus, l’algorisme de clau pública, l’algorisme d’encriptació simètrica, l’algorisme d’autenticació de missatges i l’algorisme hash són negociats entre el servidor i el client.

La confidencialitat la proporciona el xifratge. La integritat de les dades i l’autenticació de clients el proporciona el camp MAC inclòs als paquets.

En resum, aquesta capa realitza l’autenticació del servidor pels clients, l’intercanvi de claus, l’encriptació i la protecció de la integritat de les dades. També proporciona un identificador únic de sessió que serà utilitzat per les altres capes.

Establiment de connexió

La connexió ha d’estar protegida contra els possibles errors de transmissió. En el cas de detectar aquest tipus d’errors, la comunicació ha de ser tallada. El client sempre és l’encarregat d’iniciar l’establiment de la connexió.

Utilitzant el protocol TCP/IP, el servidor escolta el medi a través del port 22 per defecte. És a dir, que les peticions de connexió han de ser enviades pels clients al servidor a través del seu port 22. Aquest és el port que IANA, l’organització encarregada d’establir els números relacionats amb Internet i altres estàndards, li va assignar.

4 Entorn del Projecte

- 51 -

Intercanvi de la versió del protocol

Quan la connexió ja ha estat establerta, tant el client com el servidor han d’enviar una cadena de caràcters identificadora. L’estil estàndard d’aquesta cadena de caràcters (o string) és el següent:

SSH-versióprotocol-versiósoftware <SP> comentaris <CR> <LF>

El camp “SSH” no conté res més que aquestes tres lletres escrites. El camp SSH es separa amb un guió del camp que conté la versió del protocol que pot implementar l’emissor del missatge. Un altre guió separa la versió del software que està utilitzant l’emissor.

El camp de comentaris és opcional. SP és un espai en blanc (el caràcter número 32 a la taula ASCII) i només s’inclou si existeixen comentaris a la cadena de caràcters enviada. Existeixin o no comentaris, la cadena de caràcters ha d’acabar amb un caràcter return (ASCII 13) i un salt de línia (o line feed, ASCII 10).

Un exemple d’aquesta cadena de caràcters podria ser la següent:

SSH-2.0-billsSSH_3.6.3q3<CR><LF>

Aquest string de l’exemple ens indicaria que l’emissor del missatge implementa SSH en la seva versió 2.0 i que utilitza el software anomenat “billsSSH” en la seva versió 3.6.3q3. En aquest cas no s’han afegit comentaris addicionals, així que no s’ha inclòs l’espai en blanc i hem passat directament al caràcter return i al salt de línia.

En qualsevol cas la longitud màxima d’aquesta cadena de caràcters ha de ser de 255 caràcters.

Aquest string també és utilitzat a la part d’intercanvi de claus Diffie-Hellman. A més a més, és útil per saber quina versió de SSH s’ha d’utilitzar a la comunicació entre servidor i client. La versió utilitzada de SSH serà la mes alta possible suportada pels dos.

La versióSoftware s’utilitza per saber quines compatibilitats i capacitats tindran les implementacions de l’usuari o el servidor.

L’intercanvi de claus començarà immediatament després d’enviar aquesta cadena de caràcters identificadora. Abans, però, hem d’analitzar el format que tindran els paquets de dades que s’enviaran.

Protocol de paquets

Tots els paquets enviats posteriorment a la cadena de caràcters identificadora han d’utilitzar el protocol de paquets binaris presentat en aquest apartat. Aquest permet identificar-los, etc.

4 Entorn del Projecte

- 52 -

Els paquets presenten el format següent:

Longitud del paquet

Longitud del farciment

Càrrega útil Farciment aleatori

Mac

� Longitud del paquet: Conté la longitud en bytes del paquet, però sense sumar la longitud del camp “Mac” ni del mateix camp “Longitud de paquet”.

� Longitud del farciment: Conté la longitud del camp “Farciment aleatori”.

� Càrrega útil: Conté les dades útils del paquet. Si s’ha negociat algun mètode de compressió de les dades a la fase d’intercanvi de claus, aquest camp anirà comprimit. Per defecte aquest camp no hauria d’anar comprimit.

� Farciment aleatori: Farciment de tamany arbitrari. Aquest camp ha de contenir un valor de bytes aleatoris. El tamany màxim d’aquest camp és de 255 bytes.

� Mac: Codi d’Autenticació de Missatge. Si ja s’ha negociat l’autenticació de missatges aquest camp ha de contenir els bytes de Mac, sinó ha de ser zero (aclariment: aquest camp no te cap relació amb l’adreça hardware de la targeta de xarxa MAC, tot i anomenar-se igual).

Alguns camps del paquet han de tenir un tamany determinat per tal de poder realitzar el procés de xifratge de bloc. Per exemple, la longitud resultant de la unió dels camps “longitud del paquet”, “longitud del farciment”, “càrrega útil” i “farciment aleatori” ha de ser múltiple del bloc de xifratge o 8 (el valor més gran dels dos). El tamany mínim del paquet ha de ser de 16 bytes més el camp “Mac” o el tamany del bloc de xifratge (el valor més gran dels dos).

Totes les aplicacions han de suportar per defecte un tamany màxim del paquet de 35000 bytes. No obstant, poden acceptar paquets de tamany superior en el cas que siguin necessaris. Per exemple, és factible augmentar el tamany del paquet si una aplicació vol enviar molts certificats i el receptor ha informat que era capaç de processar paquets d’un tamany adequat. No obstant, no és aconsellable que les aplicacions acceptin paquets massa grans, ja que es podrien realitzar atacs de denegació de servei o de desbordament de buffer.

En cas que s’hagi negociat compressió de dades, el camp “càrrega útil” s’haurà de comprimir utilitzant l’algorisme negociat. No s’encriptarà el paquet fins que no s’hagi comprimit aquest camp. Actualment només es defineix un algorisme de compressió, l’anomenat zlib.

Pel que fa a l’algorisme d’encriptació i a la clau, aquests seran negociats durant la fase de l’intercanvi de claus. Quan aquesta encriptació ja sigui efectiva, els camps del paquet hauran d’estar encriptats amb l’algorisme negociat. Es recomana que servidor i client utilitzin el mateix algorisme d’encriptació.

La integritat de les dades es protegeix incloent a cada paquet una Mac que es calcula a partir del secret compartit de la clau simètrica, el número de seqüència de paquet i els continguts del paquet.

4 Entorn del Projecte

- 53 -

L’algorisme d’autenticació de missatges i la clau són negociats durant l’intercanvi de claus. Al principi, quan l’algorisme Mac encara no ha estat negociat, la longitud del camp ha de ser zero.

Els mètodes d’intercanvi de claus especifiquen com es generen les claus utilitzades per cada sessió per l’encriptació i l’autenticació, i com es realitzarà l’autenticació del servidor. Els mètodes utilitzats per la negociació d’algorismes són tots del tipus Diffie-Hellman. Aquest proporciona un secret compartit entre el servidor i el client que no pot ser descobert només per un dels dos. L’intercanvi de claus es combina amb la signatura utilitzant la clau de l’hoste per permetre l’autenticació d’aquest.

Negociació d’algoritmes

Un cop el client i el servidor s’han posat d’acord amb la versió de ssh a utilitzar, comença la següent fase, la d’intercanvi de claus. El client i el servidor s’envien una llista amb els noms dels algorismes suportats per cada un (utilitzant paquets amb el format vist a l’apartat anterior). Tots els camps d’algorismes han de tenir almenys un nom a la llista.

La negociació per decidir l’algorisme de l’intercanvi de claus es realitza enviant els paquets anomenats SSH_MSG_KEXINIT amb el següent contingut:

� Cookie: És un camp amb un valor aleatori generat per l’emissor. Al ser aleatori evita que es puguin extreure les claus o l’identificador de sessió.

� Algorismes d’intercanvi de claus: És una llista amb els algorismes suportats. El primer de la llista serà el preferit. Si tant el client com el servidor tenen com a preferit el mateix algorisme d’intercanvi de claus, aquest serà l’elegit. En cas que no coincideixin, tant client com servidor acorden d’utilitzar el primer algorisme de la llista del client que el servidor sigui capaç d’implementar. En cas de no trobar cap algorisme que satisfaci les condicions anteriors, la connexió falla i tant el client com el servidor es desconnecten. Es recomana l'ús de RSA.

� Algorismes de clau del servidor hoste: És una llista amb els noms dels algorismes suportats per generar la clau del servidor. El servidor llista els algoritmes pels que té claus d’hoste; el client llista els algorismes que està disposat a acceptar. Això es farà servir per autenticar el servidor i així assegurar-nos que és l’autèntic a través de la seva signatura digital.

� Algoritmes d’encriptació: Una llista dels noms dels algoritmes de clau simètrica. Llistats en ordre de preferència. L’elegit serà el primer algorisme del client que també s’implementi al servidor. Aquests poden ser 3DES, AES, etc. És possible deshabilitar l’encriptació però no es recomanable.

� Algorismes Mac: La llista ordenada dels algorismes Mac. L’algorisme elegit serà el primer de la llista del client que també accepti el servidor. Si no hi ha acord, es desconnecta la connexió. És possible especificar “none” per no implementar l’algorisme Mac. Alguns algorismes Mac són el HMAC SHA1 o HMAC MD5.

� Algorismes de compressió: La llista dels algorismes de compressió acceptables en ordre de preferència. L’elegit serà el primer algorisme del client que també accepti el servidor. Si no s’arriba a acord, es desconnecten. El “none” és possible.

4 Entorn del Projecte

- 54 -

� Llenguatges: Llista en preferència dels llenguatges. Tant client com servidor poden ignorar aquesta llista. Si no hi ha preferències, aquest camp ha d’anar buit.

� Camp “segueix el primer paquet d’intercanvi de claus”: Especifica si l’emissor enviarà un paquet amb l’intercanvi de claus suposat després d’enviar aquest missatge. En cas afirmatiu, aquest camp contindrà el boolean TRUE, en cas contrari, serà FALSE. Enviar una de les claus amb l’algorisme suposat serveix per anar més ràpid. Si la suposició ha estat encertada (es descobreix quan les dues parts reben el paquet d’intercanvi de claus del contrari), el paquet enviat amb les claus s’accepta. Si no, s’ha d’ignorar el paquet i només s’acceptaran els paquets amb els algorismes acordats.

Quan es rep el paquet SSH_MSG_KEXINIT de l’altre banda, es considera que l’algorisme d’intercanvi de claus ja està funcionant. Tot i així poden ser necessaris uns quants intercanvis de paquets més per posar-se d’acord.

El procés d’intercanvi de claus produeix dos valors: el secret compartit K i el hash d’intercanvi H. Les claus d’autenticació i encriptació deriven d’aquests valors. El hash H d’intercanvi del primer intercanvi de claus s’utilitza addicionalment per l’identificador de sessió, que és un valor únic que identifica la connexió. Aquest s’utilitza per mètodes d’autenticació de dades signades i és una prova de la possessió d’una clau privada. L’identificador de sessió no és canviat ni tan sols si es canvien les claus posteriorment.

Es recomana canviar de claus cada gigabyte transmès o cada hora de connexió.

Algorismes d’encriptació

Es defineixen diversos algorismes d’encriptació, que són negociats durant la fase d’intercanvi de claus:

� 3DES en mode CBC és l’algorisme que totes les aplicacions haurien d’implementar per raons històriques i de compatibilitat. No obstant, aquest algorisme utilitza claus d’un tamany efectiu de només 112 bits. Aquest algorisme no és recomanable per motius de seguretat.

� AES d’almenys 128 bits en mode CBC és l’algorisme recomanat al RFC.

S’especifiquen molts altres algorismes, com el blowfish, serpent o l’arcfour, però els principals són els anteriors.

Petició de servei

Quan s’acaba la fase de l’intercanvi de claus, el client ha de demanar un servei al servidor. Aquest servei serà identificat pel seu nom. S’especifiquen dos tipus de servei, el d’autenticació d’usuari o el de connexió, que fan referència a les capes que analitzarem a continuació. En concret, els missatges són:

ssh-userauth ssh-connection

4 Entorn del Projecte

- 55 -

Consideracions de seguretat

Aquest protocol de transport proporciona un canal segur encriptat a una xarxa insegura. Permet l’autenticació del servidor, intercanvi de claus, encriptació i protecció per integritat de dades. També crea un identificador ID de sessió única que serà utilitzat per els protocols dels nivells aplicats posteriorment.

4.1.4.2 La Capa d’Autenticació

El protocol SSH d’autenticació funciona per sobre de la capa SSH de transport. Per tant aquest protocol assumeix que ja s’ha garantit la protecció de la integritat i la confidencialitat subministrades per la capa anterior.

El nom de servei d’aquest protocol es “ssh-userauth”. Aquest protocol comença rebent l’identificador de sessió obtingut a la capa de transport i el hash H obtingut al primer intercanvi de claus. L’identificador de sessió només identificarà la sessió actual i pot ser utilitzat per signar digitalment (i per tant pot provar la propietat personal d’una clau privada).

La funció d’aquesta capa és la d’autenticar el client per garantir al servidor que el client no es un intrús.

El servidor dirigeix el procés d’autenticació dient-li al client quins mètodes d’autenticació poden ser utilitzats. El client té la llibertat de provar els mètodes llistats pel servidor en qualsevol ordre.

Petició d’autenticació

Totes les peticions d’autenticació han de tenir el següent format de missatge. Només s’especifiquen els primers camps, ja que hi ha camps que depenen del mètode d’autenticació elegit. El missatge s’anomena SSH_MSG_USERAUTH_REQUEST i consta dels següents camps:

� Nom d’usuari

� Nom del servei: Aquest especifica el servei que es vol iniciar quan s’acabi amb èxit el procés d’autenticació d’usuari. Si el servei no existeix, el servidor s’ha de desconnectar.

� Nom del mètode: Aquest camp pot contenir els noms dels mètodes “publickey”, “password”, “hostbased” o “none”. El mètode publickey és el recomanat. Els analitzarem a les següents pàgines.

� Altres camps, segons el mètode d’autenticació utilitzat.

4 Entorn del Projecte

- 56 -

Respostes a la petició d’autenticació

Si el servidor rebutja la petició d’autenticació, ha de respondre amb un missatge tipus SSH_MSG_USERAUTH_FAILURE. Aquest missatge conté una llista de noms dels mètodes d’autenticació que permet per intentar de nou l’autenticació. També disposa d’un camp “èxit parcial” que pot contenir “Cert” o “Fals” (TRUE o FALSE). Serà “Cert” en el cas que la petició hagi estat processada correctament però encara faltin passos per finalitzar el procés (per exemple, si és necessari l’enviament de més missatges). És “Fals” si hi ha hagut algun error o algun pas incorrecte.

Si el servidor accepta l’autenticació ha de respondre amb un missatge anomenat SSH_MSG_USERAUTH_SUCCESS. Aquest només s’envia quan l’autenticació ha estat completada correcta i totalment. Un cop s’ha enviat aquest missatge, qualsevol altre petició d’autenticació ha de ser ignorada silenciosament. Un cop l’autenticació del client s’ha completat amb èxit, els missatges posteriors que rebi el servidor seran processats per la capa de connexió.

Números assignats als missatges del protocol d’autenticació

Tots els missatges que fan referència a aquesta capa estan numerats amb un valor comprès del número 50 al 79. Això permet ignorar tots els missatges rebuts amb un valor superior al 80 si són rebuts abans de completar la capa d’autenticació d’usuari amb èxit.

Els missatges generals de la capa d’autenticació són els següents:

� SSH_MSG_USERAUTH_REQUEST 50

� SSH_MSG_USERAUTH_FAILURE 51

� SSH_MSG_USERAUTH_SUCCESS 52

� SSH_MSG_USERAUTH_BANNER 53

Els missatges numerats del 60 al 79 són missatges reservats per als mètodes específics d’autenticació que veurem a continuació. No obstant, hi ha missatges que són utilitzats per més d’un mètode.

Mètode d’autenticació per clau pública: “publickey”

Segons les especificacions del protocol, aquest és l’únic mètode que han d’implementar o suportar totes les implementacions que vulguin utilitzar SSH-2. Això no significa que tots els usuaris hagin de disposar de clau pública.

Les claus privades s’utilitzen per autenticar. El mètode funciona enviant una signatura creada amb la clau privada de l’usuari. El servidor ha de comprovar que la clau és un autenticador vàlid per l’usuari i que la signatura és vàlida.

Les claus privades s’acostumen a emmagatzemar encriptades a l’ordinador de l’usuari a autenticar, i per tant, l’usuari necessita escriure una contrasenya a l’ordinador per tal que

4 Entorn del Projecte

- 57 -

la signatura sigui generada amb èxit. Aquest procés és lent i costós en termes de processament.

Es proporciona el missatge SSH_MSG_USERAUTH_REQUEST per saber si el mètode publickey serà acceptat pel servidor.

El client envia el missatge SSH_MSG_USERAUTH_REQUEST que conté el nom d’usuari i el nom de l’algorisme que es vol comprovar. Si el servidor no accepta aquest algorisme de clau pública, ha de rebutjar la petició. En aquest cas el servidor ha de respondre el missatge SSH_MSG_USERAUTH_REQUEST amb un altre anomenat SSH_MSG_USERAUTH_FAILURE. Si accepta l’algorisme, ha d’enviar un missatge del tipus SSH_MSG_USERAUTH_PK_OK.

En qualsevol cas, el client ha d’enviar la signatura utilitzant el paquet SSH_MSG_USERAUTH_REQUEST, que conté el nom de l’usuari, la clau pública, el nom de l’algorisme de clau pública a la que pertany, la clau pública que s’utilitzarà per l’autenticació i la signatura.

Un cop el servidor rep aquest missatge, ha de comprovar si la clau proporcionada és acceptable per l’autenticació i si ho és ha de comprovar que la signatura sigui correcta. El servidor ha de respondre amb un missatge SSH_MSG_USERAUTH_SUCCESS si no hi ha implementats més mètodes d’autenticació addicionals, o amb un missatge SSH_MSG_USERAUTH_FAILURE si la petició ha fallat o bé és necessari passar per més mètodes d’autenticació.

Mètode d’autenticació per contrasenya: "password"

L’autenticació per contrasenya utilitza els següents paquets:

� SSH_MSG_USERAUTH_REQUEST, que conté el nom d’usuari i la contrasenya en text pla. Recordem que el paquet sencer serà encriptat per la capa de transport, així que el text en clar no ha de ser un problema de seguretat. No obstant, si a la capa de transport no està proporcionant confidencialitat o MAC, el mètode d’autenticació per contrasenya ha de ser deshabilitat per motius evidents.

� SSH_MSG_USERAUTH_PASSWD_CHANGEREQ. Aquest missatge l’envia el servidor si la contrasenya enviada ja ha caducat al servidor.

� SSH_MSG_USERAUTH_SUCCESS. El servidor envia aquest missatge si l’autenticació ha estat acceptada amb èxit, o bé la contrasenya ha estat canviada amb èxit (si estem modificant la nostra contrasenya al servidor).

� SSH_MSG_USERAUTH_FAILURE. El servidor envia aquest missatge si no ha estat acceptat el password, o bé ha estat acceptat però falta algun mètode més per autenticar-se. També s’utilitza per indicar que la contrasenya ha estat canviada amb èxit.

� SSH_MSG_USERAUTH_CHANGEREQ. La contrasenya no ha estat canviada perquè la nova contrasenya no s’ha acceptat (per exemple, per ser massa simple).

4 Entorn del Projecte

- 58 -

El servidor serà el responsable d’interpretar la contrasenya i validar-la amb la base de dades de contrasenyes de què disposa (d’això no se n’ocupa el protocol SSH).

Autenticació basada en la màquina: "hostbased"

En alguns entorns podem desitjar permetre una autenticació basada només en l’ordinador que l’usuari està utilitzant i el seu nom. No és un mètode massa segur, però pot ser pràctic. S’ha de tenir cura que un usuari no autoritzat no es pugui fer amb la clau privada de l’ordinador.

El funcionament d’aquest mètode és el següent: el client envia la signatura creada a partir de la clau privada de l’ordinador que està utilitzant. Llavors el servidor només ha de comprovar-la amb la clau pública de l’ordinador. El missatge utilitzat és el següent:

� SSH_MSG_USERAUTH_REQUEST: És la petició d’autenticació de l’usuari. Conté el nom del mètode d’autenticació, el nom del client que utilitza l’ordinador, la clau pública i els certificats de l’estació que utilitza el client, així com la signatura.

A partir d’aquí, el servidor s’ocupa de comprovar l’autenticitat de l’autenticació.

Consideracions de seguretat

El propòsit d’aquest protocol és millorar la seguretat amb l’autenticació dels usuaris. S’assumeix que aquest protocol funciona sobre el de transport, que ja ha autenticat el servidor, establert un canal de comunicació encriptat, i processat un identificador de sessió únic per aquesta sessió.

Recordem que la capa de transport proporciona un camí secret per l’autenticació del password i altres mètodes per garantir la seguretat de les dades.

4.1.4.3 La Capa de Connexió Ssh

Aquest protocol ha estat dissenyat per funcionar per damunt dels protocols de la capa de transport SSH i la capa d’autenticació d’usuari. Proporciona sessions interactives de login, execució remota de comandes, reencaminament de connexions TCP/IP,etc. El nom de servei d’aquest protocol es “ssh-connection”.

Canals xifrats

Totes les sessions de terminal, reencaminament de connexions, etc. són canals. Tant el client com el servidor poden obrir canals. Si hi ha múltiples canals oberts, aquests són multiplexats en una sola connexió.

4 Entorn del Projecte

- 59 -

Els canals són identificats pel servidor i el client a través de números, tot i que el número que fa referència a un canal concret pot ser diferent a cada banda. Les dades que passen a través del canal són controlades per una finestra de flux de dades. El mètode de la finestra de flux serveix per evitar desbordaments al receptor. El receptor comunica a l’emissor la quantitat de dades que està disposat a acceptar. Aquest li envia els missatges, però va sumant la quantitat de dades enviades a través dels seus missatges. Quan l’emissor se n’adona que el tamany dels missatges que ha enviat ja supera el tamany de la finestra, deixa d’enviar tràfic i torna a demanar al receptor que li augmenti el tamany de la finestra. D’aquesta manera s’aconsegueix que el receptor tingui el control sobre el volum de tràfic.

Per tant no es poden transmetre dades a través d’un canal si no s’ha rebut un missatge indicant que hi ha espai a la finestra disponible.

Quan un servidor o un client vol obrir un nou canal, primer li assigna un número identificador. Després envia un missatge al receptor que inclou el número identificador del canal i el tamany de finestra inicial assignat. El format d’aquest missatge SSH_MSG_CHANNEL_OPEN és el següent:

� Tipus de canal: Identifica el tipus de canal que es vol obrir.

� Número identificador de canal de l’emissor: És el número de canal que li ha assignat l’emissor del missatge. El receptor no té perquè assignar el mateix número de canal que l’emissor.

� Tamany de finestra inicial: Especifica quants bytes de dades poden ser enviats a l’emissor d’aquest missatge sense tornar a ajustar la finestra.

� Tamany de paquet màxim: Especifica el tamany màxim que poden tenir els paquets enviats pel receptor del missatge a través del canal.

� Dades específiques del tipus de canal: Existeixen camps específics per cada tipus de canal.

El receptor del missatge respon amb un missatge del tipus SSH_MSG_CHANNEL_OPEN_CONFIRMATION si ha acceptat obrir el canal o bé SSH_MSG_CHANNEL_OPEN_FAILURE si ha fallat (incloent els motius pels quals ha fallat l’obertura del canal). El missatge de confirmació d’obertura de canal inclou un camp amb el número identificador que li ha assignat el receptor al canal.

Transferència de dades

El tamany de la finestra especifica quants bytes pot enviar l’emissor abans que hagi d’esperar un reajustament de la finestra. Tant l’emissor com el receptor utilitzen el missatge SSH_MSG_CHANNEL_WINDOW_ADJUST per modificar la finestra, que inclou els camps següents:

� Número de canal del destinatari

� Bytes a afegir

4 Entorn del Projecte

- 60 -

Després de rebre aquest missatge, el destinatari pot sumar a la finestra que li quedava els bytes que indiqui el camp.

La transferència de dades es realitza utilitzant els missatges anomenats SSH_MSG_CHANNEL_DATA, que inclouen el número de canal del destinatari i les dades que es volen enviar. Aquest missatge no pot ser més gran que el tamany màxim de paquet assignat al canal ni pot ser enviat si supera en tamany la quantitat de dades que li queda a la finestra.

A part, la capa de transport també té uns límits assignats al tamany dels paquets. El paquet enviat a través del canal no pot infringir les especificacions negociades a la capa de transport.

Tancament d’un canal

Quan el servidor o el client no volen seguir enviant dades a través del canal han d’enviar un missatge SSH_MSG_CHANNEL_EOF. Aquest missatge conté el número de canal del destinatari. No obstant, el canal segueix obert, i per tant es poden seguir enviant dades a través d’ell en l’altre sentit.

Per tancar definitivament un canal, el servidor o el client han d’enviar un missatge SSH_MSG_CHANNEL_CLOSE. Quan el destinatari rebi aquest missatge, ha de respondre amb el mateix tipus de missatge. Es considera que el canal ha estat tancat quan les dues parts implicades han rebut i han enviat aquests missatges.

Quan un canal es tanca s’alliberen els números que identificaven aquest canal i per tant poden ser reutilitzats.

Sessions interactives

Definim com a sessió l’execució remota d’un programa. Aquest programa pot ser una shell, una aplicació, una comanda de sistema, etc. Es poden iniciar múltiples sessions simultàniament.

Per obrir una sessió s’ha d’enviar un missatge SSH_MSG_CHANNEL_OPEN. Ja hem analitzat els camps que conté aquest tipus de missatge a l’apartat A. En el cas que ens ocupa, el camp “Tipus de canal” ha de contenir la cadena de caràcters “session”.

Un cop s’ha iniciat la sessió amb èxit, s’ha d’enviar un missatge de petició del tipus SSH_MSG_CHANNEL_REQUEST. Aquest format de missatge té un camp assignat per indicar al servidor la petició que es vol executar. En aquest projecte només s’utilitza el protocol SSH-2 per executar comandes de manera remota als diferents elements de xarxa. Per executar comandes remotes, hem d’incloure en aquest camp la cadena de caràcters “exec”. A més, el missatge conté un camp per incloure la comanda que estem enviant.

Com hem dit abans, el tamany de finestra es pot acabar en un moment donat. Els missatges utilitzats per augmentar la finestra són els anomenats SSH_MSG_CHANNEL_REQUEST, que han d’incloure la cadena de caràcters “window-

4 Entorn del Projecte

- 61 -

change” en un camp assignat específicament. A part s’inclouen camps per especificar les dimensions demanades.

Consideracions de seguretat

Es dona per fet que aquest protocol està funcionant per sobre d’un protocol de transport segur i s’ha autenticat a tots els implicats en la comunicació. L’autenticació i protecció contra atacs a nivell de xarxa es consideren garantits pels protocols inferiors.

4.1.5 Les Biblioteques Java Utilitzades per Implementar Ssh

S’han utilitzat les biblioteques “Ganymed SSH-2 for Java - build 210” creades per un grup de treball a través d’Internet. S’han obtingut de la pàgina web http://www.ganymed.ethz.ch/ssh2.

Aquestes biblioteques implementen el protocol SSH-2 en Java que permeten la connexió a servidors SSH, obrir sessions SSH (execució de comandes remotes i accés a shell), SFTP (transferència segura de fitxers), etc.

El procés per establir connexió SSH utilitzant aquestes biblioteques és el següent :

� Pas 1: Es crea un objecte Connection(). Aquest inicia la instància de la connexió segura amb el servidor de consoles i estableix la connexió encriptada TCP/IP al servidor SSH-2. Hem d’especificar el nom del servidor scs.

� Pas 2: Es fa una crida al mètode connect(). Aquest executa la instància anterior.

� Pas 3: Es crida algun mètode d’autenticació de l’usuari (com pot ser el mètode de authenticateWithPublicKey(), que utilitza el mètode de xifratge per clau pública). En el nostre cas s’ha usat el mètode authenticateWithPassword(), que permet enviar el nom de l’aparell a configurar i la contrasenya pel canal segur. Si la contrasenya no fos la correcta no ens podríem identificar com a usuaris lícits i la connexió es tancaria. Al laboratori tots els dispositius tenen establerta la mateixa contrasenya i per tant s’ha establert un únic camp individual de contrasenya per tots els dispositius. Això implica que en un entorn on els diferents aparells tinguessin diferents contrasenyes s’haurien de crear camps individuals per emmagatzemar la contrasenya de cada dispositiu (modificant el programa).

� Pas 4: Es crida el mètode openSession() per permetre iniciar la sessió. Es pot iniciar més d’una sessió a la vegada.

� Pas 5: Iniciada la sessió li enviem les comandes a executar.

� Pas 6: Un cop hem acabat d’enviar les comandes i recollit les respostes del servidor

a través de buffers de text, tanquem la connexió amb el mètode close().

4 Entorn del Projecte

- 62 -

4.2 El Servidor de Consoles

Un servidor de consoles és un aparell amb la funció principal d’oferir una fàcil configuració i connexió a diversos elements de xarxa (servidors, routers, commutadors, etc.) i poder-los monitoritzar amb més facilitat.

Per exemple, si al laboratori no es disposés d’un servidor de consoles, per tal de configurar cada router o commutador necessitaríem connectar-nos físicament amb cada aparell (un a un) per configurar-los tots; no cal dir que seria una operació realment lenta. Gràcies al servidor de consoles, podem configurar tots aquests elements només establint una connexió: el de la nostra estació de treball amb el servidor de consoles.

Figura 4.7: Servidor de consoles SCS marca Logical, model del laboratori.

Tots els servidors de consoles (també anomenats SCS, Secure Control Servers) de Logical disposen de les següents característiques:

� Sistema operatiu Linux i el seu conjunt de comandes associades.

� Habilitat per connectar a 16, 32 o 48 ports de consola sèrie compatibles EIA-232 (ja vam veure que els aparells de la marca Cisco disposen d’aquest port).

� Compatibilitat de xarxa 10baseT/100baseTX.

� Preconfiguració de fabrica.

� Implementació de OpenSSH .

� Suport dels protocols NFS (Network File System) i NIS (Network Information Service).

� Suport per ports sèrie SSH.

4 Entorn del Projecte

- 63 -

4.2.1 Característiques del Software

Tots els models SCS estan dissenyats pensant en una administració còmoda de la xarxa. No és necessari aprendre eines d’administració noves o rebre entrenament en noves tècniques d’administració. Només es necessita tenir coneixements en el sistema operatiu Linux per saber administrar un d’aquests servidors. Els SCS disposen de:

� Sistema operatiu Linux de codi obert.

� Comandes d’administració SCS similars a les Linux per a una fàcil administració.

� Pre-configuració de fàbrica per un ràpid funcionament de l’aparell. L’administrador de sistemes només ha d’assignar l’adreça IP i afegir usuaris.

� Els SCS de Logical permeten fins a 250 sessions d’usuari simultànies per accedir als 48 ports sèrie disponibles en alguns models. Els possibles elements connectats a aquests ports sèrie inclouen routers, commutadors, servidors centrals de xarxa, estacions de treball, i altres aparells que necessitin ser monitoritzats.

Figura 4.8: Esquema de funcionament. L’administrador es connecta al scs per poder controlar (a través d’un entorn Linux) la resta de dispositius connectats als seus seus ports sèrie.

4 Entorn del Projecte

- 64 -

4.2.2 Característiques del Hardware

Els aparells estan dissenyats pensant en una còmoda instal·lació en un armari de 19 polzades (que és una mida estàndard internacional). Es pot configurar el SCS a través d’una terminal de connexió local o bé a través d’una connexió de xarxa segura.

Les característiques del hardware són les següents:

� Xassís metàl·lic muntable a l’armari de dispositius de xarxa.

� 16, 32 o 48 ports sèrie.

� Panell LCD frontal amb botons per configurar la xarxa.

� Port 10/100 BaseT.

� Port Console (cable categoria 5).

� Entrada de corrent AC universal (220-240V, 50/60Hz).

4.2.3 Funcions Addicionals

Els SCS poden ajudar també alhora de corregir errors a la xarxa. El SCS és un sistema que escolta i monitoritza missatges (dades ASCII, informació d’error de servidors, etc.) de tots els ports que té connectats. El SCS captura les dades i les emmagatzema als seus buffers de ports, que poden emmagatzemar fins a 256 KB cada un.

Aquesta informació dóna a l’administrador de xarxes un historial de tots els missatges que el pot ajudar a depurar errors en cada dispositiu individualment. Aquesta informació s’emmagatzema en una memòria RAM, per tant significa que tots aquests historials s’esborren si el servidor s’apaga. Per evitar això, existeixen mètodes per guardar la informació en un altre servidor enviant les dades a través de xarxa.

4 Entorn del Projecte

- 65 -

4.2.4 Especificacions Tècniques

Cada sistema SCS de Logical està dissenyat per complir amb les especificacions següents, extretes directament dels seus catàlegs de productes:

Figura 4.9:Taules d’especificacions tècniques.

La seguretat del SCS es garanteix a través d’encriptació i passwords. Els comptes

d’usuaris són establerts per l’usuari administrador, que és qui té plens privilegis per l’administració del sistema.

Un usuari pot establir connexió als dispositius connectats al SCS a través d’una

terminal local i utilitzant comandes, o a través del protocol SSH (que és el mètode utilitzat

4 Entorn del Projecte

- 66 -

a l’aplicació presentada al projecte). Els usuaris poden interactuar amb els dispositius, però primer han de connectar-se al SCS.

4.2.5 Connectant-se al SCS

Totes les connexions físiques al SCS es duen a terme a la part posterior del xassís utilitzant cables estandarditzats. Totes les connexions sèrie i de xarxa utilitzen cablejat convencional de categoria 5, amb jacks de RJ45. S’encén el SCS a través d’un interruptor a la part posterior.

Figura 4.10: Part posterior d’un model scs320.

Figura 4.11: Part posterior d’un model SCS Dentinel de 32 connexions sèrie.

4.2.6 Aparells Sèrie

Tots els elements de xarxa connectats als ports console han de ser compatibles amb l’estàndard EIA-232. S’utilitzen cables de categoria 5 amb connectors RJ45 per unir les connexions del ports console. Tots els port estan configurats per defecte com a ports DCE, amb ratios de connexió de 300 a 115 baudis. No obstant, tots els paràmetres de port incloent el DCE o DTE són configurables port per port. A cada port també se li pot assignar un nom, per defecte els seus noms són de l’estil “port1”, “port13”, etc.

El SCS no necessita una refrigeració addicional a part de la que normalment ve de sèrie als armaris rack de dispositius. Només s’ha de tenir la precaució de no tapar les obertures de ventilació dels laterals. En un rack tancat es recomana que l’armari disposi d’un ventilador per proporcionar el moviment d’aire adequat.

5 Disseny de l’Aplicació

- 67 -

5 Disseny de l’Aplicació

5 Disseny de l’Aplicació

- 68 -

5 Disseny de l’Aplicació

En aquesta secció s’explicarà com fer funcionar el programa i les seves funcions. Aquesta aplicació s’ha implementat totalment amb Java (J2SE, Java 2 Plataform Standard Edition). S’ha utilitzat la màquina virtual Java de la versió JRE 1.5.0.04 per a Windows. S’ha fet servir el compilador de Java Eclipse versió 3.2.2. La interfície gràfica s’ha creat utilitzant les biblioteques gràfiques swing. Per últim s’han utilitzat les biblioteques ganymed-ssh2-build210 per establir la comunicació SSH amb el servidor de consoles. 5.1 Opcions del Programa

Quan executem el programa per primer cop, ens apareix per pantalla la imatge següent:

Figura 5.1: Pantalla inicial del programa dividida en zones.

Observant la figura 5.1 podem dividir la pantalla principal de la interfície gràfica en 4

seccions diferents.

� 1: Menú superior. � 2: Menú lateral esquerra. � 3: Zona central de dibuix. � 4: Barra inferior d’ajuda.

5 Disseny de l’Aplicació

- 69 -

5.1.1 Menú Superior

Com és habitual en la majoria de programes que disposen d’interfície gràfica, hi ha una barra d’eines a la part superior de la pantalla. És el menú superior. Aquest està dividit en dues pestanyes, la d’inici i la de connexions.

Figura 5.2: Menú superior, apartat d’inici.

Les opcions de l’apartat inici del menú superior són les següents:

� Nou esquema (Alt-N): Aquesta opció neteja la zona de dibuix per permetre tornar a

dibuixar un esquema (eliminant l’esquema dibuixat anteriorment). De cara a l’usuari, seria equivalent a tancar el programa i tornar a iniciar-lo.

� Guardar esquema (Alt-S): Aquesta opció permet guardar en un fitxer sense extensió

l’esquema de xarxa dibuixat. La opció de guardar permet crear perfils de xarxa diferents per així poder-los carregar posteriorment i estalviar-nos feina.

Figura 5.3: Navegador de directoris per guardar l’esquema.

5 Disseny de l’Aplicació

- 70 -

� Carregar esquema (Alt-L): Carrega un esquema guardat anteriorment. S’obre un

navegador de directori que ens permet seleccionar l’arxiu, i si l’arxiu és correcte el carrega a pantalla. No és recomanable intentar carregar arxius no creats amb l’aplicació mateixa; no s’ha implementat cap control que analitzi el tipus de fitxer a obrir ja que s’ha considerat innecessari. En cas de fer-ho per accident, es recomana tancar el programa i tornar a carregar-lo.

Figura 5.4: Format d’un fitxer guardat. No s’aconsella intentar obrir fitxers que no hagin estat creats per l’aplicació a fi

d’evitar malfuncionaments.

� Sortir (Alt-Q): Tanca el programa. L’aplicació està programada per sortir immediatament sense cap més pregunta, així que es recomana guardar l’esquema abans de seleccionar aquesta opció si es vol seguir treballant amb ell posteriorment.

Les opcions de l’apartat Connexions del menú superior són les següents:

Figura 5.5: Opcions de connexions.

5 Disseny de l’Aplicació

- 71 -

� Estat dels dispositius (Alt-D): Aquesta opció obre una altra pantalla que permet

enviar comandes de consulta a dispositius específics per veure’n la resposta a la pantalla. Per desgràcia, les respostes del servidor es visualitzen d’una manera estranya per culpa del procés de captura de caràcters als buffers de text. S’aconsella la seva utilització per comprovar que un dispositiu està correctament configurat o bé que respon a les nostres peticions.

Figura 5.6: Pantalla d’Estat de Dispositius. A la columna de l’esquerra disposem de les comandes relacionades amb els

commutadors i a la dreta les comandes relacionades amb els routers.

Aquestes comandes ja han estat detallades en subapartats dels capítols 3.4 i 3.5.

5 Disseny de l’Aplicació

- 72 -

� Connexió (Alt-C): És la comanda a utilitzar un cop ja tenim l’esquema dibuixat i

tots els valors de configuració establerts al nostre gust. A partir d’aquesta pantalla, s’estableix la connexió i es configuren seqüencialment tots els dispositius de forma automàtica. Cal advertir que mentre estigui comunicant-se amb el servidor de consoles, el programa quedarà en un estat de “congelament” en el que no podrem fer res.

Figura 5.7: Podem observar que l’únic que hem de fer per començar a configurar els dispositius és posar el nom del

servidor i la seva contrasenya. La pantalla de text ens indicarà els possibles errors.

� Buidar taula vlan: Aquesta opció esborra totes les vlan que haguem creat per l’esquema. Aquesta opció també és accessible a través de la pantalla de configuració dels commutadors.

5 Disseny de l’Aplicació

- 73 -

5.1.2 Menú Lateral Esquerre

Aquesta secció ens permet interactuar amb la zona central de dibuix. Està dividit en dos apartats, el d’aparells i el de configurar.

Figura 5.8: Menú lateral esquerre.

La secció d’aparells serveix per incloure dispositius a l’esquema de xarxa. Afegir aquests aparells és tan senzill com prémer el botó del dispositiu desitjat i seleccionar la zona central de dibuix on es vol incrustar l’aparell. Podem afegir fins a 30 dispositius en un sol esquema.

Figura 5.9: Un router, un commutador de 12 interfícies i un commutador de 24 interfícies afegits a la zona central de

dibuix utilitzant els botons de la secció aparells .

La secció de configurar ens permet interactuar amb els aparells ja afegits a la zona

central de dibuix. Els quatre botons funcionen d’una manera similar. S’ha de prémer el botó elegit i després seleccionar un aparell objectiu. Si tot funciona bé, en aquest moment s’executarà la funció demanada.

5 Disseny de l’Aplicació

- 74 -

� Connectar aparells: Aquesta opció permet establir cablejat entre els diferents

dispositius. No obstant, aquest cablejat només és visual. És a dir, aquesta comanda està destinada a fer visualment més comprensible la xarxa i no és necessari utilitzarla per configurar correctament els dispositius. L’ús d’aquesta eina és totalment opcional; de fet es dona la llibertat a l’usuari d’establir les connexions com vulgui i no tenen per què representar correctament la configuració de la xarxa real.

Figura 5.10: Exemple de connexions entre dispositius. El cable vermell comunica interfícies sèrie entre routers, el blau

comunica commutadors i el groc comunica routers amb commutadors.

� Eliminar connexions: Aquesta opció permet eliminar els cables dibuixats a la zona central de dibuix. S’eliminen tots els cables que enllacen l’aparell seleccionat. Com ja s’ha dit, el cablejat no influeix alhora de configurar els aparells. El cablejat dibuixat pot ser totalment diferent a com realment està sent configurada una xarxa, això no influirà en la posterior configuració dels aparells.

5 Disseny de l’Aplicació

- 75 -

� Configurar aparells: Aquesta opció permet insertar les dades a configurar a cada element. A la secció de joc de proves es mostrarà la seva utilització amb més detall a través d’exemples pràctics.

Figura 5.11: Exemple de finestra de configuració d’un router.

� Eliminar element: Aquesta opció esborra un aparell de la zona central de dibuix, així com totes les dades configurades sobre ell.

5.1.3 Zona Central de Dibuix

És la zona on apareixen els aparells a configurar. Per defecte s’ha elegit no permetre tenir més de 30 elements simultàniament en pantalla. Cada element té un dibuix que el diferencia de la resta. 5.1.4 Barra d’Ajuda

Només és una barra amb un camp de text que mostra missatges d’ajuda a l’usuari. Hi ha diferents missatges per ajudar o orientar a l’hora de prendre decisions.

5 Disseny de l’Aplicació

- 76 -

5.2 Historial de Comandes

Cada cop que s’executa una connexió de configuració al servidor de consoles es genera i es guarda un fitxer de text a la carpeta arrel on s’executa el programa. Aquest fitxer de text conté un llistat amb totes les comandes executades i les sortides de resposta que ha contestat la consola de configuració.

Pot ser útil examinar o guardar aquest fitxer si es detecten errors o bé problemes de compatibilitat. No obstant, aquest fitxer és sobreescrit cada cop que es torna a connectar amb el servidor de consoles. El fitxer és anomenat historial de comandes i pot ser visualitzat utilitzant qualsevol editor de text.

Figura 5.12: Historial de comandes típic.

S’ha de tenir amb compte que aquest historial pot resultar a priori bastant enrevessat, però amb una mica de pràctica pot ser utilitzat sense cap problema.

5 Disseny de l’Aplicació

- 77 -

5.3 Configuració de Dispositius

Les pantalles de configuració de dispositius permeten configurar múltiples opcions pels elements de xarxa. Al tema 6 veurem amb un seguit d’exemples la manera correcta d’utilitzar el programa. No obstant, aquí adjuntem un breu resum de les opcions que se’ns donen en configurar els elements de xarxa.

5.3.1 Router

Figura 5.13: Pantalla principal de configuració dels routers.

� Nom del dispositiu: Cada router té un nom assignat. Per configurar correctament el

router que ens interessa, hem d’indicar-li el nom correcte en aquest camp . � Velocitat, IP i màscara de les interfícies: Aquests són els valors que s’han de

configurar a les interfícies per tal que funcionin correctament. La velocitat només s’ha d’incloure a la interfície que funcioni com a DCE.

� Topologia d’encaminament: El programa implementa la configuració de tres tipus d’encaminament, dinàmic OSPF, dinàmic RIP o estàtic.

� Dinàmic OSPF: En cas de seleccionar aquest tipus d’encaminament se’ns demanarà que assignem un número de procés i la IP-màscara de les xarxes a les que tenim accés directe. El camp màscara ha de contenir el valor de la màscara invertida.

� Dinàmic RIP: En aquest cas només hem d’entrar les IP de les xarxes que tenim connectades directament al router. En el cas RIP no hem de donar la màscara.

� Estàtic: L’encaminament estàtic necessita saber quina IP té la seva porta d’enllaç (o gateway). A més a més, necessita saber les IP de les xarxes que el router no té connectades directament.

5 Disseny de l’Aplicació

- 78 -

5.3.2 Commutadors

Figura 5.14: Pantalla principal de configuració de commutadors de 12 interfícies. Les opcions per al commutador de 24 interfícies són les mateixes.

Es permet configurar les opcions següents als commutadors.:

� Nom del dispositiu: Identifica el commutador que estem configurant. � Interfícies i VLAN: Permet decidir a quines VLAN han de pertànyer les interfícies.

Per defecte totes les interfícies pertanyen a la VLAN 1. La configuració de les interfícies és un procés lent, per això el programa no configurarà les interfícies a la VLAN 1(valor que suposadament ja tenen assignat) si no s’especifica d’una manera especial. Per forçar que el programa configuri una interfície a la VLAN 1, hem de marcar-la amb els caràcters “1+”.

� Nom i número de nova VLAN: Per crear una VLAN és necessari assignar-li un nom i el número. Per exemple, podem crear la vlan 3 amb el nom recepció.

� Seguretat: En prémer aquesta opció ens apareixerà una nova finestra que ens permetrà seleccionar quines adreces MAC tindran accés a quines interfícies. Un ordinador no autoritzat que s’intenti connectar a una interfície amb la seguretat MAC habilitada no podrà utilitzar la xarxa.

� Configurar interfícies: En prémer aquest botó, ens apareixeran múltiples opcions per pantalla.

� Deshabilitar interfícies: Com el seu propi nom indica, deshabilita una interfície. Una interfície dehabilitada no treballa.

� Connexions a routers: S’han de marcar aquesta casella a totes les interfícies que estan connectades a un router.

� Etherchannel: S’ha de marcar totes les caselles que vulguin implementar Etherchannel entre dos commutadors. Només un dels dos commutadors connectats ha d’activar aquesta opció (no els dos).

� Velocitat de les interfícies: Es permet de configurar una velocitat específica per a cada interfície. La opció per defecte és l’Auto, és a dir, que el commutador elegeix la velocitat més adequada.

5 Disseny de l’Aplicació

- 79 -

5.4 Tractament d’errors

El programa ha estat dissenyat per tenir amb compte els possibles errors de l’usuari en utilitzar-lo o els errors que poden succeir mentre es configuren els elements de xarxa. En aquest apartat es proporciona un llistat amb la descripció d’alguns d’aquests missatges i les possibles solucions.

S’han omès missatges d’error més bàsics, que es poden entendre sense necessitar comentaris addicionals.

Límit d’aparells superat. Torna a executar el programa:

Missatge que ens apareixerà si insertem un excés d’aparells a l’àrea de dibuix (aproximadament uns trenta). La solució és reiniciar el programa.

La màscara de la interfície s0/X és incorrecta al router Y:

El format correcte a l’hora d’insertar màscares és el següent: A.B.C.D. Per exemple, 12.34.23.12. Existeixen moltes variants d’aquest tipus de missatge.

Falta assignar nom al router amb ID X:

Aquest tipus de missatges ens indiquen que estem intentant configurar un esquema de xarxa on ens hem oblidat d’anomenar algun dels seus elements. Hem de repassar que tots els dispositius tinguin un nom assignat.

Alguna IP repetida al router X:

Aquest error ens indica que hi ha IP repetides en algun dispositiu. Per exemple, si hem assignat la mateixa IP a dues interfícies diferents.

Format incorrecte IP a la interfície X del router Y:

Aquest missatge ens pot aparèixer en estar configurant els elements a través del servidor de consoles. En aquest cas, el dispositiu ens indica que la IP que li estem intentant configurar té un format correcte, però no està permesa pels motius que siguin. Velocitat d’interfíce no suportada al router X: L’element de xarxa ens indica que la velocitat que li estem assignant no li està permesa. En principi aquest missatge no ens hauria d’aparèixer mai, ja que ens és impossible d’assignar una velocitat no permesa utilitzant la interfície gràfica. Format incorrecte IP o màscara a encaminament OSPF al router X El router no ens permet utilitzar una IP o una màscara amb el format assignat a l’hora de declarar una xarxa utilitzant el protocol d’encaminament OSPF. Aquest missatge també té les seves variants en l’encaminament estàtic i dinàmic RIP, aquests ja no els analitzarem en aquest apartat.

5 Disseny de l’Aplicació

- 80 -

Número de procés i/o IP-Màscara OSPF incorrectes al router X: Aquest missatge d’error pot indicar que el procés que hem intentat d’introduir en configurar OSPF és incorrecte, que hi ha una IP o màscara incorrectes o ambues. La @MAC: X no s’ha acceptat al commutador Y amb el nom Z i interfície A: Aquest missatge tan descriptiu ens indicarà que la MAC a la direcció que ens mostra s’ha de canviar per algun motiu. Nombre màxim de @MAC segures al commutadorX amb id Y. No s’ha inclós la @MAC:Z a la interfície A: Cada model de commutador permet un nombre màxim d’adreces MAC en el moment d’implementar la seguretat de les interfícies. En aquest, cas podem eliminar adreces MAC anteriors a través de la comanda no switchport mac-address de la finestra “Estat dels Dispositius” al programa. En cas que estiguem intentant configurar una MAC que ja existia, el programa ens ho indicarà amb un missatge d’Avís. La @MAC segura al commutador X amb id Y no s’ha inclòs. La @MAC ja existia en una altra interfície: No es permet configurar la mateixa MAC segura en dues interfícies diferents. Has intentat modificar el nom d’una VLAN reservada (X) al commutador amb id Y: En el moment de tractar VLAN s’ha de tenir amb compte que existeixen VLAN reservades per la propia administració dels aparells que no poden ser modificades. La solució en aquest cas és utilitzar un altre número de VLAN per configurar la xarxa. Has configurat una interfície al commutadorX amb id:Y utilitzant una VLAN reservada: És possible assignar una VLAN reservada a una interfície, però com que no és una acció gaire freqüent s’ha inclós un missatge d’avís per recordar-ho a l’usuari i fer-li veure que pot estar cometent un error involuntari. La interfície fa0/X al commutadorY ha creat una VLAN Z nova a la base de dades del commutador: Aquest avís ens indicarà que hem fet pertànyer una interfície del commutador a una VLAN que no hem creat utilitzant l’opció de “crear VLAN”. No és un error en si mateix, però val la pena tenir-ho present. No s’ha pogut accedir al dispositiu X. Algun nom o contrassenya incorrecte: Com el mateix missatge indica, hem de repassar els noms dels dispositius per comprovar que no haguem anomenat un dispositiu inexistent.

6 Joc de Proves

- 81 -

6 Joc de Proves

6 Joc de Proves

- 82 -

6 Joc de Proves

L’objectiu d’aquest tema és el de comprovar el correcte funcionament del programa a través d’exercicis pràctics. Totes aquestes proves s’han realitzat al laboratori 115 (DEIM VI).

Figura 6.1: Laboratori 115.

En totes les proves s’ha arribat als objectius plantejats amb èxit, utilitzant només el

programa implementat. S’ha de tenir amb compte però que determinades funcions poden no configurar-se correctament degut a les configuracions inicials dels aparells. En aquests casos es recomana esborrar tota configuració inicial dels aparells i reiniciar-los abans de començar el procés de configuració utilitzant el programa.

A més, el programa ha estat dissenyat per tal que avisi l’usuari quan algun paràmetre

dissenyat a l’esquema dibuixat no s’ha pogut configurar correctament. Si bé s’ha fet una cerca exhaustiva dels errors més freqüents i s’ha intentat que l’aplicació avisi l’usuari quan aquests passin, és possible que s’hagi passat alguna cosa per alt. En aquest cas es recomana visualitzar l’historial de comandes i analitzar amb cura quina de les comandes no ha estat realitzada amb èxit.

Els exercicis plantejats a continuació consisteixen a configurar els routers i commutadors de l’armari del laboratori per complir els requisits d’un esquema de xarxa. En aquests exercicis s’han utilitzat la major part de les opcions de configuració implementades a l’aplicació.

6 Joc de Proves

- 83 -

6.1 Esquema de Xarxa Plantejat per a l’Avaluació

Per tal de realitzar les proves que es detallen a continuació, s’ha utilitzat un esquema de xarxa consistent de dos routers i dos commutadors. Específicament, el material utilitzat ha estat el següent:

� 2 routers de la sèrie 2600.

� 2 commutadors de la sèrie 2950 de 12 o 24 interfícies ethernet.

� 4 PC amb el sistema operatiu Debian instal·lat.

L’esquema proposat del muntatge és el següent:

Figura 6.2: Esquema de xarxa plantejat.

Aquest esquema ens permet provar totes les funcions de l’aplicació còmodament. A continuació descriurem amb més detall els exercicis plantejats.

6 Joc de Proves

- 84 -

6.2 Prova 1

A partir de l’esquema plantejat a l’apartat 6.1, configurarem els dispositius mostrats per complir els paràmetres següents:

Dispositiu Interfície Adreça de xarxa

IP assignada Màscara Velocitat DCE

Serial 0 10.1.2.0 10.1.2.1 255.255.255.0 - Serial 1 10.1.3.0 10.1.3.1 255.255.255.0 256000 Router 5 Ethernet 195.20.31.0 195.20.31.1 255.255.255.0 - Serial 0 10.1.3.0 10.1.3.2 255.255.255.0 - Serial 1 10.1.2.0 10.1.2.2 255.255.255.0 256000 Router 6 Ethernet 196.20.31.0 196.20.31.1 255.255.255.0 -

PC 1 Eth0 195.20.31.0 195.20.31.2 255.255.255.0 - PC 2 Eth0 195.20.31.0 195.20.31.3 255.255.255.0 - PC 3 Eth0 196.20.31.0 196.20.31.2 255.255.255.0 - PC 4 Eth0 196.20.31.0 196.20.31.3 255.255.255.0 -

Figura 6.3: Configuració de la prova 1.

Tots els PC formaran part de la VLAN 1. Comprovarem que els quatre PC es poden veure entre ells utilitzant la comanda ping.

Figura 6.4: Esquema plantejat a la prova 1.

6 Joc de Proves

- 85 -

6.2.1 Realització de la Prova 1

El primer pas és el de realitzar les connexions del cablejat. Hem de connectar les targetes de xarxa dels PC a les interfícies dels commutadors utilitzant de cable ethernet.

També connectarem les interfícies ethernet dels routers amb les dels commutadors seguint el disseny plantejat a l’esquema de xarxa. Per acabar, hem de connectar els ports sèrie DCE amb els DTE als routers.

Un cop hem realitzat les connexions, ja podem encendre els dispositius. Pel que fa als PC, encara hem de configurar la seva IP i les taules d’encaminament. Els hem iniciat amb una imatge Linux. Hem de configurar-los per tal que compleixin amb les especificacions que es donen a l’exercici. Mostrem a continuació com configurar el PC 1:

� Des d’una terminal escrivim la comanda per fer-nos superusuari (és a dir, obtenim els permisos d’administració):

milax@deim608:~$ su Password: ********** deim608:/home/deim#

� Donem de baixa la interfície ethernet de xarxa. És el pas previ per configurar la interfície amb la IP que volem:

deim608:/home/deim#ifconfig eth3 down

� Assignem una nova IP :

deim608:/home/deim#ifconfig eth3 195.20.31.2 up

� Per últim configurem la taula d’encaminament del PC:

deim608:/home/deim#route add default gw 195.20.31.1 Aquesta configuració de les taules d’encaminament obligarà el PC a enviar totes les peticions que facin referència a xarxes alienes a la seva pròpia xarxa a través de la interfície que assignarem al router 5.

Podem comprovar que s’ha modificat correctament la taula d’encaminament amb la comanda següent:

deim608:/home/milax#netstat –r

La sortida resultant ha estat la següent: Kernel IP routing table Destination Gateway Genmask Fla gs MSS Window irtt Iface 195.20.31.0 * 255.255.255.0 U 0 0 0 eth3 default 195.20.31.1 0.0.0.0 UG 0 0 0 eth3

S’han de configurar els tres PC restants de la mateixa manera. Només hem de tenir cura d’assignar els paràmetres que els hi correspon.

6 Joc de Proves

- 86 -

Un cop ja tenim els quatre PC configurats i tota la xarxa connectada, ja podem

dibuixar l’esquema utilitzant el programa.

Un cop iniciat el programa, hem de dibuixar els elements de xarxa utilitzant el menú esquerre. Podem observar com ha quedat a la figura 6.5.

Figura 6.5: Esquema de xarxa dibuixat.

Com s’ha comentat anteriorment, el dibuix del cablejat a l’esquema no és obligatori ni necessari a l’hora de configurar la xarxa, però és útil per poder visualitzar millor el tipus de xarxa que s’està dissenyant.

6 Joc de Proves

- 87 -

Ara ja podem configurar els dispositius. Mostrem el procés pel que fa al router 5:

Figura 6.6: Configuració del router 5.

A la imatge 6.4 podem observar que hem omplert tots els camps amb els valors que ens ha donat l’enunciat. Hem de prémer el botó “Guardar” per tal que es guardin els valors escrits als camps de text. Per tal de configurar l’encaminament, premem la casella d’encaminament estàtic.

La imatge següent correspon a la pantalla que s'obre en prémer el botó per configurar l’encaminament estàtic. En el cas del Router 5, li hem d’incloure la xarxa a la que no està connectat directament, és a dir, la xarxa 196.20.31.0. El Gateway (o porta d’enllaç) serà la interfície que estigui connectada a la nostra interfície DCE (la interfície DTE del router 6). Podem observar que aquesta IP és la 10.1.3.2.

6 Joc de Proves

- 88 -

Figura 6.7: Encaminament estàtic.

No hem de configurar més paràmetres al Router 5. Per configurar el Router 6 hem de seguir els mateixos passos que en el cas del Router 5, estant atents a la taula especificada a l’inici d’aquest exercici.

Configurar els dos commutadors no és especialment complicat. Ens assegurarem que les interfícies que tenim connectades formin part de la VLAN 1. En el nostre cas hem utilitzat les tres primeres interfícies dels commutadors per establir tot el cablejat. Hem de posar el signe “+” al final dels “1” si volem que les interfícies es configurin a la VLAN1. Això és degut al fet que el programa està pensat per creure que totes les interfícies dels commutadors ja estan assignades a la VLAN 1 per defecte.

En altres paraules, si no afegim el signe “+” al final del valor “1” a la interfície, aquesta no es configurarà i seguirà formant part de la VLAN configurada prèviament. Ha estat programat així perquè configurar les interfícies dels commutadors una a una enlenteix molt el procés, i així ens podem estalviar de configurar les interfícies que ja sabem que formen part de la VLAN 1, que és la que ens interessa.

Com que no hem connectat cap dispositiu a les interfícies de la 4 a la 12, les deixem a “1”.

6 Joc de Proves

- 89 -

Figura 6.8: Configuració del commutador 1.

Per últim, només ens queda indicar al programa quina interfície s’està utilitzant per connectar amb el router. Per fer això hem d’entrar a l’apartat de “configurar interfícies”. Només hem de marcar la segona casella que fa referència a la interfície 3, que és la que hem fet servir per connectar el router.

Figura 6.9: Pantalla de configuració d’interfícies.

6 Joc de Proves

- 90 -

El commutador 2 es configurarà de la mateixa manera que el commutador 1, només hem de canviar el camp del nom.

Ara ja tenim tots els elements configurats correctament. Només hem de buscar la opció “connexió” al menú superior de la pantalla principal. A la pantalla que s’obre posem el nom del servidor, la contrasenya dels dispositius i ens connectem.

Figura 6.10: Pantalla de configuració dels dispositius.

Després d’uns minuts d’espera, el programa es descongela i podem comprovar si tot s’ha configurat correctament.

Per comprovar que la xarxa funciona, fem servir la comanda ping des dels PC per veure si es poden comunicar entre ells. Un exemple de l’ús de la comanda el donem a continuació amb el PC 1 enviant els paquets ICMP al PC 4:

deim608:/home/milax# ping 196.20.31.2 PING 196.20.31.2 (196.20.31.2) 56(84) bytes of data . 64 bytes from 196.20.31.2: icmp_seq=1 ttl=62 time=6 .67 ms 64 bytes from 196.20.31.2: icmp_seq=2 ttl=62 time=6 .63 ms 64 bytes from 196.20.31.2: icmp_seq=3 ttl=62 time=6 .67 ms 64 bytes from 196.20.31.2: icmp_seq=4 ttl=62 time=6 .64 ms 64 bytes from 196.20.31.2: icmp_seq=5 ttl=62 time=6 .61 ms --- 196.20.31.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4016ms rtt min/avg/max/mdev = 6.610/6.649/6.679/0.025 ms

6 Joc de Proves

- 91 -

Si la xarxa estigués mal configurada, ping ens mostraria el missatge Host Unreachable.

Per últim podem comprovar que les taules d’encaminament dels routers s’han omplert correctament amb la comanda show ip route des del mode privilegiat:

Figura 6.11: Show ip route des del router 5.

Podem observar les direccions de xarxa connectades directament al router i la xarxa a la qual ha d’accedir a través de la interfície del router veí.

6 Joc de Proves

- 92 -

6.3 Prova 2

Per realitzar la prova 2 utilitzarem la configuració següent:

Dispositiu Interfície Adreça de xarxa

IP assignada Màscara Velocitat DCE

Serial 0 172.17.0.0 172.17.0.1 255.255.255.0 - Serial 1 172.16.0.0 172.16.0.2 255.255.255.0 256000 Router 7 Ethernet 192.168.1.0 192.168.1.1 255.255.255.0 - Serial 0 172.16.0.0 172.16.0.1 255.255.255.0 - Serial 1 172.17.0.0 172.17.0.2 255.255.255.0 256000 Router 8 Ethernet 192.168.2.0 192.168.2.1 255.255.255.0 -

PC 1 Eth0 192.168.1.0 192.168.1.2 255.255.255.0 - PC 2 Eth0 192.168.1.0 192.168.1.3 255.255.255.0 - PC 3 Eth0 192.168.2.0 192.168.2.2 255.255.255.0 - PC 4 Eth0 192.168.2.0 192.168.2.3 255.255.255.0 -

Figura 6.12: Configuració de la prova 2.

Bàsicament, se segueix el mateix procediment que en el cas de la prova 1, però s’ha d’implementar l’encaminament dinàmic RIP.

6.3.1 Realització de la Prova 2

Es recomana que cap router estigui encaminant dinàmicament abans de començar la configuració. Hem eliminat la configuració inicial i reiniciat els routers per començar amb les configuracions inicials netes. Això ho hem fet amb les comandes següents:

� Router7#erase startup-config: Esborrem la configuració inicial del router.

� Router7#reload: Reiniciem el dispositiu.

Un cop el router ha reiniciat (responent “no” a les preguntes d’autoconfiguració), ens trobem amb un router sense cap configuració prèvia. Algunes opcions que hem de configurar després de reiniciar el router són les següents:

� router(config)#hostname Router7: Anomena el router amb l’etiqueta “Router7”.

� Router7#copy running-config startup-config: Guarda la configuració configurada a la memòria del dispositiu.

Per configurar correctament els dispositius, hem seguit els mateixos passos que a la prova 1, però adaptant els valors amb els demanats a la taula de l’exercici en què ens trobem. Els canvis principals es donen a l’encaminament dels routers.

6 Joc de Proves

- 93 -

Figura 6.13: Configuració dinàmica RIP.

A la imatge superior podem observar la pantalla de configuració de l’encaminament RIP per al router 7. Per configurar l’encaminament RIP, hem d’incloure les IP de les xarxes que tenim connectades al router. La màscara no és necessària per encaminar RIP.

Un cop configurades les taules d’encaminament dels routers i configurats els commutadors de la mateixa manera que a la prova 1, podem connectar-nos amb el SCS i esperar que l’aplicació acabi de configurar tots els dispositius.

Observem ara les taules d’encaminament dels routers:

Figura 6.14: Taula d’encaminament del router 7. Podem observar com ha inclòs a la seva taula la xarxa a la que té accés l’altre router.

6 Joc de Proves

- 94 -

Figura 6.15: Taula d’encaminament del router 8.

A més podem observar l’estat de les interfícies amb la comanda show ip interface brief per comprovar que les interfícies s’ha configurat correctament:

Figura 6.16: Taula d’estat d’interfícies. Router 7.

Figura 6.17: Taula d’estat d’interfícies. Router 8.

Per últim, amb la comanda ping hem comprovat que els quatre PC es poden comunicar entre ells.

6 Joc de Proves

- 95 -

6.4 Prova 3

Utilitzarem l’esquema anterior però implementant l’encaminament dinàmic OSPF i creant dues VLAN. El PC1 i el PC3 formaran part de la Vlan1 i el PC2 i PC4 formaran part de la Vlan2.

6.4.1 Realització de la Prova 3

El procediment serà similar als exercicis anteriors. No obstant, hem de tenir amb compte que s’ha de crear un nom que identifiqui a la Vlan 2 a la base de dades. En aquest cas, hem anomenat la nova VLAN amb l’original nom de vlan2:

Figura 6.18: Configuració del commutador.

A la figura superior es mostra el procediment realitzat per crear la vlan 2. Posem el nom al camp “Nom nova Vlan”, i assignem el número desitjat al camp “Número nova Vlan”. Si no realitzéssim el pas d’identificar la Vlan 2 amb un nom, el programa configuraria les interfícies als commutadors, però ens mostraria un avís indicant-nos que no ha pogut assignar un nom a aquesta Vlan.

Com podem observar, també hem configurat la interfície 2 per tal que formi part de la Vlan 2.

6 Joc de Proves

- 96 -

Als routers hem agregat les xarxes i les màscares. Com podem observar a la imatge següent, hem iniciat el procés OSPF número 90.

Figura 6.19: Configuració OSPF al router 6.

Al router 7:

Figura 6.20: Configuració OSPF al router 7.

6 Joc de Proves

- 97 -

En el cas de l’encaminament OSPF, les xarxes on estem connectats es declaren donant la IP i la màscara invertida.

Un cop hem acabat de configurar la xarxa, podem observar les taules OSPF del router 7:

Figura 6.21: Taula OSPF del router 7.

I pel que fa a les taules del router 8:

Figura 6.22: Taula OSPF del router 8.

6 Joc de Proves

- 98 -

També ensenyem l’estat de les interfícies al commutador s1 i s2 com a exemple. La comanda escrita és show interfaces status:

Figura 6.23: Estat de les interfícies a un commutador.

Com en el cas de les proves anteriors, es comprova que els PC es veuen utilitzant la comanda ping.

6 Joc de Proves

- 99 -

6.5 Prova 4

Aquest exercici el realitzarem utilitzant només dos commutadors i quatre PC. L’exercici consisteix a connectar els dos commutadors directament a través de les seves interfícies, creant una connexió Etherchannel. Aquestes connexions uniran els dos commutadors i els quatre PC sense utilitzar routers.

Figura 6.24: Esquema de xarxa de la prova 4.

6.5.1 Realització de la Prova 4

Per començar, connectarem els dos commutadors amb dos PC cadascun. Encara no hem de connectar els commutadors entre ells.

Després hem de configurar etherchanel a les interfícies elegides que uneixin els dos commutadors, en el nostre cas hem elegit les interfícies 7 i 8 del commutador 1. Només s’han de configurar així les interfícies d’un dels dos commutadors.

6 Joc de Proves

- 100 -

Figura 6.25: Configuració de les interfícies a un dels dos commutadors.

A la figura 6.25 podem observar que configurar les interfícies amb Etherchanel utilitzant el programa, és tan senzill com marcar la tercera casella de les interfícies elegides.

Ja podem començar amb la configuració. Un cop l’aplicació hagi acabat de configurar els dispositius a través del servidor de consoles, agafem dos cables creuats i connectem les interfícies 7 dels commutadors s1 i s2. Després fem el mateix amb les interfícies 8. Podem comprovar que s’ha activat Etherchanel a la pantalla següent (comanda show interfaces status):

6 Joc de Proves

- 101 -

Figura 6.26: Estat de les interfícies i sumari de les connexions Etherchannel al commutador 1.

Ara els dos commutadors estan units a través d’un sol cable lògic, el que permet augmentar l’ample de banda que els comunica.

7 Conclusions

- 102 -

7 Conclusions

7 Conclusions

- 103 -

7 Conclusions

El desenvolupament d’aquest projecte m’ha permès obtenir coneixements sobre diferents camps.

Per una banda, he pogut experimentar el disseny gràfic dins l’entorn de programació Java. He constatat que la més mínima aplicació visual programada en Java pot necessitar desenes o centenars de línies de codi. No obstant, aquest entorn de programació gràfic disposa d’una flexibilitat increïble a l’hora de desenvolupar aplicacions.

Pel que fa a l’entorn de treball, m’ha estat possible manipular els commutadors, routers i el servidor de consoles del laboratori amb total llibertat. A més he pogut aprofundir en el funcionament del protocol SSH, un protocol àmpliament utilitzat en tot tipus d’aplicacions per millorar la seguretat a les xarxes. No ha estat una feina fàcil, ja que els RFC d’on m’he documentat són documents altament tecnificats en anglès.

Les biblioteques SSH són un exemple de la flexibilitat del llenguatge de programació

Java alhora d’implementar protocols, ja que treballen amb aquest protocol sense cap problema.

L’aplicació resultant del desenvolupament del projecte pot ajudar a automatitzar el manteniment de xarxes i estalviar temps als seus administradors. Encara que l’aplicació no disposi de totes les comandes existents per configurar els elements de xarxa, qualsevol persona amb baix nivell de programació pot adaptar el codi per satisfer les seves necessitats.

L’opció de guardar l’esquema de xarxa en un fitxer per tornar-lo a carregar

posteriorment és un punt important per fer i desfer configuracions de xarxes un cop i un altre d’una manera senzilla, sense haver d’entrar a configurar les consoles dels aparells manualment. A més, l’aplicació permet configurar una xarxa tenint pocs coneixements sobre l’administració d’aparells Cisco.

Per últim, s’ha de remarcar que aquest projecte no hauria estat possible sense disposar de les biblioteques de comunicació SSH. S’han provat tres versions de biblioteques de programadors diferents i les elegides han estat les més ben documentades, les que realitzen les funcions necessàries per al desenvolupament d’aquest projecte sense més complicacions.

8 Recursos Utilitzats

- 104 -

8 Recursos Utilitzats

8 Recursos Utilitzats

- 105 -

8 Recursos Utilitzats 8.1 Referències Bibliogràfiques

� [1]Williams Stallings,“Comunicaciones y Redes de Computadores (6ª ed.)”, Editorial Prentice Hall.

� [2]Todd Lammle, “CCNA Cisco Certified Network Associate Study Guide(6ª ed.)”.

� [3]Todd Lammle, “CCNA Cisco Certified Network Associate Fast Pass (3ª ed.)”.

� [4]Scott Empson, “CCNA Portable Command Guide (2ª ed.)”, Editorial Cisco Press.

� [5]Mark Burgess, “The Unix Programming Environment (2.2 ed.)”.

� [6]RFC 4251. � [7]RFC 4252.

� [8]RFC 4253.

� [9]RFC 4254.

8.2 Referències a Internet

� [10]Cisco Systems: http://www.cisco.com

� [11]Think Logic: http://thinklogic

� [12]Java: http://java.sun.com/

� [13]API de Java: http://java.sun.com/j2se/1.4.2/docs/api/

� [14]Biblioteques Ssh2: http://www.trilead.com/

� [15]IETF: http://www.ietf.org

� [16]Simulador de Xarxes Boson: http://www.boson.com/AboutNetSim.html