Scoaterea în hardware a NAT-ului strică regulile de rutare VPN?
Accelerarea poate sări peste cârligul de care depinde politica ta sau doar mută locul unde se actualizează contoarele. Separă aceste rezultate înainte de a schimba setările.
Activarea accelerării NAT în hardware poate face o configurare VPN mai rapidă și poate face, de asemenea, ca o politică de rutare să nu se mai aplice unor pachete fără nicio eroare. Care dintre ele se întâmplă depinde de ce sare calea rapidă, iar asta diferă între firmware, versiunea nucleului și tipul de accelerare folosit. Meniul de setări spune rareori care anume a fost activată.
Două afirmații merită separate înainte de a da vina pe accelerator: că o regulă nu mai este impusă și că un contor nu mai este actualizat. Nu sunt aceeași observație.
Trei accelerări diferite sunt amestecate la un loc
Descărcarea redirecționării, accelerarea criptografică și descărcarea canalului de date al tunelului sunt mecanisme separate care împart adesea un singur comutator. Descărcarea redirecționării lasă fluxurile stabilite să sară peste o parte a stivei normale, accelerarea criptografică face munca de cifrare mai ieftină, iar descărcarea tunelului mută încapsularea în hardware. Un router care accelerează trafic rutat obișnuit poate lăsa traficul tunelului complet pe calea lentă, ceea ce este un rezultat de performanță și nu o schimbare de politică. Există și inversul, când traficul tunelului este descărcat în timp ce politica din jur este încă evaluată.
Flowtable-urile din Linux sunt cazul documentat care merită citit cel mai mult, fiindcă fluxurile stabilite pot fi predate unei căi rapide. Contabilitatea și gestionarea stării lor diferă atunci de redirecționarea clasică, și de aceea contoarele încep să arate ciudat.
Un contor care se oprește dovedește puțin
Contoarele de reguli numără pachetele care trec prin regulă, iar un flux descărcat poate să nu mai treacă prin ea niciodată după primul pachet. Asta produce un contor care îngheață în timp ce traficul continuă și arată exact ca o ocolire dacă ai încredere în număr. Urmărirea contorului rămâne utilă ca indiciu că fluxul a părăsit calea numărată. Restul diagnosticului trebuie să vină din locul în care ajung pachetele de fapt.
Inferența opusă eșuează la fel de rău. O descărcare rapidă nu arată că regulile de excepție și tratarea erorilor se mai aplică, pentru că exersează un singur flux, nu politica.
Trei condiții decid dacă descărcarea strică politica
Prima condiție este dacă calea rapidă consultă cârligul de care depinde politica ta, fiindcă o politică exprimată ca mărci și rute supraviețuiește mai des decât una construită pe filtrare per pachet. A doua este dacă firmware-ul permite deloc combinația, pentru că unele compilări dezactivează automat descărcarea când un tunel sau o funcție de firewall este activă. A treia este dacă traficul este eligibil, fiindcă accelerarea este de obicei legată de fluxuri stabilite și poate exclude pachete fragmentate sau neobișnuite. Acolo unde toate trei favorizează accelerarea, politica se aplică în continuare, iar acolo unde prima eșuează, nicio cantitate de reglaj nu o restaurează.
Citește documentația producătorului pentru combinația pe care o rulezi, nu pentru modelul de router în general. Versiunile de firmware schimbă aceste răspunsuri în tăcere.
Testează politica, nu debitul
Măsoară ce ar trebui să garanteze politica înainte de a măsura cât de repede merge. Comenzile de mai jos arată dacă un flowtable este instalat, ce vede urmărirea conexiunilor și din ce adresă iese clientul. Compară o conexiune nouă după schimbare, fiindcă una stabilită poate păstra vechea cale.
nft list flowtables
conntrack -L | head -n 20
curl -sS --max-time 8 https://api.ipify.org; echo
ping -c 3 192.168.50.20
O intrare de flowtable care acoperă traficul tunelului îți spune că calea rapidă este în joc, iar tabelul de conexiuni arată dacă fluxul este urmărit așa cum te aștepți. Verificarea adresei confirmă ieșirea când politica privește ieșirea spre internet, în timp ce ping confirmă o destinație privată care ar trebui să rămână accesibilă. Rulează același set cu accelerarea oprită și apoi pornită și compară rezultatele, nu timpii.
Notează setarea anterioară ca experimentul să rămână reversibil. O instrucțiune generică de a opri descărcarea peste tot contează ca soluție de ocolire, nu ca descoperire.