Àwọn ọ̀nà méjì ń ṣèlérí ohun kan náà: nígbà tí tunnel bá ṣubú, kò sí ohun tí ó jáde ní gbangba. Ọ̀kan ń ṣiṣẹ́ skripti nígbà ìsọkalẹ̀, ó sì gé àwọn interface. Èkejì fi ìlànà firewall sílẹ̀ lágbára, kò sì béèrè ohunkóhun lọ́wọ́ ẹ̀rọ VPN. Wọ́n yàtọ̀ nípa ẹni tí ó ní àṣẹ láti ṣiṣẹ́, ohun tí ó ṣẹlẹ̀ nínú àlàfo àti bí ẹ̀rọ náà ṣe padà wá lórí ẹ̀rọ ìbánisọ̀rọ̀ lẹ́yìn náà. Fífi wọ́n wé ní àwọn kókó mẹ́ta yẹn wúlò ju àríyànjiyàn nípa èwo ni ó le jù.

Iṣẹ́ kan náà nípasẹ̀ ọ̀nà méjì

Ẹ̀rọ náà lè ṣiṣẹ́ àwọn ìkọ̀ nígbà tí tunnel gòkè àti nígbà tí wọ́n tú u ká, bí profáìlì bá gba ìṣiṣẹ́ skripti láyè. Ìkọ̀ yẹn ń ṣiṣẹ́ nínú ìyí ayé ẹ̀rọ náà, ní àkókò tí ìsopọ̀ ń dí. Ní ìdàkejì, ìlànà firewall jẹ́ ti ẹ̀rọ, kò sì náàání bóyá ẹ̀rọ ń ṣiṣẹ́, ó ti ṣubú tàbí wọ́n ti pa á.

PropertyTeardown scriptFirewall unit
Runs when the client is killedNoYes
Needs privilege at teardown timeUsually yesConfigured once, at boot
Acts on the whole machineOften, including recovery pathsOnly on the flows it matches

Tábìlì yẹn ni gbogbo àríyànjiyàn náà. Skripti tí ó ń ṣiṣẹ́ nìkan nígbà ìdíde tí ó tọ́ ń bo ipò tí ó kéré jùlọ nínú àníyàn rẹ; ipò pàtàkì ni ìṣubú tàbí nẹ́tíwọ́kì tí ó pòórá, kò sì sí èyí tí ó fúnni ní ìsọkalẹ̀ mímọ́.

Ohun tí ìkọ̀ ìsọkalẹ̀ lè ṣe àti ohun tí kò lè ṣe

Àpẹẹrẹ tí a kọ sílẹ̀ ń rin àwọn interface nẹ́tíwọ́kì kọjá, ó sì sọ gbogbo nǹkan kalẹ̀ yàtọ̀ sí loopback. Nígbà tí ẹ̀rọ ara ti kalẹ̀, kò sí ohun tí ó lè sá jáde kúrò nínú tunnel, ìyẹn sì ni èròngbà gan-an.

#!/bin/sh
for dev in /sys/class/net/*; do
  name=$(basename "$dev")
  [ "$name" = lo ] || ip link set dev "$name" down
done

Ó tún sọ nẹ́tíwọ́kì àdúgbò, iṣẹ́ èyíkéyìí tí ẹ̀rọ ń gbà àlejò àti ọ̀nà tí ìwọ ìbá fi tún ìṣòro náà ṣe kalẹ̀. Lórí kọ̀mpútà gbérabẹ̀, ẹ̀rọ aláìlòwọ́ máa ń ní ìyípadà ọwọ́ lẹ́yìn ìgbà mìíràn, nítorí náà ìdáwọ́lé kúkúrú di ìpàdé àtúnṣe. Bó ti burú sí i, ó lè jẹ́ wọ́n kò gba ìkọ̀ láyè láti ṣe ohunkóhun nínú èyí: nígbà tí ẹ̀rọ bá fi àṣẹ sílẹ̀, skripti ìsọkalẹ̀ ń ṣiṣẹ́ lábẹ́ àkọsílẹ̀ tí kò ní àṣẹ, gbogbo ìyípadà interface sì kùnà pẹ̀lú àṣìṣe àṣẹ tí a kọ ní àkókò tí kò sí ẹni tí ó ka àkọsílẹ̀.

Ṣàyẹ̀wò bí a ṣe ń bẹ̀rẹ̀ ẹ̀rọ náà kí o tó gbẹ́kẹ̀ lé ìkọ̀. Skripti tí ó ń ṣiṣẹ́ nígbà tí o bá fi ọwọ́ ṣe é gẹ́gẹ́ bí root kò fi ohunkóhun hàn nípa iṣẹ́ tí ó ń bẹ̀rẹ̀ nígbà ìbẹ̀rẹ̀ ẹ̀rọ.

Ohun tí ìlànà firewall ṣe lọ́nà mìíràn

Ìlànà tí ó gba ìrìnàjò tunnel nìkan láyè ń ṣiṣẹ́ síbẹ̀ nígbà tí ìlànà ẹ̀rọ náà kù, nítorí kérúnẹ́lì kò gbára lé ìlànà yẹn. Ìlànà náà tún kéré: ó dí àwọn ṣíṣàn tí ó bá mu, ó sì fi loopback, subnet àdúgbò àti ọ̀nà ìmúpadà sílẹ̀, nítorí náà kò fi ẹ̀rọ sílẹ̀ ní àìlẹ́sẹ̀.

Iye ni pé ẹni tí ó ni firewall ẹ̀rọ gbàlá gbọ́dọ̀ kọ ìlànà náà, ó sì gbọ́dọ̀ máa tọ́jú rẹ̀, ó sì gbọ́dọ̀ dárúkọ ẹ̀rọ tunnel tí ẹ̀rọ náà ń dá ní tòótọ́. Ìyẹn túmọ̀ sí pé ìlànà àti profáìlì gbọ́dọ̀ máa tọ́jú pa pọ̀; interface tí a ti pààrọ̀ orúkọ ń fi firewall tí ó dí gbogbo nǹkan tí kò sì ṣàlàyé ohunkóhun sílẹ̀.

Kò sí ọ̀nà tí ó sọ èkejì di àìní. Ìlànà firewall tí a kò tún gbé wọlé rárá lẹ́yìn àtúnṣe dà bí skripti tí kò ṣiṣẹ́ rárá.

persist-tun ni ó ń pinnu bóyá àlàfo wà

Nígbà tí ẹ̀rọ tunnel bá yege ìpínyà já, àwọn ọ̀nà tí ó lọ sínú rẹ̀ pẹ̀lú yege. Nígbà náà a máa ń sọ ìrìnàjò nù dípò yíyí padà, nítorí náà ọ̀nà àkọ́kọ́ kò padà sí gáètìwéi ara. Ìhùwàsí yìí ni ó ń sọ ìjáde di àìlèṣe kódà kí ìlànà firewall kankan tó kópa.

Láìsí ètò yẹn, a máa ń yọ ẹ̀rọ náà kúrò pẹ̀lú àwọn ọ̀nà, ọ̀nà àkọ́kọ́ sì lè tún tọ́ka sí gáètìwéi ara. Bóyá yóò ṣe bẹ́ẹ̀ dá lórí pẹtẹ́lì àti ẹ̀rọ, ìyẹn sì ni ìdí pé a gbọ́dọ̀ máa ṣàkíyèsí ipò dípò kí a dá a lẹ́rọ̀. Ka ètò náà sí apá kan kill switch, kì í ṣe àṣàyàn iṣẹ́.

Jẹ́ kí ọ̀nà ìsopọ̀ padà wà láàyè, lẹ́yìn náà dán ipò mẹ́rin wò

Ìdínà líle lè dí ẹ̀rọ náà lọ́wọ́ ìsopọ̀ padà pẹ̀lú, nítorí ẹ̀rọ ṣì nílò ọ̀nà sí server nípasẹ̀ gáètìwéi ara nígbà tí a kọ gbogbo nǹkan mìíràn. Fi ọ̀nà host sílẹ̀ fún àdírẹ́sì kan náà kí tunnel tó gòkè, kí o sì yanjú orúkọ náà kọ́kọ́, nítorí DNS lè ti dí nígbà tí o bá nílò rẹ̀.

ip route add 198.51.100.20/32 via 192.168.0.1 dev wlan0

Lẹ́yìn náà ṣàyẹ̀wò àwọn ipò, kì í ṣe àmì. Mọ̀ọ́mọ̀ gba àwọn àkókò mẹ́rin kọjá: ìbẹ̀rẹ̀ tútù láìsí tunnel, ìpàdé aláílera, ìṣubú tí kò sí ẹni tí ó béèrè, àti ìpàdé lẹ́yìn ìmúpadà. Ní àkókò kọ̀ọ̀kan, ka ọ̀nà àkọ́kọ́ kí o sì ṣe ìbéèrè kan tí àdírẹ́sì ìjáde rẹ̀ hàn. Ètò tí ó juwọ́ sílẹ̀ nígbà tí tunnel wà nísàlẹ̀ kò sọ ohunkóhun nípa ẹ̀rọ mail tàbí ẹ̀rọ ìmúdójúìwọ̀n, nítorí náà tún ṣe àyẹ̀wò ìkẹyìn pẹ̀lú ètò ẹ̀yìn kan. Kọ ìlànà, orúkọ interface àti àwọn ìgbésẹ̀ ìmúpadà sílẹ̀, nítorí kill switch tí kò sí ẹni tí ó lè ṣàyẹ̀wò jẹ́ òkìkí lásán.

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