Isang IP ng serbisyo sa bawat node ng OpenVPN: ano ang hindi nito ginagawa
Maglaan ng pribadong /32 sa bawat node upang maabot ng kliyente ang server na pinili nito. Hindi nag-failover ang address, hindi naglilipat ng sesyon at hindi pumipili ng malusog na node.
Kumokonekta ang isang kliyente sa isa sa maraming server ng OpenVPN at pagkatapos ay kailangan nito ng maliit na serbisyo na tumatakbo sa node na iyon: isang pahina ng estado, isang endpoint ng metrics, isang ahente ng backup. Ang pagbibigay sa bawat node ng parehong pribadong address ng serbisyo ay ginagawang magkapareho ang configuration ng kliyente saan man ito mapunta. Totoo ang kaginhawahang iyon, at madali rin itong sobrahan ng pagbabasa: sinasabi ng ibinahaging address kung aling node ang naabot mo, hindi na may kalabisan.
Bakit gumagana ang parehong address sa bawat node
Pagmamay-ari ng bawat node ang address nang lokal at sumasagot ito para dito, kaya ang kliyenteng umabot dito sa pamamagitan ng kasalukuyang tunnel nito ay nakakakuha ng serbisyo sa kabilang dulo ng tunnel na iyon. Walang pinag-uugnay sa pagitan ng mga node, at walang trapikong tumatawid mula sa isang node patungo sa isa pa.
Ang address ay isang lokal na label, inuulit at hindi kinokopya. Ang bawat node ay sumasagot para lamang sa sarili nito, at wala sa kanila ang nagpapasa ng trapiko para sa address sa ngalan ng ibang node. Ito ang nagpapanatili ng isang configuration ng kliyente na wasto habang nananatiling malaya ang mga server. Ito rin ang dahilan kung bakit hindi kailangan ng disenyo ng anumang ugnayan sa pagitan ng mga node.
Kaya gumagana ang parehong configuration sa bawat server nang walang protocol ng routing sa pagitan nila. Ito rin ang dahilan kung bakit walang sinasabi ang disenyo tungkol sa kalusugan: umiiral ang address sa isang may sakit na node kung paano ito umiiral sa isang malusog, dahil nakatali ito sa host at hindi sa pagiging kapaki-pakinabang ng serbisyo.
Itakda ito sa loopback, hindi sa tunnel
Ang paglalagay ng address sa isang interface ng loopback ay naghihiwalay nito sa haba ng buhay ng anumang aparato ng tunnel, kaya hindi ito inaalis ng muling pagkonekta o muling paglo-load ng configuration. Umiiral ang address hangga’t umiiral ang host.
Ang address sa lo ay hindi isang filter. Kailangan pa ring makinig ng serbisyo dito, at sinusuri pa rin ng firewall ng host ang tunay na papasok na landas, na dumarating sa interface ng tunnel. Ang sinumang nag-aakala na ang loopback ay lokal lamang ay nauuwi sa pagharang sa mga lehitimong kliyente o paglalantad ng bagay na hindi nito nilayon.
Gawing permanente ang pagtatalaga sa pamamagitan ng network configuration ng host sa halip na idagdag muli ito mula sa isang hook. Hindi tutugtog ang setup hook sa isang node kung saan walang tunnel na bumangon, at ang address ng serbisyo ay hindi dapat umasa sa aktibidad ng tunnel. Ilagay ang address sa configuration ng interface na pagmamay-ari ng iyong distribusyon, pagkatapos ay i-reboot nang isang beses at suriin ito. Ang reboot ang tanging pagsubok na nakakaligtas sa susunod na pagbabago ng configuration.
ip address show dev lo | grep 10.250.0.1
ip address add 10.250.0.1/32 dev loItulak ang isang ruta at isaisip ang isang destinasyon
Kailangan ng kliyente ng ruta ng host para sa address, na iniaalok ng server na kinokonektahan nito. Dahil iniaalok ng bawat server ang parehong destinasyon, hindi nagbabago ang profile kapag lumipat ang kliyente.
Suriin kung ano ang inilagay ng kliyente bago sisihin ang serbisyo.
ip route get 10.250.0.1Para sa isang serbisyong HTTP, bigyan ang address ng pangalan at sertipiko para sa pangalang iyon. Ang ibinahaging IP ay hindi pagkakakilanlan, at hindi nito inaalis ang pagpapatunay ng TLS, at hindi rin nito binibigyang katwiran ang pagkopya ng isang pribadong susi sa bawat node. Ang pangalang nireresolba sa ibinahaging address ay nagpapanatili sa kuwento ng sertipiko na karaniwan at hinahayaan kang panatilihin ang pagkakakilanlan sa bawat node kung kailangan mo.
Ano ang hindi kayang gawin ng ibinahaging address
Hindi ito nagbibigay ng failover. Kung mamatay ang napiling node, mamamatay ang address kasama nito, at kailangang kumonekta muli ng kliyente sa ibang lugar.
Hindi nito inililipat ang isang buhay na sesyon ng TCP, dahil ang bagong koneksyon ay nagtatapos sa ibang host na walang alam sa luma.
Hindi ito pumipili ng malusog na node, hindi nagbabalanse ng karga at hindi nagsi-sync ng datos sa pagitan ng mga node. Ang bawat isa sa mga iyon ay hiwalay na mekanismo na may sariling paraan ng pagpalya, at ang pagpapanggap na sakop ng trick sa addressing ang mga ito ang paraan kung paano nakakakuha ang simpleng disenyo ng hindi nararapat na reputasyon sa tibay. Kung dalawang tunnel ang aktibo nang sabay, nagiging malabo ang kahulugan ng destinasyon, kaya panatilihing malinaw ang palagay na isang aktibong tunnel.
Panatilihin ang pagkakakilanlan ng serbisyo kasama ng pangalan
Isulat kung ano ang ibig sabihin ng address: naaabot nito ang serbisyo sa node kung saan kasalukuyang konektado ang kliyente. Ang isang pangungusap na iyon ay pumipigil sa karamihan ng hindi pagkakaunawaan na naaakit ng pattern na ito.
Pagkatapos ay idokumento ang mga bahagi nang sama-sama: ang address, ang interface kung saan ito nabubuhay, ang rutang itinutulak ng server, at ang pangalan at sertipikong ipinapakita ng serbisyo. Apat na maliliit na katotohanan na maaaring tiyakin ng isang mambabasang hinaharap, sa ayos na susuriin niya ang mga ito.
Kung ang pangangailangan ay isang matatag na destinasyon para sa serbisyong lokal sa node, bagay ang pattern at halos walang gastos.
Kung ang pangangailangan ay ang pagkakaroon, umakyat ng isang antas: isang load balancer, isang pangalan ng serbisyo na may mga pagsusuri sa kalusugan, o isang sistemang orkestrasyon na alam na kung paano palitan ang isang node.
Ang pagpapasya niyan nang maaga ay nagpapanatili sa ibinahaging address bilang kung ano ito, isang maginhawang label, sa halip na isang bahaging tahimik na inaasahang gagawa ng trabahong hindi kailanman idinisenyo para dito.