Klijent jikkonnettja ma’ wieħed minn diversi servers OpenVPN u mbagħad għandu bżonn servizz żgħir li jaħdem fuq dak in-nodu: paġna tal-istat, punt tat-tmiem tal-metriċi, aġent tal-backup. Li tagħti lil kull nodu l-istess indirizz privat tas-servizz jagħmel il-konfigurazzjoni tal-klijent identika irrispettivament minn liema server niżel. Dik il-konvenjenza hija reali, u wkoll faċli li tinqara żżejjed: l-indirizz komuni jgħidlek liema nodu wasalt, mhux li xi ħaġa hija żejda.

Għaliex l-istess indirizz fuq kull nodu jaħdem

Kull nodu jippossjedi l-indirizz lokalment u jwieġeb għalih, hekk li klijent li jasal għalih mill-mina attwali tiegħu jieħu s-servizz fit-tarf l-ieħor ta’ dik il-mina. Xejn ma jiġi kkoordinat bejn in-nodi, u ebda traffiku ma jgħaddi minn nodu għall-ieħor.

L-indirizz huwa tikketta lokali, ripetuta u mhux ikkupjata. Kull nodu jwieġeb biss għalih innifsu, u ebda wieħed minnhom ma jgħaddi traffiku għall-indirizz f’isem nodu ieħor. Dan iżomm konfigurazzjoni waħda tal-klijent valida waqt li s-servers jibqgħu indipendenti. Huwa wkoll ir-raġuni għaliex id-disinn ma jeħtieġ l-ebda koordinazzjoni bejn in-nodi.

Huwa għalhekk li l-istess konfigurazzjoni taħdem fuq kull server mingħajr protokoll ta’ routing bejniethom. Huwa wkoll għaliex id-disinn ma jgħid xejn dwar is-saħħa: l-indirizz jeżisti fuq nodu marid eżattament kif jeżisti fuq wieħed f’saħħtu, għax huwa marbut mal-host u mhux mal-fatt li s-servizz huwa utli.

Assenjah għall-loopback, mhux għall-mina

It-tqegħid tal-indirizz fuq interface tal-loopback jifirdu mill-ħajja ta’ kwalunkwe apparat tal-mina, hekk li rikonnessjoni jew rikarigu tal-konfigurazzjoni ma jneħħihx. L-indirizz jeżisti sakemm jeżisti l-host.

Indirizz fuq lo mhuwiex filtru. Is-servizz xorta jrid jisma’ fuqu, u il-firewall tal-host xorta jevalwa l-passaġġ reali li jidħol, li jasal fuq l-interface tal-mina. Min jassumi li loopback ifisser biss lokali jispiċċa jew jimblokka klijenti leġittimi jew jesponi xi ħaġa li ma kienx beħsiebu.

Agħmel l-assenjazzjoni permanenti permezz tal-konfigurazzjoni tan-netwerk tal-host minflok ma żżidha mill-ġdid minn hook. Hook tal-issetup mhuwiex se jaqbad fuq nodu fejn ma telgħet ebda mina, u l-indirizz tas-servizz m’għandux jiddependi mill-attività tal-mina. Qiegħed l-indirizz fil-konfigurazzjoni tal-interface li tippossjedi d-distribuzzjoni tiegħek, imbagħad erġa’ ibda darba u ċċekkjah. It-tqegħid mill-ġdid huwa l-unika test li jiflaħ bidla fil-konfigurazzjoni aktar tard.

ip address show dev lo | grep 10.250.0.1
ip address add 10.250.0.1/32 dev lo

Imbotta rotta waħda u fisser destinazzjoni waħda

Il-klijent jeħtieġ rotta tal-host għall-indirizz, offruta mis-server li miegħu jikkonnettja. Għax kull server joffri l-istess destinazzjoni, il-profil ma jinbidilx meta l-klijent jiċċaqlaq.

Ivverifika x’installa l-klijent qabel ma tagħti tort lis-servizz.

ip route get 10.250.0.1

Għal servizz HTTP, agħti lill-indirizz isem u ċertifikat għal dak l-isem. L-IP komuni mhuwiex identità, u ma jneħħix il-verifika TLS, u lanqas jiġġustifika l-ikkupjar ta’ ċavetta privata waħda fuq kull nodu. Isem li jsolvi għall-indirizz komuni jżomm l-istorja taċ-ċertifikat ordinarja u jħallik iżżomm identità għal kull nodu jekk ikollok bżonnha.

X’ma jistax jagħmel l-indirizz komuni

Ma jipprovdix failover. Jekk in-nodu magħżul imut, l-indirizz imut miegħu, u l-klijent irid jerġa’ jikkonnettja x’imkien ieħor.

Ma jimmigrax sessjoni TCP ħajja, għax konnessjoni ġdida tintemm fuq host ieħor li ma jaf xejn dwar dik l-antika.

Ma jagħżilx nodu f’saħħtu, ma jibbilanċja t-tagħbija u ma jissinkronizza data bejn in-nodi. Kull waħda minn dawn hija mekkaniżmu separat bil-modi ta’ falliment tiegħu stess, u li tistqarr li l-trick tal-indirizzar ikoprihom huwa l-mod kif disinn sempliċi jakkwista reputazzjoni mhux mistħoqqa ta’ reżiljenza. Jekk żewġ mini huma attivi fl-istess ħin, it-tifsira tad-destinazzjoni ssir ambigwa, għalhekk żomm l-assunzjoni ta’ mina waħda attiva b’mod espliċitu.

Żomm l-identità tas-servizz mal-isem

Ikteb x’ifisser l-indirizz: jasal għas-servizz fuq in-nodu li l-klijent bħalissa huwa konness miegħu. Dik is-sentenza waħda tipprevjeni l-biċċa l-kbira tal-fehim ħażin li dan il-mudell jiġbed.

Imbagħad iddokumenta l-partijiet flimkien: l-indirizz, l-interface li fuqha jgħix, ir-rotta li l-server jimbotta, u l-isem u ċ-ċertifikat li s-servizz jippreżenta. Erba’ fatti żgħar li qarrej futur jista’ jivverifika, fl-ordni li biha se jikkontrollahom.

Jekk ir-rekwiżit huwa destinazzjoni stabbli għal servizz lokali għan-nodu, il-mudell jaqbel u ma jiswiex kważi xejn.

Jekk ir-rekwiżit huwa d-disponibbiltà, itla’ saff ogħla: bilanċjatur tat-tagħbija, isem tas-servizz b’kontrolli tas-saħħa, jew sistema tal-orkestrazzjoni li diġà taf kif tissostitwixxi nodu.

Li tiddeċiedi dan kmieni jżomm l-indirizz komuni dak li hu, tikketta konvenjenti, minflok komponent li bil-kwiet wieħed jistenna li jagħmel xogħol li qatt ma ġie ddisinjat għalih.

Artikli relatati