VPN lẹ́yìn NAT tí o kò lè ṣètò: kí ni ó ṣì ń ṣiṣẹ́
Láìsí ìtọ́jú ibudo, pákẹ́tì tó ń wọlé kò ní ibi tó máa lọ. Holes punching, UPnP àti relay yí ìyẹn padà, ṣùgbọ́n lábẹ́ ìhùwàsí NAT pàtó kan.
Gbogbo òpin tunnel nílò àdírẹ́sì àti ibudo tí ẹ̀gbẹ́ kejì lè dé, àti router tí o kò ṣàkóso rẹ̀ ni ìdí tí ó wọ́pọ̀ tí ìbéèrè yẹn fi ń kùnà. Ohun tí ó fani mọ́ra kì í ṣe pé àwọn ọgbọ́n wà, bí kò ṣe pé ọ̀kọ̀ọ̀kan wọn sinmi lórí ẹ̀yà kan tí tabili ìtẹ̀sí kan tí o kò lè rí láti ọ̀dọ̀ oníbàárà. Méjì nínú àwọn ẹ̀yà yẹn ń pinnu fẹ́rẹ̀ gbogbo nǹkan: bí a ṣe ń dá ìtẹ̀sí sílẹ̀, àti bóyá ó gba àwọn pákẹ́tì láti àdírẹ́sì tí inú kò tíì kan. Ṣètò àyíká ní ìbámu pẹ̀lú àwọn ẹ̀yà yẹn, àwọn ojútùú yóò jáwọ́ jíjẹ́ ìtàn àròsọ.
Tabili ìtẹ̀sí ni ó ń pinnu gbogbo nǹkan
Ìtúmọ̀ àdírẹ́sì nẹ́tíwọ́kì ń tọ́jú tabili kan nínú èyí tí a ti ń kọ àdírẹ́sì àti ibudo inú sí ìdájú pẹ̀lú àdírẹ́sì àti ibudo ìta. Àwọn ìdáhùn tí ó bá àkọsílẹ̀ mu ni a ń túmọ̀ padà, pákẹ́tì tí ó sì ń wá láti ìta láìsí àkọsílẹ̀ tí ó bá a mu kò ní ibi àfojúsùn rárá. Ìhùwàsí kan yẹn ń ṣàlàyé ìdí tí olùgbọ́ tí ó wà lẹ́yìn router fi kò lè dé láti intánẹ́ẹ̀tì. Ó tún ṣàlàyé ìdí tí pákẹ́tì àkọ́kọ́ ní ọ̀nà kọ̀ọ̀kan fi gbọdọ̀ bẹ̀rẹ̀ láti inú.
Wo tabili náà láti ẹ̀gbẹ́ router, àwọn ojútùú yóò hàn kedere: bóyá ohun kan ń dá àkọsílẹ̀ pípẹ́, tàbí ó ń dá àkọsílẹ̀ ìgbà díẹ̀ tí ó sì ń jẹ́ kí ó tútù, tàbí ìrìnàjò kò gbà ọ̀nà yẹn rárá. Ìyókù àpilẹ̀kọ yìí ni àwọn ìṣẹ̀lẹ̀ mẹ́ta yẹn lẹ́sẹẹsẹ. Kò sí nǹkan kan níbí tí ó sinmi lórí ẹ̀yà olùpèsè tí ó ju ohun tí tabili náà kọ lọ.
Ohun tí iṣẹ́ ìpadé lè ṣe àti ohun tí kò lè ṣe
Holes punching UDP ń lo àkọsílẹ̀ jáde gẹ́gẹ́ bí ṣíṣí ìgbà díẹ̀ dípò bíbọ́ àlẹ̀mọ́ náà. Àwọn ẹlẹgbẹ́ méjèèjì ń kan iṣẹ́ ìpadé, tí ó ń kọ́ gbogbo òpin ìta àti sísọ òpin ẹ̀gbẹ́ kejì padà. Lẹ́yìn náà àwọn méjèèjì ń fi ránṣẹ́ síra wọn, àti gbogbo pákẹ́tì jáde ń dá tàbí ń sọ àkọsílẹ̀ tí ó ń jẹ́ kí ìdáhùn wọlé di tuntun. Ìtẹ̀lẹ́sẹẹsẹ ni ó ń jẹ́ kí ó ṣiṣẹ́, ìtẹ̀lẹ́sẹẹsẹ náà sì ni ó ń jẹ́ kí ó di ẹlẹ́gẹ́. Ẹlẹgbẹ́ tí ó ránṣẹ́ kí ẹ̀gbẹ́ kejì tó dá àkọsílẹ̀ rẹ̀ ni a kàn ń sọ nù, nígbà tí ìgbìyànjú mìíràn lẹ́yìn náà ń ṣàṣeyọrí. Iṣẹ́ náà fúnra rẹ̀ kò gbé ìrìnàjò VPN kankan, nítorí náà agbára rẹ̀ kan ṣoṣo ni àkókò tí ó ń ṣètò.
Ìhùwàsí ìtẹ̀sí ń pinnu ìyókù, àti RFC 4787 ń dárúkọ àwọn ìrísí mẹ́ta: òmìnira láti òpin, tí ó sinmi lórí àdírẹ́sì, àti tí ó sinmi lórí àdírẹ́sì àti ibudo. Nínú èyí tí ó kẹ́yìn, ibudo tí ẹlẹgbẹ́ gbọdọ̀ fojú sí ń yí padà pẹ̀lú gbogbo ibi àfojúsùn, nítorí náà àsọtẹ́lẹ̀ kò tún ṣe é gbẹ́kẹ̀lé. Níbẹ̀ ni ọgbọ́n yìí ti dé òpin rẹ̀, nítorí NAT ìpele olùpèsè àti firewall ilé-iṣẹ́ líle méjèèjì ń mú ìfojúsọ́nà tí ètò náà nílò kúrò, kò sì sí iye ìgbìyànjú tí yóò mú un padà.
Keepalive, àtúnbẹ̀rẹ̀ àti òpin tí ó ń lọ
Ọ̀nà tí a ti ṣẹ́ kò jẹ́ olùgbọ́ bí kò ṣe ṣíṣàn, nítorí náà ohun gbogbo tí ó ń ṣiṣẹ́ lórí rẹ̀ gbọdọ̀ faradà ìyípadà. Ó gbọdọ̀ tọ́jú ìtẹ̀sí ní ààyè pẹ̀lú ìrìnàjò àkókò, kíyèsi nígbà tí òpin ìta bá ń lọ, àti gbé e kalẹ̀ lẹ́ẹ̀kan sí i lẹ́yìn àtúnbẹ̀rẹ̀ router tàbí pínpín àdírẹ́sì tuntun. Àwọn ọjà mesh VPN ń fi ọgbọ́n yẹn sínú ọ̀nà ìṣàkóso wọn, nígbà tí server lasan ń fi í sílẹ̀ fún ọ. Keepalive ń rànni lọ́wọ́ nígbà tí ìtẹ̀sí kan náà bá wà, wọ́n sì ń gba bátírì lórí oníbàárà alágbèéká, nítorí náà ààlà ìgbóná janjan kò jẹ́ ọ̀fẹ́.
Kọ̀mpútà alágbèéká tí ó sùn fún wákàtí kan sábà máa ń padà wá lórí òpin ìta mìíràn. Ohun gbogbo tí ó ń gbé ọ̀nà kalẹ̀ lẹ́ẹ̀kan sí i gbọdọ̀ tún ṣiṣẹ́ láti inú, èyí tí ó mú ìbéèrè kan náà padà sí oníbàárà.
Àwọn ọ̀nà mẹ́ta yí ìtọ́jú tí ó ṣákan
Ọ̀nà àkọ́kọ́ ń béèrè lọ́wọ́ router pé kí ó dá àkọsílẹ̀ fúnra rẹ̀, nípasẹ̀ UPnP IGD, NAT-PMP tàbí PCP, nígbà tí ẹ̀yà náà wà tí ó sì wà ní ṣíṣí. Èkejì ń fi ìrìnàjò lé relay tí ó ní àdírẹ́sì ìta, tí ó ń ṣiṣẹ́ nígbà gbogbo tí ó sì ń ná bandwit pẹ̀lú ààlà ìgbẹ́kẹ̀lé mìíràn. Ẹ̀kẹta ń yí ìtọ́sọ́nà padà: alábàáṣiṣẹ́ inú ń ṣí tunnel jáde sí server ìta, gbogbo nǹkan mìíràn sì ń gbé inú rẹ̀.
[Peer]
PublicKey = 6yGj3kQ2wVb8sTn1pLx4dRc7hZa9mKf2uYe5oNq0iXw=
Endpoint = relay.corp.internal:51820
PersistentKeepalive = 25
AllowedIPs = 10.44.0.0/24
Òpin relay ń jẹ́ kí ìpààrọ̀ yẹn hàn nínú ìṣètò oníbàárà, níbi tí òpin jẹ́ relay kì í ṣe àdírẹ́sì ẹlẹgbẹ́ fúnra rẹ̀. Keepalive pípẹ́ ń tọ́jú ìtẹ̀sí ní gbígbóná, àwọn ìpilẹ̀ tí a gbà sì ń pinnu ohun tí oníbàárà lè fi ránṣẹ́ nípasẹ̀ rẹ̀. Tunnel yíyí padà láti alábàáṣiṣẹ́ inú ni èrò kan náà pẹ̀lú olóhun mìíràn, kò sì nílò ìyípadà NAT rárá. Ọ̀kọ̀ọ̀kan nínú mẹ́ta ń yọ ìbéèrè wíwọlé kúrò láìborí firewall tí ó ń dènà ìrìnàjò tí a kò béèrè nípasẹ̀ àpẹẹrẹ, nítorí ìrìnàjò ṣì ń bẹ̀rẹ̀ láti inú.
Bá ọ̀nà yíyẹ padà mọ́ ẹni tí ó ní router
Bí ìwọ náà bá ń ṣàkóso router, ìtọ́jú UDP tí ó dúró ṣinṣin rọrùn láti yẹ̀wò ju ètò àwọn ọ̀nà yòókù lọ, ó sì ń kùnà ní àwọn ọ̀nà tí ìwọ rí. Bí kò bá ṣe bẹ́ẹ̀, wádìí bóyá olùpèsè ń pèsè relay tàbí ọ̀nà ìṣàkóso tí a gbé kalẹ̀, àti bóyá ìlànà yóò gbà á láàyè. Bí kò bá sí èyíkéyìí, àwọn àṣàyàn tí ó kù ni tunnel yíyí padà tàbí gbígba pé a kò lè dé òpin láti ìta. Kíkọ ohun tí o lò sílẹ̀ ṣe pàtàkì ju bí ó ti dún lọ, nítorí àwọn àṣàyàn yàtọ̀ ní ẹni tí ó lè wo ìrìnàjò àti ohun tí ó ṣẹlẹ̀ nígbà tí ẹnìkẹta bá yí nǹkan padà.
A kíyèsi bóyá ọ̀nà tí o parí sí jẹ́ tààrà tàbí nípasẹ̀ relay, nítorí òtítọ́ kan náà ń sọ àsọtẹ́lẹ̀ ìdádúró àti ìhùwàsí ìkùnà. RFC 4787 ṣì jẹ́ ìtọ́kasí fún ìhùwàsí ìtẹ̀sí lábẹ́ gbogbo èyí, kíkà apá ìtẹ̀sí rẹ̀ sì yá ju dídán àwọn ojútùú mẹ́ta wò lẹ́sẹẹsẹ. Tabili kò náàní èyí tí o yàn; ó kàn ń kọ ohun tí a gbà pákẹ́tì tó ń bọ̀ láàyè láti ṣe.