Klientas atsisako paleisti ir skundžiasi, kad negali susieti vietinio adreso, o akivaizdus sprendimas atrodo kaip nukreipimas į tunelio adresą, kurį jis tikisi gauti. Tai negali veikti, ir priežastį verta suprasti: kol tunelio nėra, vidinio adreso nėra, o lizdas, kuris susisiekia su serveriu, turi egzistuoti pirmas. Čia dalyvauja du skirtingi adresai, ir tik vieną jų galima pasirinkti vietoje.

Priskyrimo klaida įvardija vietinį adresą

Kai OpenVPN praneša, kad negali susieti vietinio adreso, jis kalba apie transporto lizdą: UDP arba TCP galinį tašką, kuris neša užšifruotą ryšį į partnerį.

Aiški local direktyva prašo demono susieti tą lizdą su konkrečiu vietiniu adresu. Adresas turi egzistuoti tinklo vardų erdvėje, kurioje veikia procesas, ir turi būti priskiriamas tuo metu, kai klientas paleidžiamas.

Viešas adresas, išverstas maršrutizatoriuje arba debesies krašte, nėra vietinis adresas, kurį demonas galėtų susieti, net jei tai yra adresas, kurį mato serveris. Šis skirtumas paaiškina, kodėl vienas profilis veikia namie, o debesies egzemplioriuje nepavyksta. Jis taip pat paaiškina, kodėl viešo adreso pridėjimas prie loopback sąsajos nepadeda, nes tada transportas išeitų iš adreso, į kurį tinklas negali atsakyti. Prieš redaguodami profilį perskaitykite sąsajų sąrašą.

Ką iš tikrųjų pasirenka local ir remote

remote įvardija partnerį, su kuriuo reikia susisiekti. local susieja to paties lizdo artimąjį galą. nobind leidžia operacinei sistemai pasirinkti ir vietinį adresą, ir prievadą, todėl klientai už namų maršrutizatorių paprastai veikia be abiejų direktyvų.

Nė viena direktyva neturi nieko bendra su adresu tunelio viduje.

Konteinerio ar tinklo vardų erdvėje galioja ta pati taisyklė su siauresnėmis ribomis: šeimininko adresų viduje nėra, todėl iš šeimininko konfigūracijos nukopijuota local eilutė nepavyksta dėl visiškai kitos priežasties nei neteisingas adresas.

ip -brief address show
ip route get 203.0.113.10

Vidinis adresas ateina iš serverio

Adresas tunelio viduje derinamas arba priskiriamas po to, kai sukuriamas valdymo kanalas. Dinaminiame telkinyje serveris tai nusprendžia prisijungimo metu, o klientui specifinėje konfigūracijoje jis gali būti fiksuotas kiekvienai tapatybei.

local rašymas su vidiniu adresu neprašo serverio priskirti to adreso. Geriausiu atveju susiejimas nepavyksta; blogiausiu atveju klientas randa nesusijusį šeimininko adresą su ta pačia reikšme ir pradeda jį naudoti transportui.

Skaitomos sąsajos taip pat skiriasi. ifconfig parametrai ir telkinio konfigūracija aprašo vidų, o remote, local, proto ir nobind aprašo išorę. Dviejų sąrašų atskyrimas paaiškina beveik kiekvieną painų pavyzdį, kurį rasite forume. OpenVPN 2.6 vadove jie aprašyti atskiruose skyriuose būtent dėl šios priežasties.

Spąstai: visas tunelis, pagavęs savo paties transportą

Kai tunelis pakeltas ir neša numatytąjį maršrutą, jį palaikantys paketai neturi būti maršrutizuojami į jį. Tai maršrutizavimo, o ne adresavimo problema, ir demonas ją sprendžia įdiegdamas tikslesnį maršrutą į paties serverio adresą per pradinį šliuzą.

Jei transportą pritvirtinsite prie konkretaus vietinio adreso, o vėliau pakeisite kelią, kurį tas adresas naudoja, išorinis ryšys gali pasiklysti, nors vidus lieka sukonfigūruotas. Tunelis toliau praneša esąs prijungtas, nes vidus tvarkingas. Sulaužytas tik transportas, todėl žurnalai skaitomi kaip prieštaravimai.

Tada simptomai atrodo kaip tunelis, kuris prisijungia ir užšąla, arba kaip tas, kuris kilpoje vėl jungiasi be naudingos klaidos. Patikrinkite maršrutą į partnerio adresą prieš tikrindami ką nors tunelio viduje ir patvirtinkite, kad susietas vietinis adresas vis dar priklauso lauktai sąsajai.

Įprotis, kuris apsaugo nuo painiavos

Perskaitykite kiekvieną profilio adresą ir prieš redaguodami nuspręskite, kuriam sluoksniui jis priklauso.

Jei jis įvardija tolimą transporto galą arba susieja artimąjį jo galą, tai išorinis adresas, ir jis turi egzistuoti prieš paleidimą. Jei jis aprašo, kas vyksta tunelio viduje, jis ateina iš serverio arba iš topologijos, ir jokia vietinė direktyva negali jo pakeisti.

Užrašykite du sąrašus diegimo pastabose prie profilio. Kita trikčių šalinimo sesija tada prasidės nuo sluoksnio, o ne nuo spėjimo.

Susiję straipsniai