Jedan laptop drži tunel, ostatak kuće želi isti pristup, a prvi pokušaj je usmjeriti sve na povezanu mašinu. To propada iz razloga koji nemaju nikakve veze s VPN-om: host koji prima paket mora ga proslijediti, prepisati njegov izvor i pobrinuti se da odgovori pronađu put natrag. Propustite li bilo šta od toga troje, povezani laptop nastavlja raditi, dok svaki drugi uređaj dobija tajmaut. Rješenje je dizajn rutiranja, a ne postavka klijenta.

Zašto usmjeravanje uređaja na host ne uspijeva

Host koji primi paket adresiran na udaljenu mrežu postaje ruter za taj trenutak, bez obzira na to je li ga neko tako konfigurisao. Prosljeđivanje je isključeno po defaultu na Linuxu i na Windowsu, osim ako ga neka funkcija uključi. Prevođenje je važno jer udaljena strana mora znati gdje da pošalje odgovore, a privatna LAN adresa joj ništa ne znači. Povratna ruta je treći dio, i upravo nju ljudi zaborave kada prvi ping izgleda uspješno.

Dijagnostikujte tim redom umjesto da nasumično prebacujete postavke. Svaki dio koji nedostaje daje malo drugačiji simptom.

Uključite prosljeđivanje i prevođenje na hostu

Dvije promjene na povezanom hostu pokrivaju prva dva dijela: uključite IPv4 prosljeđivanje i prevedite LAN saobraćaj na interfejs tunela.

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Sačuvajte sysctl vrijednost u datoteci pod /etc/sysctl.d i ponovo provjerite MASQUERADE pravilo nakon restarta, jer firewall frontendi mogu počistiti prilagođene lance. Na Windowsu funkcija dijeljenja izvodi oba koraka, ali i preadresira LAN adapter na fiksnu podmrežu i briše njegov mrežni prolaz, što kvari statičko adresiranje i prosljeđivanje portova. Obnovite putanju rutera do hosta na njegovoj novoj adresi prije nego zaključite da dijeljenje nije uspjelo. Zatim gledajte kako brojači pravila rastu dok drugi uređaj šalje saobraćaj.

Dajte LAN-u putanju koja preživi restarte

Ostali uređaji trebaju rutu do udaljenog prefiksa, a dva načina da je obezbijedite razlikuju se po obimu uticaja.

ip route add 10.8.0.0/24 via 192.168.1.20 dev eth0

Usmjeravanje klijentovog default mrežnog prolaza na host šalje sav njegov saobraćaj kroz host, uključujući lokalno štampanje i dijeljenje datoteka, pa nepovezane stvari stanu kada host zaspi. Dodavanje konkretne rute na ruteru za udaljeni prefiks je uže: samo odredišta iza tunela idu na povezanu mašinu, a ostatak LAN-a nastavlja raditi. Podmreže gore su primjeri, pa zamijenite svoje LAN i tunel opsege. U svakom slučaju testirajte s drugog uređaja s uključenim, a zatim isključenim tunelom.

Pazite na MTU prije nego okrivite tunel

Tuneli smanjuju iskoristivu veličinu paketa, a drugi uređaj o tome nema pojma. Veliki prenosi i TLS rukovanja zapnu dok mali zahtjevi uspijevaju.

ping -M do -s 1400 10.8.0.5

Odgovor dokazuje da ta veličina prolazi putanju bez fragmentacije; tajmaut znači da je enkapsulacijski overhead pogurao paket preko MTU-a tunela. Smanjite MTU na interfejsu za dijeljenje ili ograničite maksimalnu veličinu segmenta na prosljeđivaču, pa ponovite istu provjeru. Prvo testirajte istu veličinu na LAN strani, jer lokalni neuspjeh upućuje na LAN, a ne na tunel. Zapišite radnu veličinu, jer je kasnija promjena provajdera ili tunela može pomjeriti.

Za jedan dodatni uređaj dovoljno je dijeljenje s hosta. Za domaćinstvo stavite rutu na ruter. Kada pristup mora preživjeti odlazak laptopa s vama, sam tunel pripada namjenskom mrežnom prolazu.

Povezani članci