Odjemalec noče začeti in se pritožuje, da ne more vezati lokalnega naslova, in očitna rešitev je videti tako, kot da ga je treba usmeriti na naslov tunela, ki ga pričakuje. To ne more delovati, in razlog je vreden razumevanja: preden tunel obstaja, notranjega naslova ni, vtičnica, ki se poveže s strežnikom, pa mora obstajati najprej. Vpletena sta dva različna naslova in le enega od njiju je mogoče izbrati lokalno.

Napaka pri vezavi navaja lokalni naslov

Ko OpenVPN sporoči, da ne more vezati lokalnega naslova, govori o transportni vtičnici: končni točki UDP ali TCP, ki nosi šifrirano povezavo do partnerja.

Izrecna direktiva local prosi demona, da to vtičnico veže na določen lokalni naslov. Naslov mora obstajati v imenskem prostoru omrežja, kjer teče proces, in mora biti dodeljiv v trenutku, ko se odjemalec zažene.

Javni naslov, preveden na usmerjevalniku ali na robu oblaka, ni lokalni naslov, ki bi ga demon lahko vezal, čeprav je to naslov, ki ga vidi strežnik. Ta razlika pojasni, zakaj en profil deluje doma in odpove na oblaku. Pojasni tudi, zakaj dodajanje javnega naslova na povratno zanko ne pomaga, saj bi transport takrat vzel vir z naslova, na katerega omrežje ne more usmeriti nazaj. Preden uredite profil, preberite seznam vmesnikov.

Kaj local in remote dejansko izbirata

remote navaja partnerja, s katerim se je treba povezati. local veže bližnji konec iste vtičnice. nobind prepusti operacijskemu sistemu izbiro lokalnega naslova in vrat, zato odjemalci za domačimi usmerjevalniki običajno delujejo brez obeh direktiv.

Nobena od direktiv nima nič opraviti z naslovom znotraj tunela.

V vsebniku ali imenskem prostoru omrežja velja isto pravilo z ožjimi mejami: naslovov gostitelja znotraj ni, zato vrstica local, kopirana iz gostiteljeve konfiguracije, odpove iz povsem drugega razloga, kot bi odpovedal napačen naslov.

ip -brief address show
ip route get 203.0.113.10

Notranji naslov prihaja s strežnika

Naslov znotraj tunela se pogaja ali dodeli po vzpostavitvi krmilnega kanala. Pri dinamičnem naboru o njem odloči strežnik ob povezavi, pri konfiguraciji, vezani na odjemalca, pa je lahko za vsako identiteto fiksen.

Če zapišete local z notranjim naslovom, to strežnika ne prosi, naj ta naslov dodeli. V najboljšem primeru vezava spodleti; v najslabšem odjemalec najde nepovezan gostiteljev naslov z isto vrednostjo in ga začne uporabljati za transport.

Tudi vmesniki, ki jih je treba brati, so drugi. Parametri ifconfig in konfiguracija nabora opisujejo notranjost, medtem ko remote, local, proto in nobind opisujejo zunanjost. Ločevanje teh dveh seznamov pojasni skoraj vsak zavajajoč primer, ki ga boste našli na forumu. Zato jih priročnik OpenVPN 2.6 dokumentira v ločenih razdelkih.

Past: poln tunel, ki ujame lastni transport

Ko je tunel vzpostavljen in nosi privzeto pot, se paketi, ki ga vzdržujejo, ne smejo usmerjati vanj. To je težava usmerjanja in ne naslavljanja, in demon jo reši tako, da prek prvotnih vrat namesti bolj natančno pot do strežnikovega lastnega naslova.

Če transport pripnete na določen lokalni naslov in pozneje spremenite pot, ki jo ta naslov uporablja, lahko zunanja povezava izgubi smer, medtem ko notranjost ostane nastavljena. Tunel še naprej poroča povezanost, ker je notranjost v redu. Pokvarjen je samo transport, zato se dnevniki berejo kot protislovja.

Simptomi so takrat videti kot tunel, ki se poveže in zamrzne, ali kot tunel, ki se v zanki znova povezuje brez koristne napake. Preverite pot do partnerjevega naslova, preden preverite karkoli znotraj tunela, in potrdite, da vezani lokalni naslov še vedno pripada vmesniku, ki ste ga pričakovali.

Navada, ki prepreči zmedo

Preberite vsak naslov v profilu in se odločite, kateremu sloju pripada, preden ga uredite.

Če navaja oddaljeni konec transporta ali veže njegov bližnji konec, je zunanji naslov in mora obstajati pred zagonom. Če opisuje, kaj se dogaja znotraj tunela, prihaja s strežnika ali iz topologije, in nobena lokalna direktiva ga ne more nadomestiti.

Zapišite oba seznama v opombe k uvajanju poleg profila. Naslednja seja odpravljanja težav se potem začne s slojem in ne s ugibanjem.

Sorodni članki