Olùṣọ́ ping kò lè ṣe ìyàtọ̀ láàárín ihò tí ó ti bàjẹ́ àti èyí tí ó yá
Ping sí íńtánẹ́ẹ̀tì ń fi ohun tí ó kéré ju bí ó ti dà hàn. Ṣàyẹ̀wò ihò náà láti inú, ka àwọn ìkùnà kí o tó dáhùn, kí o sì ka ìyípadà sẹ́bà kí ó jẹ́ ìpinnu ọ̀tọ̀.
Àwọn ipò mẹ́ta ni ó ń pinnu bóyá olùṣọ́ náà ń ràn ọ́ lọ́wọ́ tàbí ń ṣe ọ́ léṣe: ohun tí ìwádìí lè ṣe ìyàtọ̀ rẹ̀, ìkùnà mélòó tẹ̀léra tí ó ń dáhùn ìgbésẹ̀, àti bóyá ìgbésẹ̀ náà jẹ́ ìsopọ̀ padà tàbí ìyípadà. Líìnì cron tí ó ń ping sí àdírẹ́sì gbogbo ènìyàn kò dáhùn ọ̀kan nínú wọn dáadáa. Ó ń so àwọn ihò tí ó yá pọ̀ padà, ó sì ń fi àwọn tí ó bàjẹ́ sílẹ̀ bẹ́ẹ̀, ó sì ń ṣe méjèèjì láìsí àkọsílẹ̀ kankan. Àpẹẹrẹ tí ó yẹ kí a pa mọ́ ń mú àwọn àyàn mẹ́ta yẹn hàn kedere.
Ìwádìí ni apá tí ó ń pinnu gbogbo ohun tí ó kù.
Kí ni ping sí íńtánẹ́ẹ̀tì ń fi hàn ní tòótọ́
Ping sí ẹ̀rọ ìṣètọ́nà gbogbo ènìyàn ń fi hàn pé ọ̀nà íńtánẹ́ẹ̀tì àdúgbò náà wà l'ààyè. Kò fi hàn pé ihò náà ń gbé ìrìnàjò, àti nínú profáìlì ihò kíkún, ping fúnra rẹ̀ ń gba inú ihò náà, nítorí náà ìdáhùn tí ó yá àti ihò tí ó bàjẹ́ lè wà papọ̀ nígbà tí alábàásọ̀pọ̀ náà ṣì ń fi àwọn pákẹ́ẹ̀tì ránṣẹ́. Bí profáìlì náà bá ń fi ìwádìí orúkọ ránṣẹ́ nípasẹ̀ ihò náà, ìkùnà DNS ni a ka bí ìsopọ̀ tí ó ti kú, yóò sì bẹ̀rẹ̀ ìsopọ̀ padà tí kò lè tún ohunkóhun ṣe.
Kò sí ọ̀kan nínú àwọn ìtọ́sọ́nà méjì ti àṣìṣe tí ó farahàn nínú kóòdù ìjáde. Olùṣọ́ tí a kọ́ lórí àmì yẹn jẹ́ àtẹ́ sísẹ́ pẹ̀lú ètò cron.
Ṣàyẹ̀wò ohun kan tí ó ń gbé lẹ́yìn ihò náà
ip -brief addr show tun0 ip route get 10.100.20.10 nc -z -w3 10.100.20.10 443
Ṣàyẹ̀wò láti inú, ìwádìí tí ó kéré jù lọ ní àkọ́kọ́. Bí paṣẹ́ (interface) wà, ó ń sọ pé ihò náà ti gòkè; wíwá ọ̀nà sí àdírẹ́sì inú tí a mọ̀ ń sọ pé ìrìnàjò yóò wọ inú rẹ̀; ìdánwò TCP sí ẹ̀rọ tí ó wà ní ẹ̀gbẹ́ kejì ń sọ pé ohun kan ń dáhùn ní tòótọ́. Àwọn ìbéèrè echo nìkan ni ó ń ṣi ni lọ́nà: ọ̀pọ̀ àwọn ẹ̀rọ inú ń fi inú dídùn dáhùn TCP ṣùgbọ́n wọ́n ń sọ ICMP nù, nítorí náà olùṣọ́ tí a kọ́ lórí ping ń so ihò tí kò ti dawọ́ ṣíṣe rí pọ̀ padà nígbà gbogbo.
Pa ìwádìí náà mọ́ ní ààlà àkókò kí o sì fún un ní ipò ìjáde ọ̀tọ̀. Ìwádìí tí ó ń gbé kọ́ró fún ọgbọ̀n ìṣẹ́jú-àáyá ń yí olùṣọ́ padà sí ẹ̀rọ tí ń ṣàwárí ìdádúró pẹ̀lú ìdálẹ́sẹ̀ inú.
Yan láàárín líìnì kan àti lúùpù kan
* * * * * nc -z -w5 10.100.20.10 443 || myvpn reconnect
Àkọsílẹ̀ cron jẹ́ líìnì kan tí kò ní ìrántí, èyí tí ó bá kọ̀mpútà gbé-èé-lọ̀ mu níbi tí ìsopọ̀ padà àfikún kò ti ná ohunkóhun. Lúùpù tí a ń ṣọ́ ń pa iṣiro mọ́, ó sì ń dáhùn lẹ́yìn ọ̀pọ̀ ìṣínà, èyí tí ó ń dá ìsopọ̀ tí kò dúró ṣinṣin lọ́wọ́ láti dá jìjà ìsopọ̀ padà. Ní ọ̀nà yòówù, ṣe é lábẹ́ aláṣẹ kí ó lè yè ìparun kí ó sì kọ sínú jọ́nà. Yan nípa bóyá ìsopọ̀ padà àìní ni ó ṣe pàtàkì, kì í ṣe nípa irú ẹ̀dà wo ni ó kúrú.
failures=0 while sleep 30; do if nc -z -w5 10.100.20.10 443; then failures=0 else failures=$((failures+1)); fi if [ $failures -ge 3 ]; then myvpn reconnect; failures=0; fi done
Lúùpù yẹn ń ka àwọn ìkùnà tẹ̀léra dípò ìpín lórí fèrèsé. Fèrèsé nílò aago àti ìrántí àwọn àpẹẹrẹ, àwọn àṣìṣe púpọ̀ nínú àwọn olùṣọ́ tí a fi ọwọ́ kọ́ ń gbé inú ìṣiro yẹn.
Ìyípadà sẹ́bà jẹ́ ìpinnu mìíràn
Yíyí sẹ́bà padà yàtọ̀ sí ìsopọ̀ padà. Ya ìsopọ̀ àtijọ́ kúrò ní àkọ́kọ́, nítorí alábàásọ̀pọ̀ kejì tí yóò bẹ̀rẹ̀ nígbà tí èkíní ṣì di àdírẹ́sì mú yóò kọlù. Ka àwọn ìkùnà tẹ̀léra kí o tó yí padà, fi ààlà sí àwọn ìgbìyànjú, kí o sì ṣàyẹ̀wò lẹ́ẹ̀kan sí i nígbà tí ìsopọ̀ tuntun bá gòkè, dípò gbẹ́kẹ̀lé ipò ìjáde àṣẹ connect. Ètò tí kò tọ̀nà kò gbọdọ̀ yí ká gbogbo sẹ́bà nínú lúùpù.
Má ṣe ṣàyẹ̀wò àdírẹ́sì gbogbo ènìyàn ti sẹ́bà VPN fúnra rẹ̀ láti inú ihò kíkún. Ìwádìí yẹn sinmi lórí ohun tí ó ń dán wò, ó sì ń fi àṣeyọrí ròyìn nígbà tí ọ̀nà tí ó yẹ kí ó fìdí rẹ̀ múlẹ̀ ti lọ tán.
Ṣàkọsílẹ̀ ìwádìí wo ni ó ṣiṣẹ́, kí ni ó dá padà àti ìgbésẹ̀ wo ni ó tẹ̀lé. Àkọsílẹ̀ yẹn ń yí ìsopọ̀ padà àràmàdà padà sí ìṣẹ̀lẹ̀ tí a lè ṣàyẹ̀wò.