MySQL localhost nipasẹ VPN: ó ṣì túmọ̀ sí ìlànà àdúgbò
Àkójọpọ̀ dátà tí ohun èlò ń pè ní localhost wà lórí sáfà, kì í ṣe lórí kọ̀mpútà rẹ. Lo olùgbọ́ àdáni tàbí ìgbéjáde SSH, kí o sì fipá mú ẹrù náà lo TCP.
Ohun èlò tí ó wà lórí sáfà ọ́fíìsì ń so mọ́ MySQL ní localhost, o ṣe àdàkọ orúkọ agbàlejò yẹn sínú ẹrù orí tábìlì, àti pé ìsopọ̀ yẹn yálẹ̀ tàbí ó ṣí àkójọpọ̀ dátà mìíràn. VPN kò yí ìtumọ̀ ọ̀rọ̀ náà padà rárá: localhost ṣì ń tọ́ka sí ẹ̀rọ tí ó ń ṣiṣẹ́ ẹrù náà. VPN gbé àwọn pákẹ́tì, kì í ṣe àwọn ìsopọ̀. Pinnu ibi ìparí tí kọ̀mpútà gbọ́dọ̀ dé kí o tó fi ọwọ́ kan ipa ọ̀nà kankan.
Ìgbésẹ̀ 1: pinnu ibi ìparí tí kọ̀mpútà gbọ́dọ̀ dé
Àwọn ọ̀nà méjèèjì tọ́, wọ́n sì ń dáhùn àwọn ìbéèrè oríṣiríṣi. Ìwọlé tààrà túmọ̀ sí pé àkójọpọ̀ dátà ń gbọ́ ní àdírẹ́sì àdáni tí ọ̀nà abẹ́lẹ̀ dé, kọ̀mpútà sì so mọ́ àdírẹ́sì yẹn. Ìwọlé tí a gbé jáde túmọ̀ sí pé àkójọpọ̀ dátà wà lórí loopback, ìpàdé SSH sì gbé ibùdó náà dé ẹ̀rọ rẹ. Yan ọ̀kan pẹ̀lú ìmọ̀, nítorí pípọ̀ wọ́n pọ̀ ń ṣe ìsopọ̀ tí ó ń ṣiṣẹ́ fún ìdí tí kò tọ́.
Fún ìwọlé tààrà, gba orúkọ àdáni tàbí àdírẹ́sì ti agbàlejò àkójọpọ̀ dátà fúnra rẹ̀ àti ibùdó rẹ̀ lọ́wọ́ ẹni tí ó ń ṣe àkóso rẹ̀. Àdírẹ́sì ẹnubodè VPN kì í ṣe àdírẹ́sì àkójọpọ̀ dátà àyàfi bí ó bá jẹ́ ẹ̀rọ kan náà. Lẹ́yìn náà jẹ́rìí pé olùgbọ́ so mọ́ ìsopọ̀ yẹn gan-an, nítorí ipa ọ̀nà sí ìsopọ̀ kì í dá olùgbọ́ sílẹ̀ lórí rẹ̀.
Ìgbésẹ̀ 2: gbé ibùdó jáde nìkan bí olùgbọ́ bá wà ní àdúgbò
Bí àkójọpọ̀ dátà gbọ́dọ̀ wà lórí loopback nìkan, gbé e jáde nípasẹ̀ SSH kí o sì so ìparí àdúgbò mọ́ loopback pẹ̀lú. Àdírẹ́sì ìso ní apá òsì jẹ́ ti kọ̀mpútà rẹ; ibi àfojúsùn ní apá ọ̀tún ni a ń túmọ̀ láti ẹ̀gbẹ́ sáfà SSH, gẹ́gẹ́ bí ìtọ́kasí OpenSSH ṣe àpèjúwe. Yíyí àwọn ipa méjì yẹn padà ni ìdí tí ó wọ́pọ̀ tí ìgbéjáde fi dàbí ẹni pé ó ń ṣiṣẹ́ ṣùgbọ́n kò so mọ́ nǹkan kankan.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:13306:127.0.0.1:3306 [email protected]
ss -ltn 'sport = :13306'
Bí SSH bá balẹ̀ sórí agbàlejò àfo, kì í ṣe agbàlejò àkójọpọ̀ dátà, loopback apá ọ̀tún ń tọ́ka sí agbàlejò àfo, ibi àfojúsùn sì gbọ́dọ̀ yí padà sí àdírẹ́sì tí agbàlejò yẹn dé. ExitOnForwardFailure ń mú ìkùnà ìdásílẹ̀ ìgbéjáde, ṣùgbọ́n kò fi hàn pé àwọn ìsopọ̀ tí ó tẹ̀lé sí ibi àfojúsùn yóò ṣàṣeyọrí. Jẹ́ kí ìwádìí kọ́kọ́rọ́ agbàlejò wà ní ṣíṣí, kí o má sì fi ibùdó ìgbéjáde fún gbogbo LAN rẹ nípasẹ̀ sísopọ̀ mọ́ gbogbo ìsopọ̀.
Dúró bí àkójọpọ̀ dátà gbọ́dọ̀ wà lórí loopback nìkan tí o kò sì lè lo SSH. Nígbà náà ìwọlé tààrà ni àpẹẹrẹ tí kò tọ́, kì í ṣe ìṣètò tí a gbọ́dọ̀ fipá mú.
Ìgbésẹ̀ 3: fipá mú ẹrù náà lo TCP
Lórí Unix, ẹrù MySQL tí a fún ní localhost yóò yan sokẹ́tì Unix ní àìdábọ̀, nítorí náà yíyí ibùdó nìkan padà lè jẹ́ kí ó máa wá sokẹ́tì tí kò ní í ṣe pẹ̀lú ìgbéjáde rẹ. Lo ìlànà TCP tí ó ṣe kedere àti àdírẹ́sì loopback kí ẹrù náà lè ṣí ìsopọ̀ sí ibùdó ìgbéjáde rẹ.
mysql --protocol=TCP --host=127.0.0.1 --port=13306 --user=DB_USER --password
Àṣàyàn ọ̀rọ̀ ìkọ̀kọ̀ tí kò ní iye ń béèrè dípò fífi àṣírí náà sórí ìlà pàṣẹ, ìyẹn sì ni àṣà tí ó yẹ kí a pa mọ́. Àwọn irinṣẹ́ mìíràn ní yíyí tiwọn fún ìyàtọ̀ kan náà, àwọn awakọ̀ kan sì ń tọ́jú localhost ní ọ̀nà pàtàkì pẹ̀lú. Ṣàyẹ̀wò ohun tí ẹrù rẹ ń ṣe dípò ríronú pé àsíá náà ti kọjá. Àkọsílẹ̀ àkójọpọ̀ dátà tún nílò àṣẹ tí ó bá orísun tí sáfà rí mu, ìyẹn sì ni agbàlejò ìgbéjáde, kì í ṣe kọ̀mpútà rẹ.
Dúró bí a kò bá lè fipá mú irinṣẹ́ náà lo TCP. Nígbà náà lo ẹrù mìíràn, tàbí lo ìwọlé tààrà sí olùgbọ́ àdáni.
Ìgbésẹ̀ 4: fi hàn ibi ìparí tí o dé gan-an
Béèrè lọ́wọ́ sáfà ohun tí ó rò pé ìsopọ̀ náà jẹ́. Àwọn àyípadà orúkọ agbàlejò, ibùdó àti sokẹ́tì ń sọ bí o ti dé nípasẹ̀ TCP àti olùgbọ́ tí ó dáhùn, àkójọ àwọn ìsopọ̀ sì ń fi àdírẹ́sì orísun tí sáfà kọ sílẹ̀ hàn. Ẹ̀rí yẹn wúlò ju ìyípadà ipa ọ̀nà mìíràn lọ.
mysql --protocol=TCP -h 127.0.0.1 -P 13306 -u DB_USER -p -e "SELECT @@hostname, @@port, @@socket"
Kọ sílẹ̀ ibi ìparí tí o gbìyànjú: sokẹ́tì Unix àdúgbò, ibùdó ìgbéjáde rẹ tàbí olùgbọ́ àdáni. Àwọn ìkùnà mẹ́ta yìí ní àtúnṣe ọ̀tọ̀ọ̀tọ̀, yíyí ipa ọ̀nà VPN padà nígbà tí ẹrù náà ṣì ń bá localhost tí kò tọ́ sọ̀rọ̀ jẹ́ iṣẹ́ asán. Tún pa ìjẹ́rìí SSH àti ìjẹ́rìí àkójọpọ̀ dátà mọ́ lọ́tọ̀ nínú àwọn àkọsílẹ̀, nítorí láti ẹrù orí tábìlì, ìkùnà nínú ọ̀kan dàbí ìkùnà nínú èkejì. Lẹ́yìn náà yọ ìgbéjáde kúrò nígbà tí o bá parí.
Àkójọ náà parí nígbà tí o bá lè dárúkọ ibi ìparí, ìlànà ẹrù náà, àdírẹ́sì orísun tí sáfà rí àti àṣẹ tí ó gbà á láàyè. Àwọn òtítọ́ mẹ́rin, ìṣòro ìsopọ̀ tí ó tẹ̀lé yóò sì gba ìṣẹ́jú díẹ̀ dípò ọ̀sán gbogbo.