Posar tota una LAN darrere d’un túnel VPN és la part fàcil; decidir com veu el costat remot aquests clients no ho és. La mascarada reescriu cada font de la LAN a l’adreça del túnel de la passarel·la, de manera que l’extrem remot respon a un sol parell. L’encaminament per política conserva les adreces originals i exigeix que l’extrem remot sàpiga com arribar-hi. Cap de les dues no és per defecte; l’elecció es deriva de qui posseeix el costat remot i de si la identitat per dispositiu importa.

Els dos dissenys prometen coses diferents

La mascarada redueix la LAN a un sol amfitrió visible: la passarel·la. La xarxa remota respon a aquesta única adreça, i la passarel·la tradueix les respostes cap al client que va iniciar el flux. Al costat remot no cal cap ruta als vostres prefixos privats, i per això aquest disseny sobreviu amb un proveïdor que es nega a transportar-los. La passarel·la també es converteix en l’origen de cada connexió, així que el costat remot no pot distingir dos clients.

L’encaminament per política conserva intacta l’adreça de cada client. La xarxa remota veu l’origen real i pot registrar-lo, aplicar una regla per amfitrió o enviar la resposta directament a aquesta adreça. Aquesta visibilitat és tot l’objectiu, i comporta una obligació: el costat remot ha de tenir una ruta per al prefix de la LAN que torni pel túnel. Planifiqueu aquesta ruta abans d’activar la regla, perquè el túnel s’aixecarà igualment i només faltaran les respostes.

Les maneres de fallar difereixen tant com les promeses. Una regla de mascarada absent produeix paquets que surten amb orígens privats i no tornen mai. Una ruta de retorn absent produeix el mateix símptoma amb encaminament per política, però la correcció pertoca al router remot, no a la passarel·la.

Mascarada: un sol parell al costat remot

El camí de la mascarada té un ordre que importa. Cal haver activat el reenviament abans que cap regla NAT faci res d’útil, la taula de filtratge ha de permetre el trànsit en tots dos sentits, i només aleshores la traducció s’aplica a la interfície del túnel.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Els clients encara necessiten un camí cap a la passarel·la. O la passarel·la és el seu router per defecte, o porten una ruta específica per al prefix remot; si un router separat continua sent el per defecte, aquest router necessita una ruta estàtica per a les destinacions del túnel, altrament el paquet va al salt equivocat abans que la passarel·la el vegi.

El DNS és una decisió a part. Un resolutor del costat remot només respon si la seva resposta pot viatjar de tornada al client. Amb mascarada la consulta sembla venir de la passarel·la, així que la ruta de retorn del resolutor ja queda coberta; amb encaminament per política el resolutor necessita la mateixa ruta de retorn que qualsevol altre servei remot.

Encaminament per política: conserveu l’origen, afegiu una ruta de retorn

L’encaminament per política comença amb una taula i una regla que la selecciona. El trànsit que entra per la interfície de la LAN s’envia a una taula dedicada, i aquesta taula porta una ruta per defecte pel túnel. La taula principal queda intacta, així que el trànsit originat per la mateixa passarel·la pot seguir un camí diferent.

ip rule add iif eth1 table vpn
ip route add default dev tun0 table vpn

Aleshores el costat remot ha d’encaminar el prefix de la LAN de tornada pel túnel. Això és una configuració del router remot, no d’aquesta passarel·la. La passarel·la també ha d’acceptar respostes que arriben per una interfície diferent de la que la taula principal prediria; el filtratge lax de camí invers (rp_filter ajustat a 2) és l’ajust habitual quan el mode estricte descarta aquests paquets.

Quan hi ha dos túnels actius, etiqueteu cada flux en entrar i deixeu que l’etiqueta triï la taula. Una regla que només mira la interfície d’entrada envia el trànsit dels dos túnels a la mateixa taula, així que el segon túnel roba fluxos al primer. Proveu aquesta etiqueta amb una connexió que sobrevisqui a una reconnexió, que és quan es manifesta una política mixta.

Decidiu per propietat i pel que registra el costat remot

Si el túnel acaba en un proveïdor, feu servir la mascarada. Aquest operador no encaminarà els vostres rangs privats de LAN i no té cap motiu per distingir clients individuals darrere la vostra passarel·la. Un sol parell visible és l’únic model que la seva política admet, així que doneu-li això i manteniu la traducció a la vostra vora. El proveïdor veu un parell, que és exactament el que la seva política espera, i els vostres clients hereten aquesta única identitat.

Si tots dos extrems són vostres i els serveis remots actuen segons les adreces d’origen, l’encaminament per política es guanya la seva ruta extra. Les regles del tallafoc, l’accés per usuari i els registres d’auditoria poden aleshores distingir clients. Si el costat remot només necessita abastabilitat, la mascarada és més simple i elimina una classe d’errors de ruta de retorn.

Els dissenys híbrids són normals: encaminament per política dins de la vostra xarxa, mascarada a la vora del proveïdor. L’important és deixar escrit quin salt tradueix i quin salt encamina, perquè una regla NAT accidental afegida per a un client amaga l’origen de tots els clients de la mateixa cadena.

Verifiqueu des d’un client i després des d’un segon client

Executeu la prova on comença el trànsit. Comproveu la ruta que fa servir l’amfitrió, mireu com el paquet apareix a la interfície del túnel i inspeccioneu conntrack per a la traducció. Aquesta seqüència demostra que el paquet va prendre el camí previst, no que simplement arribés en algun lloc.

Repetiu la prova després d’una reconnexió. Una regla de mascarada que anomena la interfície sobreviu a una adreça de túnel nova; una regla que anomena l’adreça antiga no. Després proveu un segon amfitrió de la LAN, perquè un disseny que funciona en una màquina sovint depèn de la ruta pròpia d’aquesta màquina i no de la política de la passarel·la.

Escriviu el model triat, l’origen traduït o conservat i el propietari de la ruta de retorn a les notes de la passarel·la. Si no, la propera persona que afegeixi un client o un túnel haurà d’endevinar, i endevinar és com una configuració LAN-a-VPN que funciona esdevé parcial.

Articles relacionats