IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Les xarxes informàtiques utilitzant protocols de tunneling (tunneling protocols) per encapsular altres protocols. Per definició són protocols que transporten altres protocols.

Al utilitzar un túnel es pot transportar dades de un protocol (el protocol transportat) a través d'una xarxa on aquell protocol no es podria transportar però sobretot s'utilitzen per proveir d'un camí segur a través d'una xarxa no segura.

Aquest tipus de protocols emboliquen els sistemes de capes OSI o TCP/IP ja que trencant la línealitat de les capes al posar capes dins d'altres capes. Per exemple el protocol GRE s'executa s'obre IP i serveix sovint per transportar també paquets IP.

NOTA: Cal tenir en compte que evidentment transportar dades a través de un túnel té una penalització de velocitat i de temps de procés

Els protocols de tunneling poden utilitzar xifratge de dades per tal de transportar protocols insegurs a través d'una xarxa pública i així proveixen un servei de VPN.

Tipus de túnels

Segons el nivell en que es realitzi l'encapsulament classificarem els túnels en:

  • Túnels a nivell IP (IP over IP): per exemple el protocol IPIP
  • Túnels a nivell de transport (IP-over TCP): per exemple el protocol GRE
  • Túnel a nivell d'aplicació: un exemple clar d'aquest tipus de túnels serien els túnels SSH.

Túnels a nivell IP

Recursos:


Encaminar tràfic IP per un túnel IP (IPIP túnels)

NOTA: Amb aquest tipus de túnel, no "s'encaminen" els paquets de broadcast ni tampoc IPv6

Aquest tipus de túnels estan disponibles des de fa temps a Linux. Només calen els mòduls del kernel:

ipip.o 
new_tunnel.o

Posem un exemple amb tres xarxes: dos xarxes internes (A i B), internes però en llocs remots i una xarxa externa intermediària (C), per exemple Internet.

network A:

network 10.0.1.0
netmask 255.255.255.0
router  10.0.1.1

El router 10.0.1.1 té la IP 172.16.17.18 a la xarxa C (Internet)

Network B:

network 10.0.2.0
netmask 255.255.255.0
router  10.0.2.1

El router 10.0.2.1 té la adreça 172.19.20.21 a la xarxa C (Internet).

Aleshores per fer el túnel:

$ sudo insmod ipip.o
$ sudo insmod new_tunnel.o

NOTA: També podeu utilitzar modprobe

Aleshores al router Linux de la xarxa A poseu:

$ sudo ifconfig tunl0 10.0.1.1 pointopoint 172.19.20.21
$ sudo route add -net 10.0.2.0 netmask 255.255.255.0 dev tunl0

Hi al router de la xarxa B

$ sudo ifconfig tunl0 10.0.2.1 pointopoint 172.16.17.18
$ sudo route add -net 10.0.1.0 netmask 255.255.255.0 dev tunl0

Per desconfigurar el túnel:

$ sudo ifconfig tunl0 down

Linux IP-in-IP (IP-in-IP) tunneling no funciona amb altres sistemes operatius o routers

RouterOS IPIP

Vegeu també routerOS

IP unnumbered addresses

TODO IP unnumbered addresses

http://wiki.mikrotik.com/wiki/Manual:Interface/VLAN#RouterOS_.2F32_and_IP_unnumbered_addresses

Túnels de nivell de transport

GRE

GRE són les inicials de Generic Routing Encapsulation (definit al RFC 2784) un tunneling protocol desenvolupat per Cisco. Pot encapsular varietat de protocols en un ellaç punt a punt.

De la mateixa forma que els protocols IPIP o EoIP és un protocol stateless de forma que si el túnel cau els paquets que estaven viatjant es perden. Alguns sistemes com routerOS implementen un sistema de keepalive per tal d'evitar que això passi,

Els túnels GRE afegeixen un overheade de 24 bytes (4-byte gre header + 20-byte IP header).

GRE i alguns tipus de NATs antics no són compatibles.

EoIP (Ethernet over IP)

Consulteu EoIP.

RouterOS GRE

Consulteu routerOS GRE.

L2TP

L2TP es transporta mitjançánt UDP. Consulteu L2TP.

Túnels de nivell d'aplicació

Proxies com a túnels

TODO: http://www.monperrus.net/martin/howto-tunneling-via-proxy.html

Túnels SSH

Consulteu Túnels SSH

Túnels HTTP

S'utilitza el procotol HTTP (concretament la directiva CONNECT) per tal d'utilitza el protocol HTTP com a protocol de tunneling. Tenen l'avantatge de ser molt díficil de bloquejar amb firewalls i proxies restrictius.

Eines:

Recursos

Túnels ICMP

Un túnel ICMP (aka IMCPTX) permet crear una connexió encoberta entre dos ordinadors utilitzant paquets pings (ICMP echo requests i replies ). Es pot arribar a túnelar trànsit TCP en pings.

Eines:

Recursos:

Túnels a Linux

TODO: Veure l'ordre obsoleta iptunnel i com utilitzar iproute2 i l'ordre ip tunnel

Túnels i protocols PPP

Hi ha una relació molt estreta entre el concepte de túnel i els protocols PPP. Hi ha protocols PPP que permeten crear un enllaç punt a punt entre dos nodes de xarxa sense necessitat que estiguin connectats directament (a nivell d'enllaç). ÉS possible fer la connexió punt a punt a traves d'una xarxa amb encaminadors ja sigui pública o privada.

Consulteu PPP

Túnels i VPN

De la mateixa forma que hi ha una relació molt estreta entre els túnels i els protocols PPP, també hi ha una relació molt estreta entre els túnels i les Xarxes privades Virtuals (VPNs). Els túnels són la base d'aquest tipus de xarxes.

Consulteu VPN

Vegeu també

Enllaços Externs