Professional Documents
Culture Documents
Interconnexió de Xarxes1
Interconnexió de Xarxes1
Continguts
1. Arquitectura de xarxa TCP/IP
2. El protocol IP
3. El protocol TCP
4. Els serveis de xarxa
5. Comandaments útils per a la gestió de xarxes
6. Elements d’interconnexió.
7. Interconnexió de xarxes
1. Encaminament del transit entre interfícies de
xarxa.
2. Tallafocs. Filtrat del transit entre xarxes.
3. Reexpedició de ports. NAT
1. Arquitectura de xarxa TCP/IP
Internet és una xarxa pública i global d'ordinadors que estan interconnectats mitjançant
el protocol d'Internet (Internet Protocol) i que comuniquen mitjançant la commutació de
paquets. Internet és la unió de milions de subxarxes domèstiques, acadèmiques,
comercials i governamentals; és per això que a vegades se l'anomena «la xarxa de
xarxes».
La denominació TCP/IP fa referència als seus dos protocols més importants: el Protocol
d'Internet (IP) i el Protocol de Transferència de Dades (TCP).
La capa d’aplicació és la capa que els programes utilitzen per comunicar-se a través de
la xarxa amb altres programes.
Alguns programes que proporcionen serveis que treballen directament amb les
aplicacions d’usuari i els seus corresponents protocols de la capa d’aplicació són, per
exemple, HTTP (hypertext transfer protocol), FTP (file transfer protocol), SMTP
(simple mail transfer protocol), SSH (secure shell), entre d’altres.
Capa de transport
La capa de transport TCP/IP es correspon amb la capa de transport del model OSI.
La missió fonamental d’aquesta capa és fer que els nodes implicats en la comunicació
envien els paquets per qualsevol xarxa i els facin viatjar independentment cap a la
seva destinació. Els paquets fins i tot podrien arribar a la seva destinació cada un per un
camí diferent, i fins i tot en diferent ordre de com van sortir de l’emissor. En qualsevol
cas, la seva reorganització correspon a la capa de transport.
En el model TCP/IP només s’indica que el node s’ha de connectar a la xarxa fent ús dels
protocols que hi ha a la xarxa física en qüestió, de manera que es puguin enviar paquets
IP. Aquests protocols varien segons quines siguin les tecnologies de transmissió i els
medis de xarxa que s’utilitzin.
Capa física
Hi ha diferents tipus de medis físics per fer aquest transport, cada un en el seu ambient
propi en termes d’amplada de banda, retard, cost, facilitat d’instal·lació o manteniment.
Encapsulament
Per a aconseguir els objectius descrits anteriorment cada protocol afegeix una
informació de control a la unitat de dades entregada per la capa superior.
Exemple d'encapçalament
Exemple d'encapçalament
Unitats d'informació
El conjunt d’informació composta per l’encapçalament més les dades rep noms
diferents segons el nivell on està situada:
Model client/servidor
Una xarxa client-servidor és aquella on tots els clients estan connectats a un servidor on
es centralitzen els diferents recursos. Aquests recursos estan a disposició dels clients
cada cop que els sol·liciten. Això fa que totes les gestions que es realitzen es concentren
en el servidor, que disposa dels requeriments dels clients amb prioritat, els arxius que
són d'ús públic i els restringits, els arxius de només lectura, els que poden ser
modificats, etc.
En el model client/servidor, el dispositiu que sol·licita informació es denomina client i
el dispositiu que respon la sol·licitud es denomina servidor. Els processos de client i
servidor es consideren una part de la capa d’aplicació. El client comença l’intercanvi
sol·licitant les dades al servidor, que respon enviant un o més blocs de dades al client.
Els protocols de capa d’aplicació descriuen el format de les sol·licituds i respostes entre
clients i servidor. A més de la transferència real de dades, aquest intercanvi pot requerir
informació addicional, com l’autentificació de l’usuari i la identificació d’un arxiu de
dades per transferir.
Encara que les dades generalment es descriuen com un flux del servidor al client,
algunes dades sempre flueixen del client al servidor. El flux de dades pot ser el mateix
en les dues direccions o fins i tot ser major en la direcció que va del client al servidor.
Per exemple, un client pot transferir un arxiu al servidor amb finalitats
d’emmagatzemament. La transferència de dades d’un client a un servidor es coneix com
a pujada i la de les dades d’un servidor a un client, baixada.
Un exemple d’una xarxa entre iguals és una simple xarxa domèstica amb dos ordinadors
connectats que comparteixen una impressora. Cada persona pot configurar el seu
ordinador per compartir arxius, habilitar jocs en xarxa o compartir una connexió
d’Internet. Un altre exemple sobre la funcionalitat de la xarxa punt a punt són dos
ordinadors connectats a una gran xarxa que utilitzen aplicacions de programari per
compartir recursos a través de la Xarxa.
A diferència del model client/servidor, que utilitza servidors dedicats, les xarxes punt a
punt descentralitzen els recursos en una xarxa com es detalla en la figura següent. En
lloc d’ubicar informació per compartir en els servidors dedicats, la informació es pot
col·locar en qualsevol part d’un dispositiu connectat. La majoria dels sistemes operatius
actuals admeten compartir arxius i impressores sense requerir programari addicional del
servidor. Ja que les xarxes punt a punt generalment no utilitzen comptes d’usuaris
centralitzats, permisos ni monitors, és difícil implementar les polítiques d’accés i
seguretat en les xarxes que contenen més quantitat d’ordinadors. Cal establir comptes
d’usuari i drets d’accés de manera individual per a cada dispositiU.
2. El protocol IP
La versió més usada actualment del protocol IP és la IPv4, definida en l’RFC 791 del
1981. Actualment ja disposa d’un successor, la IPv6, l’ús de la qual es va estenent
progressivament.
Totes les versions del protocol IP permeten l’enviament de paquets entre equips sense
establir cap mena de connexió. Això vol dir que l’ordinador amfitrió origen envia dades
al destinatari sense esperar cap mena de notificació que les dades s’han rebut
correctament.
Avui dia, el TCP/IP és el conjunt de protocols escollit per a la immensa majoria de les
xarxes actuals i, per descomptat, per a qualsevol sistema que es vulgui connectar a
Internet.
Tot i que per enviar dades entre dos ordinadors amfitrions ja n’hi ha prou amb el
protocol IP, no ofereix cap mena de garantia que s’enviïn correctament les dades o, ni
tan sols, que arribin a la destinació. De fet, no ens garanteix que les dades, si arriben a la
destinació, estiguin intactes, ja que el control d’errors només es fa sobre les capçaleres,
no sobre les dades que transmet. Així doncs, tot i que es pot fer servir IP directament,
per a aplicacions que requereixen fiabilitat fan servir al protocol de la capa de transport
TCP.
La versió més usada actualment del protocol IP és la IPv4, definida en l’RFC 791 del
1981. Actualment ja disposa d’un successor, la IPv6, l’ús de la qual es va estenent
progressivament.
Totes les versions del protocol IP permeten l’enviament de paquets entre equips sense
establir cap mena de connexió. Això vol dir que l’ordinador amfitrió origen envia dades
al destinatari sense esperar cap mena de notificació que les dades s’han rebut
correctament.
Avui dia, el TCP/IP és el conjunt de protocols escollit per a la immensa majoria de les
xarxes actuals i, per descomptat, per a qualsevol sistema que es vulgui connectar a
Internet.
Tot i que per enviar dades entre dos ordinadors amfitrions ja n’hi ha prou amb el
protocol IP, no ofereix cap mena de garantia que s’enviïn correctament les dades o, ni
tan sols, que arribin a la destinació. De fet, no ens garanteix que les dades, si arriben a la
destinació, estiguin intactes, ja que el control d’errors només es fa sobre les capçaleres,
no sobre les dades que transmet. Així doncs, tot i que es pot fer servir IP directament,
per a aplicacions que requereixen fiabilitat fan servir al protocol de la capa de transport
TCP.
La versió més usada actualment del protocol IP és la IPv4, definida en l’RFC 791 del
1981. Actualment ja disposa d’un successor, la IPv6, l’ús de la qual es va estenent
progressivament.
Totes les versions del protocol IP permeten l’enviament de paquets entre equips sense
establir cap mena de connexió. Això vol dir que l’ordinador amfitrió origen envia dades
al destinatari sense esperar cap mena de notificació que les dades s’han rebut
correctament.
Tot i que per enviar dades entre dos ordinadors amfitrions ja n’hi ha prou amb el
protocol IP, no ofereix cap mena de garantia que s’enviïn correctament les dades o, ni
tan sols, que arribin a la destinació. De fet, no ens garanteix que les dades, si arriben a la
destinació, estiguin intactes, ja que el control d’errors només es fa sobre les capçaleres,
no sobre les dades que transmet. Així doncs, tot i que es pot fer servir IP directament,
per a aplicacions que requereixen fiabilitat fan servir al protocol de la capa de transport
TCP.
Adreçament IP
L’adreça IP és un nombre de 32 bits que identifica cada una de les màquines que estan
connectades a Internet o a qualsevol xarxa, i també la xarxa a la qual estan connectades.
Una part de l’adreça IP, segons la seua màscara de xarxa, serveix per identificar la
xarxa, sent el tros restant de la direcció IP la que identifica la màquina.
Per poder separar el camp que identifica la xarxa del camp que identifica la màquina,
s’ha d’aplicar una màscara de xarxa. És a dir, al aplicar la operació lògica AND entre
la màscara de xarxa i l’adreça IP s’obté la xarxa.
255.25
192.0.0.0 2.097.
C - 254 5.255. x.x.x.255
223.255.255 152
.0 0
224.0.0.0
D -
239.255.255
.0
240.0.0.0
E -
255.255.255
.255
Per poder fer ús de CIDR, els encaminadors de la xarxa han de ser capaços d’interpretar
adreces IP que no pertanyen a cap de les classes convencionals (A, B o C).
Mètodes de transmissió
En els sistemes basats en Linux les interfícies de xarxa (NIC) tenen un nom lògic.
Històricament s'empra la nomenclatura eth0, eth1 o wlan01, etc. Actualment els nous
sistemes identifiquen les interfícies segons la posició que ocupen al bus del sistema
(Predictable Interface Names). Així és més senzill identificar-les.
auto enp2s0
iface enp2s0 inet dhcp
Afegint la configuració com es mostra més amunt pots activar manualment mitjançant
l'ordre ifup que inicialitza el procés DHCP.
Per a desactivar la interfície, pots usar l'ordre ifdown, això iniciarà la desactivació del
procés DHCP i apagarà la interfície.
La fiabilitat que aporta TCP el fa ideal per a comunicacions on volem assegurar que les
dades arriben correctament, sense pèrdues ni errors. La part negativa d'aquest fiabilitat
és la càrrega addicional de trànsit que suposa en les comunicacions.
El protocol TCP proporciona un punt d'accés a les aplicacions mitjançant els ports,
números enters que permeten identificar unívocament les aplicacions que estan
comunicant-se.
Socket d'internet
Socket designa un concepte abstracte pel qual dos programes (possiblement situats a
ordinadors diferents) poden intercanviar qualsevol flux de dades, generalment de
manera fiable i ordenada. Tot socket està definit per una adreça de socket. L'adreça
de socket és una combinació de tres elements: una adreça IP, un protocol de transport i
un número de port (per exemple: 84.88.125.15, TCP, 2300).
Exemples de connexions
Exemple 1:
Exemple 2:
Exemple 3:
4. Els serveis de xarxa
Quan parlem de serveis de xarxa ens referim a aquelles aplicacions que s'executen en
segon plànol (background), normalment sense interacció per part de l'usuari, i que estan
contínuament esperant (listening) la petició per part d'un client. Una vegada reben una
petició s'encarreguen de gestionar la resposta adequada.
L'ordre netstat amb els paràmetres -tln ens mostra els serveis que actualment estan
escoltant peticions per TCP.
Els serveis de xarxa és situen en el nivell més alt de l'estructura de capes, el d'aplicació.
Algunes dels serveis més significatius són:
HTTP
DHCP
DNS
FTP
SMTP
SSH
POP
IMAP
Protocol de
Servei Nom Funció Ports
transport
HyperText Transport Intercanviar documents d'hipertext i
HTTP 80 TCP
Protocol multimèdia
2. Comprova quins serveis estan actualment executant-se en el teu equip tant en TCP
com en UDP. Hi ha algun ben conegut?
El fitxer /etc/services
Cada línia d'aquest fitxer especifica el nom, el número de port, el protocol utilitzat i els
àlies de tots els serveis de xarxa existents (o, si no tots els existents, d'un subconjunt
prou ampli per a que determinats programes de xarxa funcionin correctament). Per
exemple, per especificar que el servei SMTP usarà el port 25, el protocol TCP i que un
àlies perquè sigui mail, hi haurà una línia similar a la següent:
PING
Ping (Packet Internet Groper) és una utilitat que serveix per a enviar missatges a una
adreça concreta de xarxa amb la finalitat de realitzar una comprovació utilitzat el
protocol ICMP. El node destinatari ens respondrà amb un paquet per a confirmar-nos
que els dos nodes poden comunicar-se perfectament.
ifconfig
netstat
ip route
traceroute
traceroute ens mostra els encaminadors (routers) pels que passa un paquet fins arribar
al seu destí.
nslookup
nslookup permet fer consultes de noms de domini i comprovar quin servidor ens
ofereix la resposta.
ifup / ifdown
Per a més informació de cada utilitat podeu usar el comandament man seguit de la
utilitat de la que es vol mostrar informació.
Adreça IP
Màscara de xarxa
Porta d'enllaç
Servidors DNS
Els serveis poden tindre el seu propi arxiu de registre o usar el registre del sistema. El
registre del sistema es guarda en l'arxiu /var/log/syslog i al tractar-se d'un arxiu de
text el podem consultar simplement usant el comandament cat.
$cat /var/log/syslog
Un altra utilitat interessant és el comandament tail, que permet visualitzar les últimes
línies dels arxius de text. Amb l'argument -f mostra les últimes línies en temps real, és
a dir, a mesura que va modificant-se l'arxiu. Mitjançant l'argument -n podem indicar el
número de línies que es possible visualitzar. En el següent exemple mostrem en temps
real les últimes 20 línies de l'arxiu de registre dels sistema.
ip route
default via 192.168.1.1 dev eth1 proto static
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.132 metric 1
nslookup www.google.com
Server: 201.20.1.1
Address: 201.20.1.1#53
Non-authoritative answer:
Name: www.google.com
Address: 172.217.17.36
Planteja una possible configuració per al node IP. Seria suficient? Justifica la resposta.
7. Interconnexió de xarxes
En el següent capítol analitzarem les diferents opcions existents per a interconnectar
xarxes i el paper fonamental que tenen els tallafocs les configuracions de xarxa actuals.
7.1. Encaminament
1. Encaminament
L'encaminament IP és una de les funcions fonamentals que els dispositius encaminadors
han de fer. Consisteix fonamentalment a determinar quina és la ruta que ha de seguir un
paquet de dades d'un node d'origen fins a un host de destinació basant-se en factors com
poden ser els següents:
Aquest tipus d'encaminament lògic proporciona una gran flexibilitat ja que els paquets
poden viatjar per diferents rutes depenen de l'estat de la xarxa en un moment determinat.
Les rutes per defecte permeten substituir totes les rutes estàtiques que tenen una mateixa
porta d’enllaç, això implica una tasca administrativa inferior que si hem d’especificar
cadascuna de les rutes.
Per configurar una ruta estàtica utilitzem l’ordre ip route amb l’identificador de xarxa
a 0 i la màscara a 0, aquests valors indiquen qualsevol destinació amb qualsevol
màscara.
1.2. Rutes dinàmiques
Les rutes es generen automàticament quan es configura un protocol dinàmic en diversos
encaminadors. Aquests comparteixen les taules en intervals determinats de temps
periòdicament.
Les rutes dinàmiques es generen automàticament en els encaminadors quan activem els
protocols d’encaminament per a les diferents xarxes, a diferència de les rutes estàtiques
les taules d’encaminament es configuren automàticament davant de qualsevol canvi en
la xarxa, això ens permet una major escalabilitat i fiabilitat per a la gestió i resolució de
rutes.
Quan tots els encaminadors han generat les seves taules i han actualitzat als dispositius
veïns es diu que han convergit.
Encaminament en un node
Quan un host ha d'enviar un paquet:
1. Activar encaminament
El primer pas és activar IPv4 packet forwarding editant l’arxiu /etc/sysctl.conf i
descomentant la següent línia:
net.ipv4.ip_forward=1
net.ipv6.conf.default.forwarding=1
Després per executa el comandament sysctl per a activar la nova configuració de
l’arxiu:
sudo sysctl -p
Exemple:
Rutes persistents
Entregable
La ubicació habitual d’un tallafocs és el punt de connexió de la xarxa interna de l’organització amb la
xarxa exterior que, normalment, és Internet. Val a dir que, tal com mostra la imatge inferior, és freqüent
connectar al tallafocs una tercera xarxa, anomenada zona desmilitaritzada (DMZ, demilitarized zone), en
la qual s’ubiquen els servidors de l’organització que han de romandre accessibles des de la xarxa exterior.
Filtres: elements de maquinari o programari que s’encarreguen d'analitzar els paquets i decidir si
acceptar-los o rebutjar-los.
Node bastió: el dispositiu intermediari situat entre les dues xarxes i que és el que està exposat a
atacs des de l'exterior.
Garantir que no es podrà accedir als recursos interns des de l'exterior sense permís (arxius
compartits, impressores de xarxa, etc.)
Filtrar els paquets d'entrada i eixida, permetent o denegant l'accés segons l'origen o el destí, tant
en el que respecta a les adreces IP com als ports.
Utilitzar ferramentes de software per a dur un control sobre el trànsit de xarxa.
Xarxa desmilitaritzada (CC BY-SA)
Firewall: direccions
Llicència: CC BY-SA
En cas de ser permissiu deixa entrar, eixir i passar tot el trànsit. I l'administrador
s'encarregarà de restringir allò que estimi oportú mitjançant una llista negra (blacklist).
El tallafocs restrictiu, en canvi, no deixa entrar, eixir ni passar res i és l'administrador
qui permeti (obrirà) allò que cregui convenient (whitelist).
No obstant això, també es pot optar per solucions mixtes on algunes direccions estiguin
restringides i altres permeses.
Per a obrir un port en un protocol determinat i una direcció concreta out cap a l'exterior.
Recursos
Disposar d'un equip o màquina virtual amb sistema operatiu Ubuntu i amb connexió a
internet.
Enunciat
Cal que configures el tallafocs de forma restrictiva, excepte per a
l'encaminament que estarà permès.
A més a més el tallafocs haurà de permetre fer ping cap a l'exterior i consultes
DNS.
També permetrà l'accés a webmin.
Entregable
L'ús de NAT és molt habitual en escenaris on dispositius amb una adreça IP privada
(d'una LAN per exemple) volen accedir a una xarxa en adreces IP públiques, com
Internet. Per evitar l'ambigüitat en la gestió dels paquets de tornada, un NAT d'un-a-
molts ha de modificar informació de més alt nivell com els ports TCP/UDP a les
comunicacions sortint, i ha de mantenir una taula de traducció perquè els paquets de
tornada puguin traduir-se correctament. La RFC 2663 utilitza el terme NAPT (network
address and port translation, traducció d'adreça de xarxa i de port) per a aquest tipus de
NAT. D'altres vegades també s'anomena PAT (port address translation),
IP masquerading, NAT Overload i many-to-one NAT. Com que aquest és el tipus de
NAT més corrent, també se sol anomenar simplement NAT.
Com s'ha dit, aquest mètode permet la comunicació a través del router només quan la
conversa s'origina dins de la xarxa "dissimulada", perquè això inicialitza les taules de
traducció. Per exemple, un navegador web dins de la xarxa dissimulada pot navegar per
un web que estigui a fora, però un navegador de fora no pot navegar per un web que
estigui a la xarxa dissimulada. Això no obstant, la majoria dels dispositius NAT actuals
permeten a l'administrador de xarxa que preconfigure la taula amb algunes traduccions
permanents. Aquesta funcionalitat es coneix normalment com a "NAT estàtic" o port
forwarding i permet que el trànsit originat a la xarxa "exterior" arribi a ordinadors
concrets dins de la xarxa dissimulada.
Des de mitjans dels anys 1990, el NAT ha estat una eina molt popular per alleujar els
problemes provocats per l'esgotament de l'espai d'adreces IPv4. S'ha convertit en una
funció estàndard i indispensable en tots els routers per a connexions domèstiques i
d'oficina petita. La majoria dels sistemes que utilitzen NAT ho fan per permetre que
múltiples ordinadors d'una xarxa privada accedeixin a la Internet amb una sola adreça IP
pública.
Emmascarament IP en Ubuntu Server 16.04
L'emmascarament IP és el tipus de NAT més popular i és senzill de configurar usant
regles de l'ufw.
Per a fer-ho cal editar algun dels arxius que es troben en la carpeta /etc/ufw/*.rules.
Les regles es divideixen en dos fitxers diferents, regles que s'han d'executar abans de les
regles de línia d'ordres ufw, i les regles que s'executen després de les regles de la línia
d'ordres ufw.
# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
# don't delete the 'COMMIT' line or these nat table rules won't be
processed
COMMIT
La redirecció de ports permet que ordinadors remots (per exemple, màquines públiques
a Internet) es connecten a un ordinador en concret dins d'una LAN privada.
Per exemple, la redirecció del port 3389 a l'encaminador a la màquina d'un altre usuari
permet l'accés remot.
Les màquines amb Linux moderns aconsegueixen això afegint regles d'iptables a la
taula nat: amb la destinació DNAT (destination NAT) a la cadena de PREROUTING o
amb la destinació SNAT (source NAT) en la cadena de POSTROUTING.
Suposant que disposem d'un servei web a la xarxa privada interna, concretament a
l'equip 192.168.0.2 i que volem que siga accessible des de l'exterior mitjançant NAT i
l'adreça pública de l'encaminador és 214.15.11.12.
*nat
:PREROUTING ACCEPT [0:0]
Amb la regla anterior les peticions a l'encaminador al port TCP/80 seran adreçades a
l'adreça IP 192.168.0.2 al mateix port.