Una passarel·la («gateway») és un sistema que uneix diverses xarxes. Aquest terme sovint es refereix a la “porta de sortida” d'una xarxa local en el camí obligatori cap a totes les adreces IP externes. La passarel·la està connectada a cadascuna de les xarxes que uneix, i actua com a encaminador («router») per transmetre paquets IP entre les seves diverses interfícies.
Quan una xarxa local utilitza un interval d'adreces privat (no encaminable a Internet), la passarel·la ha d'implementar «address masquerading» o emmascarament d'adreces perquè les màquines de la xarxa puguin comunicar-se amb el món exterior. L'operació d'emmascarament és una mena d'intermediari que funciona a nivell de xarxa: cada connexió sortint d'una màquina interna és substituïda per una connexió de la mateixa pròpia passarel·la (ja que aquesta té una adreça externa encaminable), les dades que passen per la connexió emmascarada s'envien a la nova, i les dades que tornen en resposta s'envien a través de la connexió emmascarada a la màquina interna. La passarel·la utilitza una gamma de ports TCP dedicats per aquest propòsit, normalment amb nombres molt alts (per sobre de 60000). Cada connexió procedent d'una màquina interna apareix al món exterior com una connexió procedent d'un d'aquests ports reservats.
Una passarel·la també pot realitzar dos tipus de traducció d'adreces de xarxa (o NAT com acrònim en anglès per «network address translation»). El primer tipus, NAT de destí (DNAT per «destination NAT») és una tècnica per alterar l'adreça IP de destinació (i/o el port TCP o UDP) per a una connexió (generalment) entrant. El mecanisme de seguiment de la connexió també altera els paquets següents en la mateixa connexió per assegurar la continuïtat en la comunicació. El segon tipus de NAT és NAT d'origen (SNAT per «source NAT»), del qual l'emmascarament n'és un cas particular; SNAT altera l'adreça IP de la font (i/o el port TCP o UDP) d'una connexió (generalment) sortint. Pel que fa a DNAT, tots els paquets de la connexió es gestionen adequadament pel mecanisme de seguiment de la connexió. Tingueu en compte que el NAT només és rellevant per a IPv4 i el seu espai d'adreçament limitat; en IPv6, l'àmplia disponibilitat d'adreces redueix enormement la utilitat del NAT permetent que totes les adreces “internes” siguin directament encaminables a Internet (això no implica que les màquines internes siguin accessibles, ja que els tallafocs intermediaris poden filtrar el trànsit).
Prou de teoria i posem-nos en pràctica. Convertir un sistema de Debian en una passarel·la és una qüestió tan senzilla com habilitar l'opció apropiada del nucli de Linux a través del sistema de fitxers virtual /proc/
:
#
echo 1 > /proc/sys/net/ipv4/conf/default/forwarding
Aquesta opció també es pot activar automàticament a l'arrencada si /etc/sysctl.conf
o un fitxer de configuració a /etc/sysctl.d/
estableix l'opció net.ipv4.conf.default.forwarding
a 1
.
Exemple 10.1. El fitxer /etc/sysctl.conf
net.ipv4.conf.default.forwarding = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
El mateix efecte es pot obtenir per a IPv6 simplement substituint ipv4
per ipv6
en l'ordre manual o posant la línia net.ipv6.conf.all.forwarding
a /etc/sysctl.conf
.
L'activació de l'emmascarament IPv4 és una operació lleugerament més complexa que implica la configuració del tallafocs netfilter.