DNAT inú kọ́ńtẹ́nà VPN: gbígbé lọ, kì í ṣe INPUT
Lẹ́yìn DNAT, ìbéèrè sí àdírẹ́sì ọ̀nà àbáwọlé di ìrìn-àjò tí a gbé lọ. Dín òfin gbígbé lọ kù, kà ẹ̀wọ̀n Docker kí o sì yan ọ̀nà ìpadà pẹ̀lú ìmọ̀.
Ìbéèrè dé pẹ̀lú àdírẹ́sì IP ọ̀nà àbáwọlé, ó sì fi kọ́ńtẹ́nà kan náà lọ pẹ̀lú àdírẹ́sì iṣẹ́ aládùúgbò. Láàárín àwọn àkókò méjì yẹn, DNAT tún àfojúsùn kọ, pákẹ́tì náà sì dá jíjẹ́ ẹnu-ọ̀nà fún kọ́ńtẹ́nà VPN dúró. Nísinsìnyí ó jẹ́ ìrìn-àjò tí a gbé lọ, tí òfin mìíràn ń ṣe ìdájọ́ rẹ̀. Ìyípadà yẹn ṣàlàyé ìdí tí òfin odi-iná tí ó dàbí ẹni tí ó tọ́ fún àdírẹ́sì ọ̀nà àbáwọlé kò fi ní ipa kankan lórí ìsopọ̀ tí a túmọ̀.
Tẹ̀lé pákẹ́tì lẹ́yìn ìtúmọ̀
Mú àkójọ àwọn oníbàárà 10.90.0.0/24 àti àdírẹ́sì ọ̀nà àbáwọlé 10.90.0.1. Kọ́ńtẹ́nà méjì wà lórí afárá kan: 192.0.2.2 ń ṣiṣẹ́ VPN, 192.0.2.3 sì ń ṣiṣẹ́ ohun-èlò. Oníbàárà kan so mọ́ 10.90.0.1:8080, òfin DNAT nínú ààyè orúkọ kọ́ńtẹ́nà VPN sì tún un kọ sí àdírẹ́sì àti ibùdókọ̀ gidi ohun-èlò. Lẹ́yìn náà ọ̀nà kan fi pákẹ́tì náà kọjá afárá. Àwọn àdírẹ́sì wọnyẹn jẹ́ àpẹẹrẹ, kì í ṣe ìlànà ìgbékalẹ̀.
Ibùdókọ̀ tí ohun-èlò ń gbọ́ ní ti gidi lè yàtọ̀ sí ibùdókọ̀ kan tí a tẹ̀ jáde lórí olùgbàlejò. Ka olùgbọ́rọ̀ inú kọ́ńtẹ́nà dípò ríronú pé àwọn nọ́mbà méjèèjì bá ara wọn mu.
Ìyọ̀ǹda wà lórí ọ̀nà gbígbé lọ
Kọ́ńtẹ́nà VPN nílò gbígbé IP lọ àti ìpinnu gbígbé lọ tí ó ní ààlà sí àkójọ oníbàárà, àdírẹ́sì ohun-èlò àti ibùdókọ̀ tí a pète. Àwọn ìdáhuùn tí a ti fi ìdí múlẹ̀ nílò ìyọ̀ǹda tiwọn. Òfin tí ó bá àdírẹ́sì ọ̀nà àbáwọlé àkọ́kọ́ mu kò ní bá a mu lẹ́yìn DNAT, nítorí àfojúsùn ti yípadà. Ìyọ̀ǹda INPUT jẹ́ ìkọ́ tí kò tọ́ fún ìrìn-àjò tí a kò tún dá sí olùgbàlejò yìí mọ́.
Jẹ́ kí ìwọ̀n wà ní dín: ìwọ̀n orísun kan, àfojúsùn kan, iṣẹ́ kan. Òfin gbígbé lọ tí ó ṣí sílẹ̀ rọ̀rùn láti kọ, ó sì ṣòro gan-an láti gbèjà lẹ́yìn náà.
docker exec vpn-container ip route get 192.0.2.3
docker exec vpn-container iptables -t nat -S
docker exec vpn-container iptables -S FORWARD
Àwọn ẹ̀wọ̀n Docker kì í ṣe ẹ̀wọ̀n kọ́ńtẹ́nà rẹ
Àwọn òfin inú ààyè orúkọ kọ́ńtẹ́nà kì í ṣe àwọn òfin olùgbàlejò Docker. Nígbà tí ìrìn-àjò bá kọjá láti ojú-ọ̀nà ọ̀nà àbáwọlé sí afárá, odi-iná afárá lórí olùgbàlejò lè ṣe ìpinnu mìíràn. Pẹ̀lú ẹ̀yìn iptables ti Docker, àwọn ẹ̀wọ̀n gbígbé lọ tí a kọ sílẹ̀ àti àwọn ibi ìbámu lẹ́yìn DNAT ni ibi tí ìpinnu yẹn ti farahàn.
Ìtọ́kasí odi-iná Docker ṣàlàyé àwọn ẹ̀wọ̀n yẹn àti ìbámu lẹ́yìn DNAT. Má ṣe tún gbígba tí ó ṣe àìsí ṣe nípa pípa ìṣàkóso odi-iná Docker àti fífi ẹ̀wọ̀n kọ̀ọ̀kan ṣí sílẹ̀, nítorí ìyẹn yóò mú ààlà tí o ń gbìyànjú láti lò kúrò.
Sọ ọ̀nà ìpadà di àyàn tí ó mọ̀ọ́mọ̀
Bí a bá pa àdírẹ́sì orísun mọ́, ohun-èlò yóò rí 10.90.0.x, ó sì gbọ́dọ̀ darí àwọn ìdáhuùn padà nípasẹ̀ kọ́ńtẹ́nà VPN. Bí bẹ́ẹ̀ kọ́, ẹnubodè Docker rẹ̀ déédé yóò fi wọ́n ránṣẹ́ sí olùgbàlejò tí kò ní ọ̀nà àbáwọlé. Àkóbá ni ìtúmọ̀ orísun tí ó ní ààlà díẹ̀ ní kọ́ńtẹ́nà VPN, tí ó rọrùn ìdáhuùn ṣùgbọ́n tí ó fi oníbàárà pamọ́ kúrò lọ́wọ́ ohun-èlò. Yan pẹ̀lú ìmọ̀ kí o sì kọ èyí tí o yan.
Dán ìsopọ̀ tuntun tí a gbà láyè wò láti oníbàárà lasan, lẹ́yìn náà jẹ́rìí pé àwọn ibùdókọ̀ tí kò ní í ṣe pẹ̀lú rẹ̀ wà ní títì. Nígbà tí pákẹ́tì bá sọnù, ṣàyẹ̀wò ààyè orúkọ VPN, ààyè orúkọ ohun-èlò àti àkọsílẹ̀ ohun-èlò fúnra rẹ̀. Ping sí ẹnubodè afárá kì í ṣe ìdánwò gbígba fún iṣẹ́ náà.
Pa àwọn òfin mọ́ nínú ìṣètò ìbẹ̀rẹ̀ tí a ṣe àtìlẹ́yìn fún kọ́ńtẹ́nà, nítorí àwọn àtúnṣe ìbáraẹnisọ̀rọ̀ ń pòórá nígbà tí a bá tún un ṣe. Pípe ibùdókọ̀ olùgbàlejò jáde jẹ́ ọ̀nà ìfihàn mìíràn, kò sì pọn dandan nítorí pé a lè dé iṣẹ́ náà nípasẹ̀ ọ̀nà àbáwọlé nìkan.