OpenVPN: kohalik aadress ja tunneliaadress — kaks erinevat soklit
Aadress, mis suhtleb serveriga, ei ole tunneli sees olev aadress. Kui lugeda local, remote ja nobind eraldi rollidena, seletab see enamikku sidumisvigu.
Klient keeldub käivitumast ja kurdab, et ei saa kohalikku aadressi siduda, ning ilmne parandus näib olevat suunata see tunneliaadressile, mida ta ootab. See ei saa toimida, ja põhjust tasub mõista: enne tunneli olemasolu pole seesmist aadressi, ja serveriga suhtlev sokkel peab olemas olema esimesena. Mängus on kaks erinevat aadressi ja ainult ühte neist saab valida kohapeal.
Sidumisviga nimetab kohalikku aadressi
Kui OpenVPN teatab, et ei suuda kohalikku aadressi siduda, räägib ta transport-soklist: UDP või TCP lõpp-punktist, mis kannab krüpteeritud ühendust peerini.
Selgesõnaline local-direktiiv palub deemonil siduda see sokkel kindla kohaliku aadressiga. Aadress peab eksisteerima võrgus nimeruumis, kus protsess töötab, ja see peab olema määratav hetkel, mil klient käivitub.
Ruuteris või pilve servas tõlgitud avalik aadress ei ole kohalik aadress, mille deemon saab siduda, kuigi just seda aadressi näeb server. See erinevus selgitab, miks üks profiil töötab kodus ja ebaõnnestub pilveeksemplaris. See selgitab ka, miks avaliku aadressi lisamine loopback-liidesele ei aita, sest siis lähtuks transport aadressist, kuhu võrk ei saa vastata. Enne profiili muutmist loe liideste loendit.
Mida local ja remote tegelikult valivad
remote nimetab peeri, kellega suhelda. local seob sama sokli lähema otsa. nobind jätab operatsioonisüsteemile nii kohaliku aadressi kui ka pordi valiku, mistõttu koduruuterite taga olevad kliendid töötavad tavaliselt ilma kummagi direktiivita.
Kummalgi direktiivil pole midagi pistmist tunneli sees oleva aadressiga.
Konteineris või võrgus nimeruumis kehtib sama reegel kitsamate piiridega: hosti aadressid ei ole sees olemas, seega hosti konfiguratsioonist kopeeritud local rida ebaõnnestub hoopis teisel põhjusel kui vale aadress.
ip -brief address show
ip route get 203.0.113.10Seesmine aadress tuleb serverilt
Tunneli sees olev aadress lepitakse kokku või määratakse pärast juhtkanali loomist. Dünaamilise basseini korral otsustab server selle ühendamise hetkel, ja kliendipõhise konfiguratsiooni korral võib see olla identiteedi kaupa fikseeritud.
local kirjutamine seesmise aadressiga ei palu serveril seda aadressi eraldada. Parimal juhul ebaõnnestub sidumine; halvimal juhul leiab klient sama väärtusega seostamata hosti aadressi ja hakkab seda transpordi jaoks kasutama.
Loetavad liidesed on samuti erinevad. ifconfig parameetrid ja basseini konfiguratsioon kirjeldavad seesmist, samas kui remote, local, proto ja nobind kirjeldavad välimist. Kahe loendi lahus hoidmine seletab peaaegu iga segadust tekitava näite, mille foorumist leiad. OpenVPN 2.6 käsiraamat dokumenteerib need just sel põhjusel eraldi peatükkides.
Lõks: täistunnel, mis püüab kinni oma enda transpordi
Kui tunnel on üleval ja kannab vaikimisi marsruuti, ei tohi seda ülal hoitavaid pakette sellesse suunata. See on marsruutimise, mitte adresseerimise probleem, ja deemon lahendab selle, paigaldades algse lüüsi kaudu täpsema marsruudi serveri enda aadressile.
Kui kinnitad transpordi kindla kohaliku aadressi külge ja muad hiljem tee, mida see aadress kasutab, võib väline ühendus eksida, samal ajal kui seesmine jääb konfigureerituks. Tunnel jätkab teadet, et on ühendatud, sest seesmine on korras. Katki on ainult transport, ja seetõttu loetakse logisid vastuoludena.
Sümptomid näevad siis välja nagu tunnel, mis ühendub ja külmub, või tunnel, mis taaskäivitub tsüklis ilma kasuliku veata. Kontrolli peeri aadressi marsruuti enne, kui kontrollid midagi tunneli sees, ja kinnita, et seotud kohalik aadress kuulub endiselt liidesele, mida ootasid.
Harjumus, mis hoiab segaduse eest
Loe profiili iga aadress ja otsusta enne muutmist, millisesse kihti see kuulub.
Kui see nimetab transpordi kaugemat otsa või seob selle lähema otsa, on see väline aadress ja peab olema olemas enne käivitust. Kui see kirjeldab, mis toimub tunneli sees, pärineb see serverilt või topoloogialt, ja ükski kohalik direktiiv ei saa seda asendada.
Kirjuta kaks loendit profiili kõrval olevatesse juurutamismärkmetesse. Järgmine tõrkeotsingu sessioon algab siis kihist, mitte oletusest.