Partajează o singură conexiune VPN cu toate dispozitivele din LAN
Partajarea unui tunel necesită redirecționare, traducere de adrese și o rută de întoarcere. Compară partajarea de pe gazdă, o rută a routerului către acea gazdă și un gateway care deține tunelul.
Un laptop ține tunelul, restul casei vrea același acces, iar prima încercare este să îndrepți totul către mașina conectată. Eșuează din motive care nu au nimic de-a face cu VPN-ul: gazda care primește trebuie să redirecționeze pachetul, să rescrie sursa și să se asigure că răspunsurile își găsesc drumul înapoi. Dacă lipsește oricare dintre cele trei, laptopul conectat continuă să funcționeze, în timp ce toate celelalte dispozitive nu primesc răspuns. Soluția este o proiectare de rutare, nu o setare de client.
De ce eșuează îndreptarea dispozitivelor către gazdă
O gazdă care primește un pachet adresat unei rețele la distanță devine un router pentru acel moment, indiferent dacă cineva a configurat-o ca atare sau nu. Redirecționarea este dezactivată implicit pe Linux și pe Windows, dacă nu o activează o funcție. Traducerea adreselor contează pentru că partea la distanță trebuie să știe unde să trimită răspunsurile, iar o adresă LAN privată nu înseamnă nimic pentru ea. Ruta de întoarcere este a treia piesă și este cea pe care oamenii o uită atunci când primul ping pare să reușească.
Diagnostichează în această ordine în loc să comuți setări la întâmplare. Fiecare piesă lipsă produce un simptom ușor diferit.
Activează redirecționarea și traducerea adreselor pe gazdă
Două modificări pe gazda conectată acoperă primele două piese: activează redirecționarea IPv4 și tradu traficul LAN pe interfața tunelului.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADEPăstrează valoarea sysctl într-un fișier sub /etc/sysctl.d și reverifică regula masquerade după o repornire, deoarece interfețele frontale ale firewall-ului pot goli lanțurile personalizate. Pe Windows, funcția de partajare efectuează ambii pași, dar readresează și adaptorul LAN către o subrețea fixă și îi șterge gateway-ul, ceea ce strică adresarea statică și redirecționarea porturilor. Restabilește calea routerului către gazdă la noua adresă înainte de a concluziona că partajarea a eșuat. Apoi urmărește cum contoarele regulii cresc în timp ce un al doilea dispozitiv trimite trafic.
Dă LAN-ului o cale care supraviețuiește repornirilor
Celelalte dispozitive au nevoie de o rută către prefixul la distanță, iar cele două moduri de a o furniza diferă prin amploarea impactului.
ip route add 10.8.0.0/24 via 192.168.1.20 dev eth0Îndreptarea gateway-ului implicit al unui client către gazdă trimite tot traficul acestuia prin gazdă, inclusiv imprimarea locală și partajarea fișierelor, astfel încât lucrurile nelegate se opresc când gazda intră în repaus. Adăugarea unei rute specifice pe router pentru prefixul la distanță este mai îngustă: doar destinațiile din spatele tunelului merg la mașina conectată, iar restul LAN-ului continuă să funcționeze. Subrețelele de mai sus sunt exemple, așa că înlocuiește-le cu intervalele tale de LAN și de tunel. În orice caz, testează de pe un al doilea dispozitiv cu tunelul pornit și apoi oprit.
Urmărește MTU înainte de a da vina pe tunel
Tunelurile micșorează dimensiunea utilă a pachetului, iar al doilea dispozitiv nu are habar. Transferurile mari și handshake-urile TLS se blochează în timp ce cererile mici reușesc.
ping -M do -s 1400 10.8.0.5Un răspuns dovedește că acea dimensiune traversează calea nefragmentat; un timeout înseamnă că suprasarcina de încapsulare a împins pachetul dincolo de MTU-ul tunelului. Micșorează MTU-ul pe interfața de partajare sau limitează dimensiunea maximă a segmentului pe dispozitivul care redirecționează, apoi repetă aceeași verificare. Testează mai întâi aceeași dimensiune pe partea LAN, pentru că o eșuare locală indică LAN-ul și nu tunelul. Notează dimensiunea care funcționează, deoarece o modificare ulterioară a furnizorului sau a tunelului o poate muta.
Pentru un singur dispozitiv în plus, partajarea de pe gazdă este suficientă. Pentru o gospodărie, pune ruta pe router. Când accesul trebuie să supraviețuiască plecării laptopului cu tine, tunelul însuși aparține unui gateway dedicat.