Dve konfiguraciji peerov se primerjata druga ob drugi, ena ima vrstico remote, druga ne, in sklep je, da je ena od njiju pokvarjena. Ta sklep je dovolj pogosto napačen, da si zasluži razčlenitev. Direktiva opisuje, kam je treba poslati prvi paket. Ne izbira, ali proces deluje kot odjemalec, ki začne, ali kot prehod, ki čaka, in ne odloča, katera stran dokazuje svojo identiteto drugi.

Kaj remote dejansko določa

Vnos remote poimenuje gostitelja, neobvezno vrata in transport ter neobvezno več takih vnosov, ki se preizkusijo po vrsti.

Njegova odsotnost ima določen in ne nedoločen pomen: proces čaka in ne deluje na pakete z naslova, razen če se ta peer overi. Zato prehod, ki streže gostujočim uporabnikom, nima razloga, da bi katerega od njih vnaprej poimenoval.

Vnos berite kot razmerje naslovov. Ali je oddaljeni konec zaupanja vreden, odgovorijo potrdila in možnosti preverjanja, ne pa dejstvo, da je bil naslov zapisan.

Odgovor odločijo tri razporeditve

Gostujoči odjemalec potrebuje cilj, ker mora začeti in brez njega ne ve, kje je prehod. Prehod za več odjemalcev ne potrebuje cilja na uporabnika, ker odjemalci prihajajo in se overijo. Namerna povezava dveh peerov z znanimi konci ima lahko cilj na eni strani, na obeh ali na nobeni, odvisno od tega, katera stran začne.

Prilepitev stalnega naslova odjemalca v splošni prehod je napaka, ki izhaja iz preziranja teh kategorij. Deluje za edini peer, katerega naslov je bil zabeležen, in zavaja vse druge.

Nič v direktivi ne spremeni konfiguracije v strežnik za več odjemalcev in nič v njeni prisotnosti ne preprečuje vloge strežnika. Referenca OpenVPN 2.6 ločeno dokumentira neobvezne argumente in vedenje brez remote, kar je namig, kako neodvisna sta.

ArrangementNeeds a destination
Roaming clientYes, which gateway to contact
Multi-client gatewayNo, peers authenticate on arrival
Two known peersDepends on which side initiates

Transportne vloge so druga os

Pri TCP ena stran čaka, druga pa kliče. To sta ločeni direktivi od cilja, njuno mešanje pa ustvari par, v katerem obe čakata ali obe kličeta.

Obstaja tudi vloga TCP-filtra vira, zato je ploska trditev, da strežnik nikoli ne sme vsebovati remote, napačna.

Pri UDP ni povezave, ki bi jo bilo treba vzpostaviti, zato oba konca uporabljata ustrezni transport UDP, direktiva pa samo pove, kam meriti. Spremembe naslova overjenega peera obravnava namensko vedenje in ne dodajanje več vnosov. Pravilen transport je pogoj, da cilj kaj pomeni, mešanje obojega pa ustvari konfiguracije, ki so videti verodostojne in nikoli ne dokončajo rokovanja.

Zakaj odsotni remote niso odprta vrata

Proces brez cilja še vedno zavrača promet peerov, ki se ne overijo, in to je del, ki ga ljudje spregledajo, ko manjkajočo vrstico berejo kot poslušalca, odprtega za vsakogar.

Overjanje in cilj sta neodvisna, za zaupanje pa je pomembno prvo.

Obratna napaka je nevarnejša. Stalni naslov vira je lahko videti kot nadzor dostopa, ker je konkreten in ga je lahko preveriti, vendar ne dokazuje ničesar o tem, kdo je na drugem koncu. Ohranite preverjanje potrdil in preverjanja identitete, ki potrdilo vežejo na njegovo vlogo. Če jih nadomestite z ujemanjem naslova, zamenjate resničen nadzor za njegov videz.

Zapišite, kaj konfiguracija predpostavlja

Za vsako stran zabeležite tri stvari: kako prvi paket doseže peer, katera stran lahko sprejme transport in kaj vsaka stran preveri o drugi.

Te predpostavke so zasnova. Direktive so le njihov zapis.

Če se datoteki razlikujeta, preverite, ali izražata različne predpostavke, namesto da predpostavite, da je ena napačna. Simetričen par datotek ni niti nujen niti zadosten za delujoč tunel, asimetrija pa je pogosto tisti del, ki naredi topologijo delujočo.

Sorodni članki