Ta L2TP adresa je IPCP, a ne DHCP zakup na LAN-u
Unutrašnja adresa dolazi iz PPP pregovora, a ne od kancelarijskog DHCP servera. Pogledajte koja faza je dodjeljuje, zašto LAN ne može odgovoriti i šta provjeriti.
Veza se uspostavlja i adapter pokazuje adresu iz kancelarijskog opsega, pa je prirodan zaključak da vam je VPN dao LAN adresu i time vas stavio na LAN. Nijedna polovina toga nije sasvim tačna. L2TP nosi PPP sesiju, a PPP pregovara unutrašnju IPv4 adresu putem IPCP-a. Ta adresa je parametar sesije dogovoren između dvije strane, a ne zakup koji izdaje kancelarijski DHCP server, i njeno držanje vas ne čini susjedom na kancelarijskoj žici.
Dvije adrese u jednoj vezi
U L2TP vezi postoje dva nezavisna pregovora. Spoljni uspostavlja zaštićenu putanju između vašeg uređaja i VPN odredišta preko bilo koje mreže koju već imate. Unutrašnji je PPP sesija i u njemu se dogovaraju adresa vaše sesije i adresa druge strane. Internetski saobraćaj može izlaziti pod posve trećom adresom, javnom adresom odredišta, zbog čega se stranica za provjeru VPN-a i adresa adaptera rijetko poklapaju.
Razdvajanje te tri uloge odgovara na većinu pitanja koja ljudi donose na ovaj sloj. Privatan broj na VPN interfejsu je normalan i očekivan. On ne govori ništa o tome da li je odredište promijenilo vaš javni izlaz, i sam po sebi ne odlučuje do kojih odredišta stiže vaš saobraćaj.
Šta IPCP tačno radi
IPCP je IPv4 kontrolni protokol za PPP. Svaka strana šalje Configure-Request poruke koje opisuju opcije koje želi, a opcija adrese je jedna od njih. Klijent koji još nema adresu obično pita sa 0.0.0.0, a server odgovara Configure-Nak porukom koja nosi adresu koju želi da klijent koristi. Klijent zatim traži tu adresu i sesija se podiže sa lokalnom i udaljenom adresom.
Ta razmjena je dokumentovana u PPP i IPCP specifikacijama i objašnjava detalj koji izgleda kao greška: adresu bira server po sopstvenoj politici, koja može biti bazen, postavka po korisniku ili adresa vezana za autentifikovani identitet. Kada se bazen iscrpi ili se politika sukobi sa zahtjevom, autentifikacija može uspjeti dok pregovor o adresi ne uspije, a klijent prijavljuje vezu koja se nikada ne smiri.
ip addr show ppp0
ip route show default
dmesg | grep -i pppd
Linija pppd dnevnika koja navodi lokalnu i udaljenu adresu uspješan je kraj tog pregovora. Njeno odsustvo, pored uspješne autentifikacije, ukazuje na fazu adrese, a ne na akreditive.
Zašto vam LAN ne može odgovoriti
Adresa iz opsega daleke strane stvara očekivanje da vas hostovi na tom LAN-u mogu dosegnuti, a uglavnom ne mogu, osim ako server usmjerava adresu vaše sesije natrag u tunel. Biti unutar bazena izjava je o dodjeli, ne o topologiji. Kancelarijski fajl server nema rutu do adrese vaše sesije osim ako je VPN server prosljeđuje, a možda mu to nije ni dozvoljeno čak i ako je prosljeđuje.
Zato i opsezi koji se preklapaju stvaraju probleme nesrazmjerne njihovoj prividnoj veličini. Ako se bazen preklapa s LAN-om koji klijent već koristi, klijentska tabela ruta sada ima dva zahtjeva na isti prefiks, a pogrešan često pobjeđuje iz razloga koji nemaju veze s tunelom.
Prvo provjerite sesiju, zatim rutu
Prvo provjerite interfejs, zatim rute, zatim jedno odredište koje je važno. Svaki korak ima svoj način neuspjeha, a testiranje sva tri odjednom daje zaključak koji kasnije ne možete braniti.
curl -sS --max-time 5 https://ifconfig.me
ping -c 3 10.50.30.20
ip route get 10.50.30.20
Ako javna provjera pokazuje adresu odredišta dok privatno odredište istekne, tunel nosi vašu podrazumijevanu rutu, a daleka strana ne odgovara za to odredište. Ako privatno odredište odgovara, ali se javna provjera ne mijenja, profil koristi podijeljeno tuneliranje i samo dio saobraćaja koristi sesiju.
Držite te tri faze odvojeno
Autentifikacija, pregovor o adresi i prosljeđivanje ne uspijevaju na različite načine, i svaki ima drugog vlasnika. Akreditive su problem identiteta, iscrpljenost IPCP-a je problem serverske politike, a nedostajuća povratna ruta je problem dizajna mreže. Prijaviti sva tri kao “VPN je pokvaren” garantuje sporo rješenje.
Zapišite dodijeljenu adresu, bazen iz kojeg je došla i treba li LAN da je dosegne. Ta jedna bilješka sprječava sljedeću osobu da pretpostavi DHCP zakup i traži opseg koji nikada nije bio uključen.