Jeden notebook drží tunel, zvyšok domácnosti chce rovnaký prístup a prvý pokus je nasmerovať všetko na pripojený stroj. Zlyháva z dôvodov, ktoré nemajú nič spoločné s VPN: prijímajúci hostiteľ musí paket preposlať, prepísať jeho zdroj a zabezpečiť, aby odpovede našli cestu späť. Ak vynecháte ktorúkoľvek z troch vecí, pripojený notebook funguje ďalej, kým všetky ostatné zariadenia nedostanú odpoveď. Riešením je návrh smerovania, nie nastavenie klienta.

Prečo zlyháva nasmerovanie zariadení na hostiteľa

Hostiteľ, ktorý prijme paket adresovaný vzdialenej sieti, sa na ten okamih stane smerovačom, bez ohľadu na to, či ho tak niekto nakonfiguroval. Preposielanie je v systéme Linux a Windows predvolene vypnuté, pokiaľ ho nezapne nejaká funkcia. Preklad adries je dôležitý, pretože vzdialená strana musí vedieť, kam posielať odpovede, a súkromná adresa LAN pre ňu nič neznamená. Spätná trasa je tretia časť a práve na ňu ľudia zabúdajú, keď sa prvý ping zdá úspešný.

Diagnostikujte v tomto poradí namiesto náhodného prepínania nastavení. Každá chýbajúca časť spôsobuje mierne odlišný príznak.

Zapnite preposielanie a preklad adries na hostiteľovi

Dve zmeny na pripojenom hostiteľovi pokrývajú prvé dve časti: zapnutie preposielania IPv4 a preklad premávky LAN na rozhranie tunela.

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

Uložte hodnotu sysctl do súboru pod /etc/sysctl.d a po reštarte znova skontrolujte pravidlo masquerade, pretože frontendy firewallu môžu vymazať vlastné reťazce. V systéme Windows funkcia zdieľania vykoná oba kroky, ale tiež preadresuje adaptér LAN na pevnú podsiete a vymaže jeho bránu, čo pokazí statické adresovanie a presmerovanie portov. Obnovte cestu smerovača k hostiteľovi na jeho novej adrese, skôr než usúdite, že zdieľanie zlyhalo. Potom sledujte, ako počítadlá pravidla rastú, kým druhé zariadenie odosiela premávku.

Dajte sieti LAN cestu, ktorá prežije reštarty

Ostatné zariadenia potrebujú trasu k vzdialenému prefixu a oba spôsoby jej poskytnutia sa líšia rozsahom dopadu.

ip route add 10.8.0.0/24 via 192.168.1.20 dev eth0

Nasmerovanie predvolenej brány klienta na hostiteľa pošle všetku jeho premávku cez hostiteľa, vrátane lokálnej tlače a zdieľania súborov, takže nesúvisiace veci sa zastavia, keď hostiteľ spí. Pridanie konkrétnej trasy na smerovači pre vzdialený prefix je užšie: iba destinácie za tunelom idú na pripojený stroj a zvyšok siete LAN funguje ďalej. Podsiete vyššie sú príklady, preto ich nahraďte svojimi rozsahmi LAN a tunela. V každom prípade to otestujte z druhého zariadenia s tunelom zapnutým a potom vypnutým.

Sledujte MTU, skôr než obviníte tunel

Tunely zmenšujú použiteľnú veľkosť paketu a druhé zariadenie o tom nemá poňatia. Veľké prenosy a handshaky TLS sa zaseknú, kým malé požiadavky uspejú.

ping -M do -s 1400 10.8.0.5

Odpoveď dokazuje, že táto veľkosť prechádza cestou bez fragmentácie; časový limit znamená, že réžia zapuzdrenia vytlačila paket za MTU tunela. Znížte MTU na rozhraní zdieľania alebo obmedzte maximálnu veľkosť segmentu na preposielači a potom zopakujte rovnakú skúšku. Najprv otestujte rovnakú veľkosť na strane LAN, pretože lokálne zlyhanie ukazuje na LAN, nie na tunel. Zapíšte si fungujúcu veľkosť, pretože neskoršia zmena poskytovateľa alebo tunela ju môže posunúť.

Pre jedno ďalšie zariadenie stačí zdieľanie z hostiteľa. Pre domácnosť dajte trasu na smerovač. Keď má prístup prežiť odchod notebooku s vami, samotný tunel patrí na vyhradenú bránu.

Súvisiace články