Veza se uspostavlja i adapter pokazuje adresu iz uredskog raspona, pa je prirodan zaključak da vam je VPN dao LAN adresu i time vas stavio na LAN. Nijedna polovica toga nije posve točna. L2TP nosi PPP sesiju, a PPP pregovara unutarnju IPv4 adresu putem IPCP-a. Ta je adresa parametar sesije dogovoren između dvije strane, a ne zakup koji izdaje uredski DHCP poslužitelj, i njeno držanje ne čini vas susjedom na uredskoj žici.

Dvije adrese u jednoj vezi

U L2TP vezi postoje dva neovisna pregovora. Vanjski uspostavlja zaštićeni put između vašeg uređaja i VPN odredišta preko bilo koje mreže koju već imate. Unutarnji je PPP sesija i u njemu se dogovaraju adresa vaše sesije i adresa druge strane. Internetski promet 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 tih triju uloga odgovara na većinu pitanja koja ljudi donose na ovaj sloj. Privatan broj na VPN sučelju normalan je i očekivan. On ne govori ništa o tome je li odredište promijenilo vaš javni izlaz, i sam po sebi ne odlučuje do kojih odredišta stiže vaš promet.

Što IPCP točno radi

IPCP je IPv4 kontrolni protokol za PPP. Svaka strana šalje Configure-Request poruke koje opisuju opcije koje želi, a opcija adrese jedna je od njih. Klijent koji još nema adresu obično pita s 0.0.0.0, a poslužitelj odgovara Configure-Nak porukom koja nosi adresu koju želi da klijent koristi. Zatim klijent traži tu adresu i sesija se podiže s lokalnom i udaljenom adresom.

Ta je razmjena dokumentirana u PPP i IPCP specifikacijama i objašnjava detalj koji izgleda kao pogreška: adresu bira poslužitelj prema vlastitoj politici, koja može biti bazen, postavka po korisniku ili adresa vezana uz autentificirani identitet. Kad 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. Njezina odsutnost, uz uspješnu autentifikaciju, upućuje na fazu adrese, a ne na vjerodajnice.

Zašto vam LAN ne može odgovoriti

Adresa iz raspona daleke strane stvara očekivanje da vas računala na tom LAN-u mogu dosegnuti, a uglavnom ne mogu, osim ako poslužitelj usmjerava adresu vaše sesije natrag u tunel. Biti unutar bazena izjava je o dodjeli, ne o topologiji. Uredski poslužitelj datoteka nema rutu do adrese vaše sesije osim ako je VPN poslužitelj prosljeđuje, a možda mu to nije ni dopušteno čak i ako je prosljeđuje.

Zato i rasponi koji se preklapaju stvaraju probleme nesrazmjerne njihovoj prividnoj veličini. Ako se bazen preklapa s LAN-om koji klijent već koristi, klijentska tablica usmjeravanja 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 sučelje, 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 obraniti.

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 zadanu 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 prometa 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. Vjerodajnice su problem identiteta, iscrpljenost IPCP-a problem je poslužiteljske politike, a nedostajuća povratna ruta problem je dizajna mreže. Prijaviti sva tri kao “VPN je pokvaren” jamči sporo rješenje.

Zapišite dodijeljenu adresu, bazen iz kojeg je došla i treba li je LAN dosegnuti. Ta jedna bilješka sprječava sljedeću osobu da pretpostavi DHCP zakup i traži raspon koji nikada nije bio uključen.

Povezani članci