Kiyaye ko SNAT IP ɗin abokan ciniki na VPN a iyakar gajimare
Kiyaye tushen yana adana ainihin abokin ciniki a kowane log, SNAT yana adana teburin hanya ƙanana. Sharuɗɗa uku sun faɗi wanda aikace-aikacen yake buƙata.
Kiyaye adireshin abokin cinikin VPN har zuwa aikace-aikacen yana sa kowane layin log da kowane shigarwa a jerin izini su fassara abu ɗaya. Sake rubuta shi a gefen gajimare yana sa teburin hanya mafi sauƙi da log ɗin ƙasa da amfani. Babu ɗayan zaɓin da ba daidai ba shi kaɗai, kuma hujjar da ta yanke hukunci ba safai ta shafi aiki ba. Sharuɗɗa uku sun yanke hukunci: shin aikace-aikacen dole ya san wane mutum ya haɗa, shin tsarin gajimare zai karɓi tushen da kuke son aikawa, kuma wanene zai yarda ya karɓi hanya ta dawowa daga baya.
Sharuɗɗa uku sun yanke hukunci
Fara da buƙatar aikace-aikacen, ba da zanen hanyar sadarwa ba. Idan izini ko bincike ya dogara da adireshin abokin ciniki ɗaya, to kiyaye shi buƙata ce ta aiki kuma fassara koma baya ne. Idan aikace-aikacen yana buƙatar kawai ya san cewa zirga-zirgar ya zo ta hanyar isa daga nesa, adireshin da aka fassara ya isa kuma ya fi arha sosai wajen gudanarwa.
Sharadi na biyu na inji ne. Hanyar sadarwa ta ƙirƙira ba ta amince da fakiti da ke ikirarin adireshin da ba a ba wa maɓallin aikawa shi ba kai tsaye. Yawancin tsarin gajimare suna tilasta hakan, ta hanyoyi daban-daban da sunaye daban-daban, kuma ƙira da ta yi watsi da shi za ta yi kama da daidai a zane kuma ta faɗi a hankali a samarwa.
Na uku na ƙungiya ne. Kiyaye tushe yana nufin teburin hanya na ƙaramin cibiyar sadarwar aikace-aikacen dole ya nuna baya ga ƙofar don prefix ɗin abokin ciniki, kuma kowace ƙungiyar da ta ƙara ƙaramin cibiyar sadarwa daga baya dole ta riƙe wannan hanya daidai. Wannan ƙaramin kuɗi ne sau ɗaya, kuma mai maimaitawa a cikin dubban asusu. Yanke shawara wanene zai biya kafin ka yi alkawarin halin.
Hanya ba izini ba ce don yin jabu
Ƙara hanyar dawowa yana gaya wa ƙaramin cibiyar sadarwarka inda amsoshin za su je. Ba ya gaya wa tsarin cewa na'urar da ke tura waɗannan fakiti an ba ta izinin aika su da tushen waje. A AWS, kulawar da ta dace ita ce duba tushe da manufa, kuma tana bayyana ga kowace na'ura:
aws ec2 describe-instances --instance-ids i-0a1b2c3d4e5f60718 \
--query "Reservations[].Instances[].SourceDestCheck"
aws ec2 modify-instance-attribute --instance-id i-0a1b2c3d4e5f60718 \
--no-source-dest-check
Kashe wannan ga na'urar da aikin da aka rubuta nata shine turawa, kuma ba don wani abu ba. Kowace VM ta aikace-aikacen da ta riƙe duba a kunne ita ce mashin ɗaya ƙasa da za a iya amfani da ita don aika zirga-zirga da aron tushe. Idan dandalinku ba AWS ba ne, nemi saitin rigakafin jabu ko adiresoshin da aka yarda da su maimakon ɗauka cewa halin zai wuce.
Ɗaukar fakiti cikin sauri tana warware tambayar fiye da karanta console. Idan amsoshin sun fita kuma abokin ciniki bai taɓa ganin su ba, tsarin ne ke watsar da jabu tushen, ba aikace-aikacen ne ke kasawa ba.
Abin da fassara ke saya, da abin da take kashewa
Sake rubuta tushen a ƙofar yana kawar da matsalar hanyar dawowa. Aikace-aikacen yana ganin adireshi ɗaya da ya riga ya san yadda zai isa gare shi, kuma prefix ɗin abokin ciniki ba dole ya bayyana a teburin hanyar gajimare ba. A Linux ƙa'idar layi ɗaya ce, kuma yana da kyau a rubuta mafi ƙunci sigar da za ka iya:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 172.20.8.0/24 -o ens5 -j SNAT --to-source 10.40.3.10
Lura da abin da aikace-aikacen yanzu yake rikodin: 10.40.3.10 ga kowane mai amfani, a kowane haɗi, har abada. Duk jerin adiresoshin da aka yarda da su da aka gina kan wannan ƙimar yanzu suna ba da dama ga dukan yawan masu isa daga nesa, kuma duk bitar lamarin dole ta koma ƙofar don amsa wanene wannan.
Magani ba wai barin fassara ba ne, shine daina yin kamar adireshin ainihi ne. Ɗauki ainihin abokin ciniki a filin da aka tabbatar, rubuta shi a ƙofar tare da tuple ɗin da aka fassara, kuma bar aikace-aikacen ya haɗa kansa da shi. Ba tare da maɓallin haɗi ba, fassara tana mai da matsalar hanyar sadarwa ta zama ta dindindin ta bincike.
Relay wata maɓalli ce dabam
Wakili mai juyawa a gaban aikace-aikacen yana ƙetare tambayar hanyar da aka bi gaba ɗaya. Wakilin yana buɗe haɗinsa na baya, don haka prefix ɗin abokin ciniki ba ya buƙatar zama mai iya bi ta cikin hanyar sadarwar ƙirƙira, kuma aikace-aikacen na iya karɓar ainihi a cikin kanun da wakilin ya saita.
Wannan kanun abin dogaro ne kawai lokacin da backend ya karɓe shi daga wakilin kuma ba daga wani abu ba. A cikin kalmomin nginx hakan yana nufin ambaton abokin da aka amince da shi a fili maimakon gaskata duk abin da ya zo:
set_real_ip_from 10.40.3.10;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
Duk abokin ciniki da zai iya isa backend kai tsaye zai iya ƙirƙirar wannan kanun, don haka backend dole ya zama wanda ba za a iya isa ba sai ta hanyar wakili. Wannan gaskiya ce ta firewall, ba ra'ayin saitin ba, kuma ita ce zato da mutane ke tsallakewa lokacin da suke kwafin guntun.
Relay ɗin kuma yana canza abin da kuke saya. Kuna samun ainihi a matakin aikace-aikace da wuri na halitta don rubuta shi; kuna barin gama-gari, saboda kowane sabon yarjejeniya yana buƙatar tallafin wakilin nasa. Ga ayyukan HTTP wannan musayar tana da kyau yawanci, kuma ga duk abin da ba HTTP ba yawanci ba ya samuwa kwata-kwata.
Rubuta abin da kowace iyaka ke gani
Duk abin da kuka zaɓa, bitar ƙira ya kamata ta ƙare da tebur ɗaya da ke ambaton adireshin tushe da ainihin da za a iya tabbatarwa a kowace tsalle. Ba tare da shi ba, lamarin farko yana haifar da ƙungiyoyi uku waɗanda kowanne yana kwatanta abokin ciniki dabam.
| Boundary | Source the next hop sees | What is actually proven |
|---|---|---|
| Client to gateway | 172.20.8.14 | A certificate or credential was presented |
| Gateway to app subnet, preserved | 172.20.8.14 | The same session, if the return route exists |
| Gateway to app subnet, translated | 10.40.3.10 | Only that traffic came through the gateway |
| Proxy to backend | 10.40.3.10 plus a header | The proxy asserted an identity it authenticated |
Sannan zaɓi. Kiyaye tushen lokacin da izinin aikace-aikacen ya dogara da gaske kan adireshin abokin ciniki kuma za ka iya ɗaukar hanyar. Fassara lokacin da hakan ba haka ba ne kuma za ka iya ɗaukar ainihi a wajen band ɗin, kuma yi amfani da jagorar AWS don na'urorin turawa don saitunan turawa na musamman na dandali. Koma ga relay lokacin da sabis ɗin yana magana da HTTP kuma kana son ainihi ya daina zama adireshi.