Pachetul de firewall instalat, regulile au dispărut după repornire
Instalarea, setul activ de reguli și ceea ce îl restaurează sunt trei lucrări separate. Salvarea fiecărei reguli încărcate poate păstra experimentele împreună cu politica VPN.
Pachetul s-a instalat curat, regulile au fost testate, iar după următoarea repornire gateway-ul era larg deschis. Nimic din tranzacție nu a eșuat; eșecul era în presupunerea despre ce va rămâne. Instalarea instrumentelor de firewall, decizia privind regulile care trebuie să supraviețuiască și restaurarea lor în momentul potrivit sunt trei lucrări separate.
Ce îți spune de fapt simptomul
Un set de reguli care dispare la repornire are unul dintre trei proprietari: nimic nu l-a salvat, altceva l-a înlocuit sau a fost restaurat înainte de a exista lucrul de care depinde. Primele două sunt vizibile în configurație; al treilea apare doar în ordine. De aceea o repornire poate părea pierdere de date când de fapt este o problemă de secvență.
Începe prin a scrie ce era adevărat înainte de repornire: ce serviciu ținea regulile, ce fișier sau bază de date citea la pornire și dacă în acea sursă s-a scris vreodată. Un set activ de reguli pe care nimeni nu l-a salvat este o explicație validă și cea mai frecventă.
Nu începe prin a reinstala pachetul.
Citește instrumentul de persistență înainte de a-l folosi
Instrumentele Debian tratează persistența ca pe o problemă de pluginuri: fiecare plugin știe să-și scrie propriile reguli, iar un singur înveliș le apelează. Acțiunea sa de salvare stochează tot ce este încărcat în acel moment, iar acțiunea de pornire reîncarcă acea instantanee. Nimic din niciuna dintre acțiuni nu verifică ce stochează.
Aceasta este o instantanee, nu o revizuire. O permisiune rămasă dintr-o sesiune de depanare, un experiment neterminat sau o regulă permisivă inserată de alt ajutor devin toate permanente alături de politica pe care voiai să o păstrezi. Salvarea stării și aprobarea stării sunt activități diferite și doar una cere judecată. Citește mai întâi setul încărcat, apoi decide care linii merită să supraviețuiască.
Salvează deliberat, după ce ai citit ce este încărcat.
Decide ce trebuie să supraviețuiască
Unele reguli aparțin ciclului de viață al unei interfețe și ar trebui să dispară odată cu ea. Altele trebuie să supraviețuiască tunelului, iar exemplul cel mai clar este o restricție care interzice traficului clienților să revină pe interfața fizică atunci când tunelul cade. Aceste două categorii au nevoie de declanșatoare de restaurare diferite, nu de o instantanee comună.
Scrie rezultatul dorit pentru trei momente: pornire, activarea VPN și pierderea tunelului. Apoi verifică dacă instrumentul ales poate exprima fiecare dintre ele. Un pachet de persistență care reîncarcă o instantanee statică acoperă primul și poate niciunul dintre celelalte, pentru că o instantanee nu știe când s-a schimbat starea tunelului. Dacă nu le poate exprima, golul aparține altui component.
Politica, nu pachetul, decide răspunsul.
Verifică ordinea de restaurare
Restaurarea fișierului nu este același lucru cu deținerea rezultatului. Un alt manager poate înlocui regulile, o permisiune anterioară le poate umbri, sau clienții pot începe să trimită înainte ca restricția să intre în vigoare. Verifică comportamentul la pornire și la reconectare, nu doar existența unui fișier salvat.
systemctl status netfilter-persistent
iptables -S
Nu presupune că oprirea serviciului de persistență este inofensivă, pentru că pachetul documentează o golire condiționată la oprire. Stabilește configurația reală a serviciului înainte de a folosi oprirea sau repornirea ca experiment pe un gateway pe care îl administrezi de la distanță. O sesiune de consolă și o revenire documentată sunt minimul înainte de acel test.
Ordinea este o proprietate a sistemului în funcțiune, nu a fișierului de pe disc.
Acceptă trei rezultate separate
Înregistrează instalarea pachetului, setul de reguli încărcat și politica aplicată ca fapte separate. Un nume de pachet într-un fir de asistență răspunde doar la primul, iar acela este cel care contează rareori.
nft list ruleset
Apoi testează o operațiune permisă și o respingere obligatorie.
Dacă respingerea se menține după o repornire și după căderea tunelului, politica supraviețuiește. Dacă se menține doar într-una dintre aceste stări, ai găsit problema de ordine în loc să o remediezi.