Ṣíṣe nc -uz sí OpenVPN olùsìn kò fi bẹ́ẹ̀ wọn ohunkóhun, àti ìwé ìtọ́ni OpenBSD sọ bẹ́ẹ̀ nínú àwọn ìkìlọ̀ rẹ̀: àwọn ìwádìí UDP ní ipò yẹn ń kéde àṣeyọrí bóyá ohun kan ń gbọ́ tàbí bẹ́ẹ̀ kọ́. Ipò àbájáde ń ṣàfihàn ìránṣẹ́ ìbílẹ̀, kì í ṣe ipò tí ó jìnnà, nítorí náà olùṣọ́ tí ó gbẹ́kẹ̀lé e ń pa olùsìn tí ó ti kú mọ́ ní àmì aláìsàn-àìsàn níwọ̀n ìgbà tí tábìlì ìlànà bá dàbí èyí tí ó ṣeé gbẹ́kẹ̀lé. Yíyípadà rẹ̀ bẹ̀rẹ̀ pẹ̀lú pínpinní ìbéèrè wo ni ìwádìí yẹ kí ó dá lóhùn, nítorí ìlànà, olùgbọ́, ìjẹ́rìí àti ìwọlé ohun-èlò jẹ́ ìwòye mẹ́rin tí ó yàtọ̀. Ìwádìí tí ó dárúkọ ọ̀kan nínú wọn wúlò; ìwádìí tí ó fi mẹ́rẹ̀ẹ̀rin hàn jẹ́ ẹrù.

Ohun tí ìwádìí UDP lè àti kò lè ṣàyẹ̀wò

nc -uz ń rán dátàgírámù kan, ó sì jáde, ipò tí ó sì dá padà ń ṣàpèjúwe ìránṣẹ́ ìbílẹ̀. Ojú-ọ̀nà tí ó ti dí lè dáhùn pẹ̀lú ICMP port unreachable, ṣùgbọ́n ìhùwàsí tí a kọ sílẹ̀ ti ipò ìwádìí yìí kò yí i padà sí ìkùnà, ojú-ọ̀nà tí a ṣe àyọ̀sẹ́ kò sì dáhùn rárá. Nítorí náà ìdákẹ́jẹ́ àti àṣeyọrí túmọ̀ sí ohun kan náà fún ẹni tí ń pè.

Ìyẹn mú kí ìwádìí di ìdánwò àkójọ ìbílẹ̀, kì í ṣe ti olùsìn. Kò fi hàn pé a lè dé ọ̀dọ̀ olùgbàlejò, pé a ti so ojú-ọ̀nà mọ́, pé ìlànà OpenVPN ń ṣiṣẹ́ tàbí pé oníbàárà lè jẹ́rìí ara rẹ̀. Ìdánwò ìsopọ̀ TCP lágbára jù, nítorí ìfọwọ́sowọ́pọ̀ ń fúnni ní ìdáhùn tí ó ṣe kedere, ṣùgbọ́n kìkì nígbà tí ìgbékalẹ̀ náà ń gbọ́ ní TCP ní ti gidi. Yíyí ìwádìí padà sí TCP lórí nọ́mbà kan náà ń dán olùgbọ́ tí ó lè máà sí wò, àti lòdì sí olùsìn tí ó ní UDP nìkan yóò mú kí iṣẹ́ aláìsàn-àìsàn kùnà.

Ìbámu ìwádìí pẹ̀lú gbígbé tí a ti ṣètò wá ṣáájú ìgbẹ́kẹ̀lé nínú èyíkéyìí nínú àwọn àbájáde méjèèjì. Ìgbékalẹ̀ UDP nílò àmì mìíràn, kì í ṣe ìlànà mìíràn.

Ẹni tí ń pè mẹ́ta, ìbéèrè mẹ́ta tí ó yàtọ̀

Ìṣetán dá lórí ẹni tí ń béèrè. Olùdarí iṣẹ́ tí ń tún ìlànà tí ó ti ṣubú bẹ̀rẹ̀ ń ní láti mọ̀ pé ẹ̀dá náà bẹ̀rẹ̀ àti pé ó so olùgbọ́ rẹ̀ mọ́. Olùdógba ẹrù ń ní láti mọ̀ pé a ó gba oníbàárà tí ó dé báyìí. Ẹ̀rọ ìṣọ́ ń ní láti mọ̀ pé ọ̀nà láti inú nẹ́tíwọ́kì gidi ṣì ń gbé ìpàdé lọ sí orísun tí a gbà láàyè.

Ìwọ̀nyí kì í ṣe ìwádìí kan náà, ìwádìí kan kò sì lè bo mẹ́tẹ̀ẹ̀ta pẹ̀lú òtítọ́. Yan ẹni tí ń pè ní àkọ́kọ́, lẹ́yìn náà ẹ̀rí.

Kọ́ ìwádìí láti inú ẹ̀dá tí ó wà báyìí

OpenVPN ń kọ ìlà ìbẹ̀rẹ̀ nígbà tí ẹ̀dá kan parí ìpilẹ̀ṣẹ̀, ìlà yẹn sì jẹ́ ẹ̀rí wúlò nípa ìbẹ̀rẹ̀ ìbílẹ̀. Kà á láti inú ìbẹ̀rẹ̀ tí ó wà báyìí, kì í ṣe láti ìparí fáìlì tí a ń fi kún, nítorí àṣeyọrí ti ọ̀sẹ̀ tí ó kọjá ń kà ní pàtàkì bí àṣeyọrí ti ìṣẹ́jú kan sẹ́yìn. Olùsìn tún lè parí ìpilẹ̀ṣẹ̀ kí oníbàárà kankan tó ti sopọ̀ rí, nítorí náà ìlà náà kò sọ ohunkóhun nípa ìjẹ́rìí.

Fún ìwádìí ìbẹ̀rẹ̀, so ipò ìlànà pọ̀ mọ́ ẹ̀rí àkọsílẹ̀ tí ó wà báyìí àti olùgbọ́ tí ó bá gbígbé tí a ti ṣètò mu. Ìwádìí yẹ kí ó kùnà nígbà tí ìlànà ń ṣiṣẹ́ ṣùgbọ́n kò tí ì parí ìpilẹ̀ṣẹ̀, èyí tí ó túmọ̀ sí pé ìbéèrè àkọsílẹ̀ gbọdọ̀ ní ààlà sí ìgbà ìbẹ̀rẹ̀ yìí àti ẹ̀ka yìí.

systemctl is-active openvpn@server
sudo journalctl -u openvpn@server -b --no-pager | grep "Initialization Sequence Completed"
ss -lunp | grep 1194

Àbájáde mẹ́ta, ìdánilójú mẹ́ta: ẹ̀ka náà ń ṣiṣẹ́, ìbẹ̀rẹ̀ yìí ṣe ìlà ìpilẹ̀ṣẹ̀, àti pé ohun kan ń di ojú-ọ̀nà UDP mú. Kò sí ọ̀kan nínú wọn tí ó sọ pé oníbàárà lè sopọ̀. Jẹ́ kí wọ́n wà lọ́tọ̀ọ̀tọ̀ lórí ojú-ìwé ipò kí ìṣẹ̀lẹ̀ má bàa wó lulẹ̀ sí aami àwọ̀ ewé kan ṣoṣo.

Fọ́ ọ mọ́ àìmọ̀kan kí o sì wo ìwádìí náà

Ìwádìí kan kì í ṣe èyí tí a lè gbẹ́kẹ̀lé títí tí o fi rí i tí ó kùnà. Dá olùsìn dúró, ṣe ìwádìí náà kí o sì fìdí àbájáde tí o ń retí múlẹ̀. Lẹ́yìn náà tún bẹ̀rẹ̀ rẹ̀ kí o sì fìdí rẹ̀ múlẹ̀ pé ìwádìí náà ń bọ̀ sìlẹ̀ láìsí àyípadà mìíràn.

sudo systemctl stop openvpn@server
nc -uz 203.0.113.10 1194; echo "exit=$?"
ss -lunp | grep 1194
sudo systemctl start openvpn@server
ss -lunp | grep 1194

Ka blọ́ọ̀kì náà ní ìlà kọ̀ọ̀kan. Àṣẹ netcat ń tẹ̀wé jáde exit=0 nígbà tí kò sí ohun tí a so mọ́, ìyẹn sì ni gbogbo ìṣòro ní ìlà kan. Ẹni àkọ́kọ́ ss kò tẹ̀wé jáde, àtúnbẹ̀rẹ̀ yọrí sí rere, ẹni kejì sì ss tún fi olùgbọ́ hàn. Bí ìwádìí rẹ bá gbà lòdì sí olùsìn tí a ti dá dúró, ó ń wọn àkójọ ìbílẹ̀, kì í ṣe ohunkóhun mìíràn.

Ìkùnà òdìkejì tún ṣe pàtàkì. Ìwádìí tí ó kùnà lòdì sí olùsìn aláìsàn-àìsàn ń fa àtúnbẹ̀rẹ̀ tí a kò tí ì nílò rí, ìyípo àtúnbẹ̀rẹ̀ sì jẹ́ ìdábọ̀ fúnra rẹ̀. Dán àwọn ọ̀nà méjèèjì wò kí o tó so ìwádìí náà mọ́ ohunkóhun tí ó lè ṣiṣẹ́ lé e.

Ohun tí ìlà ipò yẹ kí ó sọ

Kọ ààlà tí ìwádìí kọ̀ọ̀kan ń bo: ìlànà, olùgbọ́, ìjẹ́rìí tàbí ohun-èlò. Ìwádìí kan kì í bo ju ọ̀kan lọ ní ìgbà díẹ̀, ojú-ìwé ipò tí ó fún wọn ní “up” sì ń fi ìyàtọ̀ tí ó ṣe pàtàkì nígbà ìṣẹ̀lẹ̀ pamọ́. Fún ọ̀nà nẹ́tíwọ́kì, lo oníbàárà gidi pẹ̀lú ìdánimọ̀ àkànṣe, jẹ́ kí ó parí ìfọwọ́sowọ́pọ̀ àti iṣẹ́ kan tí a gbà láàyè tí kò lè ṣe ìpalára, lẹ́yìn náà ya a kuro. Ìyẹn ń kọ́ ọ̀nà ìṣàkóso, ìlànà ìjẹ́rìí àti olùgbọ́ ní ìgbésẹ̀ kan.

Pa ìdánimọ̀ yẹn mọ́ lọ́tọ̀ọ̀tọ̀ sí àwọn olùmúlò gidi kí o sì fún un ní àwọn àṣẹ tí ó kéré jù tí ìwádìí nílò. Ìwádìí ìṣetán pẹ̀lú àǹfààní gbòòrò jẹ́ ojú-ìkọlù tuntun tí a fi kún fún ìrọ̀rùn. Yí àwọn ẹ̀rí ìdánimọ̀ rẹ̀ padà bíi ti àkọsílẹ̀ mìíràn, nítorí ìwádìí tí ó dá ìjẹ́rìí dúró dàbí olùsìn tí ó dá gbígba oníbàárà dúró gan-an.

Dárúkọ ààlà náà nínú ọ̀rọ̀ ìkìlọ̀, kí ẹni àkọ́kọ́ tí ó dáhùn lè mọ̀ bóyá kí ó wo ẹ̀ka, sọ́ọ̀kẹ́ẹ̀tì, ìwé-ẹ̀rí tàbí ọ̀nà. Ìwádìí tí kò lè sọ ohun tí ó fi hàn ni a ó gbẹ́kẹ̀lé fún ìdí tí kò tọ́, ìwádìí netcat sì là sílẹ̀ ní àkọ́kọ́ nípa ọ̀nà yẹn.

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