Rutare VPN pe domenii versus rute IP: care se potrivește?
Un nume de gazdă într-o casetă de tunel divizat nu este o rută. Comparați regulile de domeniu și prefixele explicite privind reîmprospătarea, sfera subdomeniilor și ce se întâmplă când se schimbă DNS.
O rută IP corespunde unui prefix de adresă, iar nucleul o aplică fără a pune alte întrebări. O regulă VPN bazată pe domeniu corespunde unui nume, ceea ce înseamnă că ceva din stivă trebuie să decidă ce adrese înseamnă acel nume în acest moment și să mențină acea decizie actuală. Sunt mecanisme diferite cu moduri de eșec diferite, iar furnizorii folosesc același cuvânt pentru ambele. Compararea lor în liste de funcții ratează esența; comparați-le după ce se întâmplă când răspunsul se schimbă.
Separarea utilă este între o regulă care rezolvă și o regulă care nu rezolvă.
Cu ce corespunde de fapt fiecare regulă
O regulă de prefix corespunde adreselor de destinație dintr-un tabel de rutare. Nimic nu se rezolvă, nimic nu expiră, iar potrivirea este exactă pentru fiecare pachet. O regulă de domeniu corespunde cererii unei aplicații pentru un nume, pe care RFC 1034 îl definește ca un arbore de etichete și nu ca o adresă. Unele produse rezolvă numele o dată și instalează adresele rezultate ca rute, ceea ce transformă regula într-o regulă IP cu un temporizator de reîmprospătare atașat.
Aflați care dintre cele două îl aveți înainte de a depana, pentru că defecțiunea arată complet diferit în fiecare caz.
Unde stă regula de domeniu în stivă
Dacă produsul implementează regulile de domeniu printr-un proxy local, traficul trebuie să ajungă la acel proxy, iar aplicațiile care ignoră proxy-ul de sistem ocolesc complet regula. Dacă le implementează rezolvând nume și adăugând rute, adresele sunt doar atât de proaspete cât ultima reîmprospătare. Dacă se agață de rezolver, comportamentul DNS devine parte din politica de rutare, iar un rezolver de rezervă îl poate anula în liniște.
Citiți modelul furnizorului, nu eticheta setării. Doi clienți cu o casetă numită Split Tunnel pot face trei lucruri diferite.
Comparați ce se strică
Trei lucruri se strică diferit. Schimbarea adreselor: un nume de gazdă CDN se poate rezolva într-un alt set de adrese în câteva minute, așa că o listă copiată îmbătrânește prost. Sfera subdomeniilor: o regulă pentru example.com poate sau nu să acopere api.example.com, iar documentația este de obicei explicită în privința cărui caz. Eșecul rezolvării: când rezolverul cade, un client care rezolvă poate reveni la tunelarea traficului sau la trimiterea lui directă.
Doar a doua este o problemă de configurare. Celelalte două sunt probleme de proiectare privind cât este dispus produsul să ghicească.
| Behaviour | Prefix rule | Domain rule |
|---|---|---|
| Match basis | destination address | requested name or resolved addresses |
| Staleness | none | depends on refresh policy |
| Subdomain scope | not applicable | product-defined |
| Resolver outage | unaffected | product-defined fallback |
| Where to debug | routing table | client log plus resolver state |
Când prefixul este răspunsul mai bun
Pentru o subrețea privată stabilă, un prefix explicit este mai clar, mai rapid și mai ușor de auditat. Rezistă și la o cădere a rezolverului, pentru că nimic nu trebuie rezolvat. Apelați la o regulă de domeniu când serviciul este găzduit, când adresele se rotesc sau când chiar nu puteți enumera setul de destinații. Nu apelați la ea doar pentru că numele de gazdă este lucrul pe care îl știți din întâmplare.
O listă statică ghicită este cea mai rea dintre ambele: pare întreținută și ratează traficul în tăcere în ziua în care furnizorul adaugă o gazdă.
Verificați cu o cerere proaspătă
Testați cu o cerere rece după o reconectare normală, pentru că o pagină din cache poate să nu atingă niciodată regula. Rezolvați numele, apoi verificați unde a mers de fapt conexiunea. dig +short app.example.com oferă setul actual de adrese, iar lista de conexiuni a clientului vă spune ce interfață a dus fluxul.
Repetați după intervalul de reîmprospătare pe care produsul îl documentează. Dacă setul de adrese derivă și regula nu îl urmează, ați găsit comportamentul real.
Țineți separat și politica rezolverului. O regulă de domeniu are nevoie de date corecte despre nume, dar nu decide singură ce rezolver răspunde interogării.