Ìpàdé SSH kan, ohun èlò wẹ́ẹ̀bù kan àti wíwá orúkọ kan lè pín ìsopọ̀ VPN kan láìjá fún àwọn porti. Ẹ̀rọ ìbáṣepọ̀ kọ́ ìṣàn tí ó ní ìkọ̀kọ̀ kan sí ẹnu-ọ̀nà, gbogbo ìbáraẹnisọ̀rọ̀ ohun èlò ń rìn nínú rẹ̀. Ní ìta, kìkì ìgbé àti porti tunnel fúnra rẹ̀ ni ó hàn. Ní inú, iṣẹ́ kọ̀ọ̀kan ń pa porti tirẹ̀ mọ́, ó sì tún nílò ìyọ̀ǹda tirẹ̀.

Kí ni ìṣàn ìta ń gbé, kí ni ó ń fi pamọ́

Ẹ̀rọ ìbáṣepọ̀ fi gbogbo pákẹ́tì kún nínú ìgbé tunnel kí ó tó kúrò nínú ẹ̀rọ. Ìṣàn ìta yẹn ní porti ìdí kan, tí a fi dá sílẹ̀ nígbà tí a ṣètò VPN. Nínú ìgbé, pákẹ́tì ìpilẹ̀ kọ̀ọ̀kan ń pa àdírẹ́sì àti porti iṣẹ́ tí ó ń dúró fún mọ́. Ẹnu-ọ̀nà yọ ìgbé kúrò, ó sì ń darí nípa orí ọ̀rọ̀ inú, nítorí náà ìdí rí ẹ̀rọ ìbáṣepọ̀ lasan tí ó ń wá láti inú nẹ́tíwọ́ọ̀kì.

Nítorí náà gbígbà lórí ìfarahàn WAN fi ìbáraẹnisọ̀rọ̀ kan hàn, kì í ṣe mẹ́ta. Àwọn porti inú máa ń farahàn lẹ́yìn ìtúkọkọ́ nìkan. Ìdí ni pé ihò ògiri iná kan lè gbé SSH, HTTPS àti DNS ní àkókò kan náà.

# WAN side: one outer tuple, whatever the inner services are
tcpdump -ni wan0 'udp port 443'
# tunnel side: the inner tuples appear after decapsulation
tcpdump -ni tun0

Ìwé TUN/TAP ṣàlàyé ìfikúrò níbi tí ẹ̀rọ TUN tí a darí ń gbé pákẹ́tì IP lọ laaarin kẹ́nẹ́lì àti ìlànà àyè olùlò. Ìfikúrò yẹn ni ó mú orí ọ̀rọ̀ inú hàn sí kóòdù ìdarí àti ògiri iná ẹnu-ọ̀nà. Ó tún ṣàlàyé ìdí tí porti ìta kò fi sọ nǹkan kan nípa àwọn iṣẹ́ tí a gbà láàyè.

Ìṣíwájú NAT jẹ́ ti olùgbọ́, kì í ṣe ti àwọn ohun èlò

Ẹnu-ọ̀nà tí ó ń gbà ara rẹ̀ lẹ́yìn NAT IPv4 nílò ìtumọ̀ kan tí ó ń wọlé: àdírẹ́sì àti porti gbogbo ènìyàn ni a so mọ́ olùgbọ́ VPN. Kò sí òfin kankan tí a nílò fún SSH, HTTPS tàbí DNS kìkì nítorí àwọn olùlò tunnel ń dé ọ̀dọ̀ wọn. Pípọ̀ àwọn porti yẹn jáde yóò fi àwọn iṣẹ́ tí tunnel ti ń dáàbò bò hàn. Òfin ìṣíwájú ṣàpèjúwe bí olùgbọ́ ṣe lè dé, kì í ṣe ìyọ̀ǹda fún nǹkan kan nínú.

Ìdàkejì tún òtítọ́. Pípọ̀ porti tunnel kò fi nǹkan mìíràn hàn, nítorí náà iṣẹ́ tí a lè dé ọ̀dọ̀ rẹ̀ nípasẹ̀ tunnel nìkan ń pa ojú gbogbo ènìyàn tirẹ̀ mọ́ ní pípọ̀. Ìpínyà yẹn ni ìdí tí a fi ń pa iṣẹ́ mọ́ ní àṣírí.

Ìmúlò ni a ń pinnu ní ti gidi nínú ìlànà inú

Ìkọ̀kọ̀ ń dáàbò bo ọ̀nà; kò fún ìdí ní àṣẹ. Àwọn ọ̀nà ẹ̀rọ ìbáṣepọ̀ yan àwọn ìpilẹ̀ tí ó wọ tunnel, ìlànà ìṣíwájú ẹnu-ọ̀nà pinnu bóyá àwọn pákẹ́tì lè jáde kúrò, ògiri iná àti ìwọlé ìdí sì pinnu bóyá iṣẹ́ yóò dáhùn. DNS ni àpẹẹrẹ tí ó yé jùlọ: gbígbé àwọn ìbéèrè kò mú kí olùyẹ́sí gbà wọ́n láti inú àkójọ ẹ̀rọ ìbáṣepọ̀ rẹ. Ẹ̀yà kọ̀ọ̀kan lè sọ rárá lọ́nà ìfarasẹ̀.

Dán iṣẹ́ kọ̀ọ̀kan wò lọ́tọ̀ nípasẹ̀ tunnel. Wíwá tí ó ṣàṣeyọrí kò sọ nǹkan kan nípa porti wẹ́ẹ̀bù, ìbéèrè wẹ́ẹ̀bù tí ó ṣàṣeyọrí kò sọ nǹkan kan nípa SSH.

dig @10.40.0.53 app.corp.example
nc -vz 10.40.0.10 8443
ssh -p 2222 [email protected]

Nígbà tí tunnel ń ṣiṣẹ́ tí gbogbo nǹkan sì kùnà, kọ́kọ́ ka tábìlì ọ̀nà ẹ̀rọ ìbáṣepọ̀. Nígbà tí iṣẹ́ kan kùnà tí àwọn mìíràn ń ṣiṣẹ́, àṣìṣe wà ní ìdí yẹn. Àwọn àkíyèsí méjèèjì yẹn tọ́ka sí àwọn olùṣàkóso ọ̀tọ̀ọ̀tọ̀, pípò wọ́n pọ̀ sì ń fi àkókò ṣòfò.

WireGuard ya ìlà kan náà

WireGuard pe olùgbọ́ ìta rẹ̀ ní ListenPort, ohun èlò inú sì ṣì ń lò porti iṣẹ́ tí ó nílò. AllowedIPs jẹ́ àkójọ àwọn ìpilẹ̀ tí a darí, kì í ṣe àkọsílẹ̀ àwọn porti iṣẹ́ tí a gbà láàyè. Kíkà rẹ̀ gẹ́gẹ́ bí àkọsílẹ̀ ìyọ̀ǹda porti ń mú àwọn òfin tí kò bá ohun tí tunnel ń ṣe mu jáde. Orúkọ yàtọ̀; ìpele kì í yàtọ̀.

Gbà iṣẹ́ láàyè nínú ìlànà ìwọlé àdúgbò nígbà tí ó bá ń ṣiṣẹ́ lórí ẹ̀rọ náà fúnra rẹ̀, tàbí nínú ìlànà ìṣíwájú nígbà tí ó bá wà lẹ́yìn ẹ̀rọ yẹn. Ìyàtọ̀ yẹn pinnu irú àkójọ òfin tí ó rí pákẹ́tì.

Ìrísí gbogbogbò ni ìgbé ìta kan pẹ̀lú ọ̀pọ̀ ìbáraẹnisọ̀rọ̀ inú. Àwọn ọjà tí ó nílò ọ̀pọ̀ pàṣípààrọ̀ ìta, tàbí ìlànà IP mìíràn, jẹ́ ìránnilétí pé àpèjúwe porti gbogbo ènìyàn kan ṣàpèjúwe àpẹẹrẹ yìí, kì í ṣe gbogbo VPN.

Àwọn àpilẹ̀kọ tó jọra