Sunayen DNS biyu, tashar OpenVPN ɗaya: me ke zaɓe da gaske
Sunayen runduna biyu da ke nuni ga adireshi ɗaya suna kaiwa ga mai saurare ɗaya. Filin da abokin ciniki ke aikawa ne kaɗai zai iya zaɓar backend, kuma OpenVPN na asali ba ya aika da kowa.
Rubuce-rubuce biyu na A, adireshi ɗaya, daemon ɗaya: ko wane suna abokin amfani ya rubuta, fakitin da ke zuwa ɗaya ne, kuma tsarin da ke ɗaure da tashar 1194 ba shi da abin da zai bambanta su biyu. Wannan ba kuskuren tsari ba ne da ke jiran gyara; iyakar abin da binciken suna zai iya bayyanawa ne. Duk abin da ke zaɓe tsakanin OpenVPN biyu dole ya zama darajar da abokin ciniki ke sanyawa a haɗin kuma wanda gaban gaba zai iya karantawa, kuma abokin cinikin OpenVPN na al'ada ba ya sanya irin wannan darajar a fili. Abin da ke biyo shi ne inda wannan ya bar ka, da waɗanne shirye-shirye suke raba zirga-zirgar da gaske.
Fara da abin da mai warwarewa ke mayarwa
Abokin ciniki yana neman vpn-a.example kuma yana samun adireshi; wannan adireshin da tasha shi ne dukan abin da yake bugawa. Ana kashe sunan a gida, a lokacin binciken, kuma ba ya zama fili a kan waya, don haka mai saurare a wancan gefen ba zai iya ganin wace alama aka yi amfani da ita ba. Nuna vpn-a.example da vpn-b.example ga runduna ɗaya kuma duka binciken biyu za su ba da manufa ɗaya, shi ya sa daemon ke shanye haɗin biyu cikin misali ɗaya ba tare da yin rijistar bambanci ba. Bayanan da suka dogara da adireshi suna yin daidai da waɗanda suka dogara da suna, saboda wannan dalili.
Wannan kuma yana rufe dangin hanyoyin da za su iya jarabawa: ƙarin laƙabi, zaɓar takardar shaida ga kowace suna a soket ɗaya, ko ka'idar wuta da ta dogara da sunan da aka tambaya. Babu ɗayansu da zai iya aiki a kan bayanin da an riga an watsar kafin fakitin farko ya bar abokin ciniki. Idan dole biyu sabar su kasance dabam, dole rabuwar ta yi tafiya tare da haɗin kanta, wato adireshi, tasha, ko filin lodi da ka'idar ke bayyana.
Zaɓaɓɓen kaɗai da ake lissafta yana tafiya cikin fakitin
HTTP yana gudanar da wannan da kanun Host, kuma TLS da tsawaita sunan sabar a cikin ClientHello, kuma haka adireshi ɗaya ke hidimar shafuka da yawa bayan mai saurare ɗaya. Duka biyu suna aiki domin ka'idar waya tana ɗauke da buƙata ga wata hidima ta musamman. Muhimmin gaskiya game da OpenVPN ita ce babu ɗaya daga cikin waɗannan filayen a matakin da akwatin tsaka-tsaki ke dubawa.
A tsarin al'ada, musayar hannu ta TLS da ke kare tashar sarrafawa tana faruwa bayan an kafa zaman waje kuma ana ɗaukarta a cikinsa, don haka mai saurare da bai ƙarasa wannan zaman ba yana ganin rafi marar haske. Zai iya cewa wannan OpenVPN ne, domin opcode da firam ɗin a cikin bytes na farko ana iya gane su, amma sunan sabar, idan akwai, yana cikin ɓangaren ɓoyayye. Zane da ke tsammanin karanta mai masaukin kama-da-wane daga fakitin waje yana karanta filin da ka'idar ba ta taɓa rubutawa a can. Wannan ya fito ne daga yadda aka gina ramin, ba daga wani gibi da mafi wayo na daidaita tsari zai iya rufewa ba.
Inda mai raba ka'ida ke tsayawa
Mai yawan hanya irin wanda aikin sslh ke rubutawa a cikin takardu yana saurare a tasha ɗaya, yana duba bytes na farko, kuma yana ba da haɗin ga duk wani backend da ke magana da ka'idar da ya gane. Wannan ainihin amfani ne lokacin da tasha ɗaya dole ta yi hidimar SSH, HTTPS da OpenVPN tare.
sslh yana riƙe da bincike dabam ga kowace ka'ida, kuma bincikensa na TLS zai iya fitar da sunan sabar ko darajar ALPN daga ainihin ClientHello. Gane OpenVPN na asali wani rarrabuwa ne dabam da karanta tsawaita TLS, kuma duka biyu ba sa haɗuwa, domin abokin ciniki da ba ya aika ClientHello ga soket ɗin saurare yana barin binciken ba tare da abin karantawa ba. Don haka ka'idar da ta dace da OpenVPN tana amsa “wannan abokin cinikin OpenVPN ne” kuma ba ta wuce haka. Backend biyu na OpenVPN bayan wannan ka'idar ba za a iya bambanta su ba, gaban gaba ba shi da tushen zaɓi, kuma kowane zaman yana sauka a wuri ɗaya. Haɗa-hanya yana raba tasha ɗaya tsakanin hidimomi daban-daban; ba ya yin masaukin kama-da-wane cikin hidima ɗaya.
Shirye-shiryen da suke raba sabar biyu da gaske
Mafi arha rabuwa ta gaskiya ita ce adireshin jama'a na biyu, ɗaya ga kowane misali, kuma bayanan da suke akwai sun riga sun ɗauki abin da ake buƙata domin suna nuni ga adireshi daban-daban. Na gaba shi ne tasha daban a kan wannan adireshin, wanda ba ya kashe komai sai lamba a kowane bayani. TCP da UDP suna riƙe da teburin tashoshi daban, don haka 1194/tcp da 1194/udp soket ne marasa alaƙa kuma ɗaya daga kowanne zai iya kasancewa tare a runduna ɗaya; wannan rabuwar jigilar kaya ce ba sarrafa hanya ta suna ba, kuma ana yawan ruɗa shi da ita. Duka zaɓuɓɓukan biyu suna tsira daga bitar wuta, domin ka'idar ta dace da abin da fakitin ke ɗauka da gaske.
Idan iyakar da kake buƙata tana tsakanin ƙungiyoyin masu amfani maimakon tsakanin aiwatarwa biyu, misali ɗaya da tsarin abokin ciniki daban-daban, sarrafa takardar shaida na kansa da manufar shiga bayyananna zai iya rufe shi. Abin da wannan ke saya manufa ce cikin sabar, ba keɓewa tsakanin sabar ba, kuma duka biyu buƙatu ne daban. Keɓewar da dole ta tsaya a ƙarƙashin cin zarafi har yanzu tana buƙatar adireshi ko gefen wuta.
Mai ƙarasa TLS da aka sanya gaban OpenVPN zai iya fallasa ainihin sunan sabar ga gaban gaba mai iyawa, amma sai idan gefen abokin ciniki ma an tsara shi don wannan ƙarin layi. Bayanan da suke akwai ba sa samun wannan ɗabi'a ta hanyar nuna su ga adireshi ɗaya.
Tabbatar da zaɓaɓɓen kafin ka gina
Faɗi sunan filin da zai gane backend, sannan tabbatar da cewa abokin ciniki yana aika shi da gaske; idan amsar adireshi ce shirin zai tsaya, kuma idan sunan sabar ne cikin musayar hannu da ba ya taɓa isa ga mai saurare, babu yawan aikin DNS da zai cece shi. Umarni uku suna warware gefen saurare da sauri.
ss -lntup | grep -E ':443|:1194'
openssl s_client -connect vpn-a.example:443 -servername vpn-a.example </dev/null | head -n 20
journalctl -u openvpn-server@server-a -n 20 --no-pager
Layin openssl yana ba da takardar shaida ne kawai a inda wani abu a wannan adireshin ke ƙarasa TLS; a gaban mai sauraren OpenVPN na asali yana tsayawa ko ya kasa, kuma wannan shi kansa amsar abin da waje ke fallasa ne. Layin journal, idan an karanta shi a kowane backend, yana nuna wane misali ya karɓi zaman. Rubutun gaban gaba suna rubuta abin da aka rarraba kuma ba su taɓa rubuta abin da aka yi niyya ba, don haka backend ne kaɗai ke da iko a kan inda mai amfani ya sauka.
Kammala da bayanai biyu da aka yi don isa ga sabar daban-daban, haɗa su ɗaya bayan ɗaya kuma lura da rubutun backend ga kowanne. Idan duka zaman biyu sun bayyana a cikin journal ɗaya, zaɓaɓɓen ya ɓace maimakon an yi masa kuskure, kuma gyaran shi ne adireshi ko tasha da abokin ciniki zai iya nufa. Gyara ka'idar hanya ba zai taimaka ba, domin ba a taɓa ba ka'idar abin da za ta bi ba. Da zarar rabuwar ta zama ta gaske, rubuta ta gefen bayanan domin na gaba kada ya ƙara laƙabi na biyu yana tsammanin zai yi aikin.