Els clients LAN ignoren la VPN del router fins que s'aplica l'encaminament per polítiques
Les regles de reenviament permeten paquets, però mai no trien una interfície. Una taula de polítiques i una regla a part decideixen quins clients LAN fan servir la VPN del router.
El router arriba a internet a través del seu túnel mentre un portàtil al darrere encara informa de l'adreça de l'ISP. Afegir regles d'acceptació no ajuda, i aquest fracàs és revelador: el filtratge respon si un paquet pot passar, no cap on va. La tria d'interfície ja l'ha feta una consulta d'encaminament que no sap res de la teva llista de clients. Arregla la consulta i el tallafoc deixa de ser el sospitós.
Una regla de filtratge no pot triar una interfície
El flux de paquets en un router Linux executa primer la decisió d'encaminament i després el ganxo de reenviament. Quan una regla coincideix amb el dispositiu de túnel de sortida, el nucli ja ha decidit que el túnel és la via de sortida. Si la taula principal encara prefereix la ruta per defecte de la WAN, el paquet va cap a l'ISP i la regla d'acceptació que acabes d'escriure no el veu mai. Aquest sol fet d'ordre explica per què una pàgina de regles de tallafoc noves no canvia res.
L'exemple següent fa servir una LAN de 192.168.8.0/24 a br-lan, un dispositiu de túnel tun0 i un sol decodificador a 192.168.8.23 que hauria d'usar el túnel.
Llegeix la consulta abans d'editar regles
Demana al nucli que resolgui una ruta en nom d'aquell client. La resposta inclou el dispositiu de sortida i l'adreça d'origen que es triaria, i això és tot el que necessites per confirmar el diagnòstic. Si la resposta anomena el dispositiu de la WAN, el paquet no va tenir mai cap oportunitat d'arribar a la teva regla.
ip -4 route get 198.51.100.7 from 192.168.8.23
Repeteix la consulta per a un client que hauria de quedar-se al camí ordinari. Quan les dues respostes anomenen el mateix dispositiu, encara no hi ha cap política per origen en joc, i la correcció pertoca a l'encaminament i no al filtratge.
Adjunta una taula als clients que vols cobrir
L'encaminament per polítiques insereix una consulta de regles abans de la taula principal. Construeix una taula la ruta per defecte de la qual sigui el túnel i després lliga aquesta taula a un selector: una interfície d'entrada, una adreça d'origen o una marca de tallafoc. Les prioritats decideixen l'ordre, i la taula principal és molt avall a la llista, a 32766, així que una regla amb un número baix es consulta primer. Els selectors d'interfície cobreixen tots els clients del pont; els selectors d'adreça cobreixen una màquina.
ip -4 route add default dev tun0 table 200
ip -4 rule add iif br-lan lookup 200 priority 200
Les interfícies del firmware solen exposar els mateixos objectes que una pàgina d'encaminament per polítiques o de política de VPN. Una llista de dispositius allà és més fàcil de mantenir que les regles escrites a mà i sol sobreviure a actualitzacions que canvien la sintaxi de les regles.
Tria el selector amb intenció. Una regla d'interfície és curta i duradora, però també captura el trànsit de gestió del mateix router que arriba a aquest pont. Una regla d'origen és exacta i necessita una edició sempre que canvia la llista de dispositius. Anota la tria, perquè la necessitarà la propera persona que pregunti per què un dispositiu es comporta diferent.
Mantén les destinacions locals fora del túnel
Una taula nova només coneix les rutes que hi poses. Falta el prefix de la LAN, així que el trànsit de la impressora i del NAS seguiria la ruta per defecte del túnel i desapareixeria. Una ruta throw acaba la consulta en aquesta taula i torna la decisió a la taula principal.
ip -4 route add throw 192.168.8.0/24 table 200
Si t'ho saltes aquesta ruta, els recursos compartits locals es trenquen, i la sessió de gestió del mateix router pot desaparèixer si el selector és més ampli del previst. Després resol la qüestió de l'origen: els paquets del túnel que encara porten adreces de la LAN necessiten que l'altre costat conegui un camí de tornada, mentre que el masquerading al túnel elimina aquest requisit i també elimina la identitat del client que veuria l'altre costat.
Les regles i rutes afegides en temps d'execució desapareixen després d'un reinici o d'una actualització del firmware. Afegeix-les al mecanisme d'arrencada del router, reinicia una vegada i torna a provar des del client: la seva adreça pública, un segon client que hauria de quedar-se a la WAN i els comptadors del túnel durant una connexió nova.