Deixar passar IPsec en un router domèstic: què fa realment
L’interruptor deixa passar un protocol a través de la traducció d’adreces; no inscriu el router com a client. Captureu l’intercanvi, llegiu les associacions i després decidiu.
Els interruptors de pas del router són concessions de reenviament per a un dispositiu que hi ha darrere, no serveis VPN. No inscriuen el router com a client, no guarden credencials ni fan passar cada aparell de la casa per una sortida remota. El que fan és modelar com un protocol travessa la traducció d’adreces i els filtres. Un cop això és clar, l’interruptor és fàcil de provar i fàcil de deixar desactivat.
Què fa realment el router
El router se situa entre un client i un parell IPsec i reenvia paquets que mai no va ser dissenyat per entendre. Els fabricants implementen la funció d’almenys tres maneres: un auxiliar de protocol que segueix o reescriu l’estat, una excepció de filtre que atura el descartament d’ESP, o un mode de compatibilitat adreçat a clients més antics. L’etiqueta de la interfície web poques vegades diu quina de les tres teniu. Només les notes del firmware o una captura de paquets ho diran.
Un auxiliar també pot empitjorar les coses. L’ajuda escrita per a un flux més antic de vegades interfereix amb un client que ja gestiona correctament la traducció. Quan un client modern funciona amb l’opció desactivada, deixar-la desactivada és la configuració millor.
El pas mai no dona al router les claus dels parells. Encara veu les adreces i els ports exteriors, i encara aplica la seva pròpia política de reenviament a aquests.
NAT i NAT-T decideixen el camí
L’IPsec no es va construir per sobreviure a la traducció d’adreces, així que els estàndards hi van afegir un embolcall. El NAT traversal encapsula ESP dins d’UDP, cosa que permet que una taula NAT ordinària transporti el flux, i la negociació acorda aquest canvi durant l’IKE (RFC 3948). L’IKE mateix fa servir UDP 500, mentre que el camí encapsulat normalment fa servir UDP 4500.
Per això una regla de tallafoc que només permeti el protocol 50 no n’hi ha prou en un camí traduït. Bloquejar 4500 trenca el cas per al qual existeix l’embolcall, i bloquejar 500 atura la negociació abans que es formi cap túnel. Les dues direccions importen, perquè un router amb estat normalment permet la resposta només després d’haver vist la petició. Arribar a un port no és el mateix que acabar l’autenticació, ni que reenviar trànsit protegit.
Els arranjaments més antics difereixen prou perquè una guia escrita per a ells pugui enganyar. Quan un client ofereix tots dos modes, proveu el que documenta el vostre parell i no el que té més resultats de cerca.
Trobeu l’etapa que falla
Dividiu el problema en negociació, autenticació, protecció filla i reenviament intern, i després reuniu proves per a una etapa alhora. Un reinici que canvia el resultat temporalment només demostra que hi havia algun estat implicat.
sudo tcpdump -ni any 'udp port 500 or udp port 4500'
ip xfrm state list
ip xfrm policy list
La captura mostra si l’intercanvi arriba al parell i si tornen les respostes, cosa que separa un problema de filtratge d’un problema de credencials. El llistat d’estat mostra les associacions de seguretat establertes, així que una llista buida després d’un intent apunta a la negociació i no a l’encaminament. El llistat de polítiques mostra quins selectors hi ha instal·lats, i és aquí on s’exclou una destinació fora de la subxarxa. Llegiu les dues sortides d’xfrm abans de tocar el router, perquè descriuen què creu l’amfitrió i no què permet el router.
Si els paquets surten i no torna res, moveu la captura al costat WAN del router. Comparar les dues captures localitza el descartament sense endevinar.
Desactiveu el que no necessiteu
Un sol portàtil que funcioni no demostra que el router atengui diversos clients alhora. Cada client crea el seu propi estat de traducció i la seva pròpia negociació, i alguns auxiliars només segueixen un flux. Proveu el nombre de sessions simultànies que realment necessiteu, des de les xarxes que realment feu servir. Si el segon client falla mentre el primer va bé, aquesta és la troballa i no un túnel inestable.
Deixeu l’opció activada només quan una captura mostri que cal. Anoteu la versió del firmware al costat del resultat, perquè aquests comportaments canvien entre versions. L’objectiu és un túnel de client que hàgiu verificat, no un interruptor activat amb esperança.