Una taula VPN buida no bloqueja res per si sola
Una taula de polítiques sense cap ruta coincident no descarta els paquets; la cerca continua. Afegiu una acció terminal i després proveu tots dos estats de fallada.
Una regla de política envia els paquets marcats a una taula dedicada, i l’expectativa habitual és que perdre la ruta VPN els bloquegi. El mecanisme fa una altra cosa. Quan una taula no conté cap ruta coincident, la cerca continua cap a la regla següent en lloc d’aturar-se, i la taula main encara conserva una ruta per defecte ordinària per a l’enllaç ascendent. El resultat és una configuració que sembla fail-closed i es comporta com a fail-open.
No hi ha res trencat; així és com s’especifica l’encaminament per polítiques.
La cerca continua quan una taula no té res
100: from all fwmark 0x36 lookup 42 110: from all fwmark 0x36 lookup default 32766: from all lookup main
Preneu aquest conjunt de regles: una cerca marcada va a la taula 42, i una regla posterior envia la mateixa marca a una taula anomenada default. Mentre la taula 42 té una ruta per defecte utilitzable, la primera cerca proporciona el camí. Quan aquesta ruta desapareix i res més de la taula 42 coincideix, la cerca no es converteix en un descart; el processament passa a la regla següent, i quan aquesta tampoc no troba res, arriba a la taula main. Res d’aquesta seqüència no informa quina regla va produir la resposta final, de manera que una connexió que funciona sembla una política que funciona.
La taula 253, anomenada convencionalment default, és una taula d’encaminament ordinària i normalment és buida. El seu nom no és una instrucció de descartar paquets i no és el mateix que una ruta de destinació per defecte dins d’una taula.
Les accions terminals aturen la cerca
100: from all fwmark 0x36 lookup 42 110: from all fwmark 0x36 prohibit 32766: from all lookup main
Una regla terminal pot seguir la cerca VPN en lloc d’una cerca en una taula buida. Amb la mateixa marca, una acció prohibit col·locada després de la regla de la taula 42 acaba la cerca quan aquesta taula no dóna res, retornant un rebuig administratiu en comptes d’oferir a la taula main una altra oportunitat. Unreachable i blackhole també són terminals, amb un comportament d’error diferent per al remitent.
Una ruta de tipus throw és diferent: dins d’aquella taula es comporta com si res no hagués coincidit, així que les regles posteriors encara tenen el seu torn. Això fa que throw sigui útil per a una reversió deliberada i incorrecte com a bloc final.
Verifiqueu amb la marca i la interfície reals
ip -4 rule show ip -4 route show table 42 ip -4 route get 198.51.100.20 from 10.44.0.2 iif lan0 mark 0x36
Inspeccioneu les regles i la taula reals en lloc d’un diagrama, i després consulteu el flux amb el context d’origen, marca i entrada que realment té. Una cerca de només lectura adreçada a una destinació, a la qual s’indica l’adreça d’origen, la interfície i la marca, informa de la ruta que el nucli triaria sense que surti cap paquet. Proporcionar una marca a la consulta no demostra que el tallafoc marqui el trànsit real; això és una comprovació separada de les regles de marcatge. Confirmeu el valor amb un comptador o un registre abans de treure conclusions de la consulta.
Les peticions generades localment necessiten el seu propi context, perquè el seu camí de marcatge sovint difereix del del trànsit reenviat. Comproveu-les amb la interfície de sortida que l’aplicació faria servir realment.
Dos estats de fallada, no un
Un estat de fallada és que la ruta VPN desaparegui i el trànsit caigui a l’enllaç ascendent. Un túnel mort la ruta del qual continua instal·lada és un altre: els paquets continuen dirigits a un camí inutilitzable en lloc de caure, i el símptoma és una pèrdua silenciosa en lloc d’una connexió directa visible. Proveu tots dos, i també el comportament en arrencada, reconnexió i aturada del servei.
Aquesta regla només ajuda mentre existeix i mentre els paquets encara porten la marca que la selecciona. Un script d’apagada que elimini la regla, o un camí que tregui la marca, restaura el comportament obert. Val la pena assajar aquestes transicions.
Apliqueu la política a IPv6 per separat i manteniu les excepcions de punt final aprovades explícites en lloc d’implícites.