De ce VPN-ul din Windows ucide imprimanta locală și cum să oprești asta
Un client cu tunel complet deține ruta implicită, așa că imprimanta și NAS-ul nu mai răspund. Elimină acea rută, apoi adaugă la loc prefixele de lucru de care ai nevoie.
Conectează VPN-ul și imprimanta dispare, partajarea NAS nu se mai deschide, iar o sesiune Desktop la distanță către mașina de lângă tine expiră. Nimic nu s-a stricat. Clientul a adăugat o rută implicită și acum deține fiecare destinație pe care laptopul o poate numi, inclusiv cele aflate la trei metri. Acesta este întregul mecanism, iar a numi asta o defecțiune VPN este exact ce transformă o remediere de o linie într-un caz de suport.
Citește mai întâi tabelul de rute
Înainte de a schimba ceva, capturează tabelul IPv4 cu route print -4 și păstrează rezultatul. Conectează-te, capturează din nou și compară liniile 0.0.0.0: ruta implicită activă numește o interfață, iar dacă acea interfață este tunelul, imprimarea și navigarea locale sunt trimise mai întâi la birou.
Numărul interfeței din a doua coloană este cel la care o rută persistentă va trebui să facă referire mai târziu, așa că notează-l cât timp tunelul este activ. Este și valoarea care se schimbă atunci când adaptorul este recreat, motiv pentru care rutele fixate de el pot supraviețui în liniște utilității lor.
Elimină ruta implicită, în trei feluri
Pe un profil Windows încorporat, controlul este o casetă de selecție. Deschide proprietățile conexiunii, IPv4, apoi Avansat, și deselectează Use default gateway on remote network; aplicația Setări mai nouă ascunde același dialog un nivel mai adânc. Dintr-un prompt ridicat aceeași schimbare este un singur cmdlet:
Set-VpnConnection -Name "Corp" -SplitTunneling $true
Un profil OpenVPN funcționează diferit, de aceea comportamentul lui îi încurcă pe cei care așteaptă o casetă de selecție. Directiva redirect-gateway def1 nu înlocuiește deloc ruta implicită; instalează două rute de jumătate de interval, 0.0.0.0/1 și 128.0.0.0/1, care împreună o înving pe cea implicită fără a o șterge. Fiindcă implicitul original supraviețuiește, adăugarea unui prefix îndreptat spre net_gateway trimite înapoi la routerul local doar acel prefix. Acel detaliu explică de ce remedierea pentru un profil def1 este o rută de prefix și nu o casetă de selecție pe care nimeni nu o găsește.
Adaugă la loc doar ce aparține muncii
Fără ruta implicită tunelul nu transportă nimic, așa că prefixele de lucru trebuie numite explicit. Cmdlet-ul care leagă un prefix de conexiune este mai sigur decât o rută persistentă, pentru că se instalează doar cât timp acea conexiune este activă și nu depinde de un număr de interfață:
Add-VpnConnectionRoute -ConnectionName "Corp" -DestinationPrefix 172.20.0.0/16
Abordarea mai veche încă funcționează și încă apare în fiecare listă de verificare: route -p add 172.20.0.0 mask 255.255.0.0 172.20.0.1 if 14, cu indexul interfeței și adresa de gateway ale tunelului însuși. Persistă peste reporniri, ceea ce este scopul și totodată pericolul, fiindcă indexul poate aparține altceva la următoarea pornire.
Restul este decis de metrici. Dacă atât adaptorul fizic, cât și cel al tunelului revendică o rută pentru același prefix, câștigă metrica mai mică, iar creșterea metricii tunelului este un control legitim din partea clientului, nu un hack.
Când serverul decide pentru tine
Un client care ignoră caseta ta de selecție de obicei ascultă de o politică. Profilurile Cisco poartă o setare Allow Local LAN Access, iar un headend poate împinge o politică tunnel-all care anulează ce ar prefera clientul; într-o implementare cu tunel obligatoriu nu există niciun comutator local de întors. Citește jurnalul clientului pentru rutele și liniile de politică împinse, în loc să reverifici același dialog.
Apoi uită-te la rezoluția numelor, care este un comutator separat de rutare. Un tunel divizat poate primi în continuare un resolver intern și un sufix de căutare, așa că un dispozitiv local este accesibil după adresă și negăsibil după nume până când și partea de DNS este reparată.
Suprapunerile sunt altă problemă
Dacă LAN-ul de acasă și LAN-ul biroului împart un prefix precum 192.168.0.0/24, nicio rută nu le poate distinge. Fiecare pachet pentru acel interval are un singur rezultat de căutare, iar remedierea este renumerotarea unei părți sau atingerea biroului printr-o adresă tradusă din pool. Adăugarea de rute mai specifice doar mută care jumătate a rețelei se strică.
Încheie cu o singură verificare în loc de cinci: conectează-te, apoi rulează tracert către un host intern și unul public. Primul salt ar trebui să difere, iar dacă nu diferă, divizarea nu este în vigoare indiferent ce raportează clientul. Apoi reconectează-te o dată și repetă, pentru că rutele împinse se întorc la fiecare sesiune.