tun tí a ti ṣẹ̀dá ṣáájú nínú OpenVPN: ìfiwéra àwọn àwòrán ìní méjì
A lè tún lo tun ìkànnì tí a ti ṣẹ̀dá ṣáájú, ṣùgbọ́n ẹ̀ka kan ṣoṣo ló yẹ kí ó ní àwọn àdírẹ́sì àti àwọn ọ̀nà rẹ̀. Fi àwọn àwòrán méjèèjì wéra kí o tó fi ifconfig-noexec kún un.
Ẹnìkan ṣẹ̀dá tun1 ṣáájú, fáìlì ìtọ́kasí sọ dev tun1, iṣẹ́ ìsopọ̀ kò sì tíì so mọ́. Wíwà orúkọ lórí agbàlejò kò sọ nǹkan kan fẹ́rẹ̀ẹ́, nítorí pé ìsopọ̀ sinmi lórí àyè orúkọ, irú ẹ̀rọ, ẹni tí ó ní ìsopọ̀ àti ohun tí a gbà fún daemon láàyè láti ṣe. Lílo ẹ̀rọ lẹ́ẹ̀kan sí i tún fipá mú ìpinnu kan tí ìṣètò àkọ́kọ́ fi pamọ́: ẹ̀ka wo ni ó ń kọ àwọn àdírẹ́sì àti àwọn ọ̀nà. Àwọn ọ̀nà ìkùnà ti ìṣètò méjèèjì yàtọ̀ púpọ̀ ju àwọn ìlà ìṣètò lọ, nítorí náà pinnu kí o tó ṣàtúnṣe fáìlì ìtọ́kasí.
Orúkọ kì í ṣe ìsopọ̀
dev tun1 béèrè lọ́wọ́ OpenVPN fún ìkànnì tí a pè ní orúkọ yẹn, àwọn ìkọ́ àtọwọ́dá àyè olùlò ìbílẹ̀ yóò sì gbìyànjú láti ṣí i. Bí orúkọ kò bá tẹ̀lé àpẹẹrẹ tun tàbí tap tí ó wọ́pọ̀, fáìlì ìtọ́kasí tún nílò dev-type tí ó bá a mu, nítorí pé a kì í fi irú ẹ̀rọ yọ láti inú ìlà ọ̀rọ̀. Ẹ̀rọ TAP kì í ṣe ẹ̀rọ TUN pẹ̀lú àmì mìíràn: sísopọ̀ ẹni tí kò tọ́ yálà kùnà lẹ́sẹ̀kẹsẹ̀ tàbí ó dá ìsopọ̀ tí ó ń gbé àwọn férémù tí ẹnikẹ́ni kò retí. Ṣàyẹ̀wò irú rẹ̀ ṣáájú gbogbo nǹkan mìíràn, nítorí pé gbogbo àyẹ̀wò tó tẹ̀le ń rò pé àwọn ẹ̀gbẹ́ méjèèjì gbà sí i. Lẹ́yìn náà, jẹ́rìí pé ìlànà náà lè ṣí ẹ̀rọ náà gan-an, kì í ṣe kìkì rí i.
dev tun1
dev-type tun
Ìkànnì nẹ́tíwọ́kì àti /dev/net/tun jẹ́ nǹkan ọ̀tọ̀ọ̀tọ̀: ọ̀kan jẹ́ ìsopọ̀ nínú àyè orúkọ, èkejì jẹ́ ẹ̀rọ lẹ́tà tí ètò àyè olùlò ń lò láti sopọ̀. ìwé Linux TUN/TAP ṣàlàyé ọ̀nà ìsopọ̀ yẹn àti àwọn òfin ìní fún àwọn ẹ̀rọ tí ó dúró ṣinṣin. Shell root tí ó lè ṣe ip link ń fi kìkì hàn pé shell ní àṣẹ, kì í ṣe pé daemon ní i. Ìní orí ẹ̀rọ, àkójọ agbára iṣẹ́ náà àti olùlò tí ó ń ṣiṣẹ́ lábẹ́ rẹ̀ gbọdọ̀ bára wọn mu kí ṣíṣí náà tó ṣàṣeyọrí.
Ẹ̀rọ tí ó wà tí kò sì ṣí jẹ́ ìṣòro ìní, kì í ṣe ìṣòro ìtọ́sọ́nà. Tẹ̀ lé e bẹ́ẹ̀ nígbà àtúpalẹ̀ àṣìṣe, bí bẹ́ẹ̀ kọ́ ọ̀sán yóò lọ sí kíkà àwọn tábìlì ọ̀nà tí kò jẹ́ ìṣòro rí.
Ta ni ó ń ṣètò ìsopọ̀: àwọn àwòrán ìní méjì
Nínú àwòrán àkọ́kọ́ OpenVPN ń ṣètò àwọn àdírẹ́sì àti àwọn ọ̀nà gẹ́gẹ́ bí apá kan ìgbéga ìsopọ̀. Ìyẹn ni ìwà àkọ́kọ́ àti èyí tí ó rọrùn jùlọ láti ronú lé lórí, nítorí pé ẹ̀ka kan ṣoṣo ń dá ipò náà àti lẹ́yìn náà ó yọ ọ́ kúrò. Nínú àwòrán ẹ̀kejì olùṣàkóso òde ní ìkànnì náà, ifconfig-noexec sì ń dá OpenVPN lọ́wọ́ láti ṣe àwọn àṣẹ ìṣètò àdírẹ́sì rẹ̀, ó sì ń fi àwọn pátákó fún àwọn skripti. Nígbà náà olùṣàkóso gbọdọ̀ fi ìṣètò ibílẹ̀ àti ti alábàákẹ́gbẹ́ tí ó tọ́ sílò fúnra rẹ̀, èyí tí ó pọ̀ ju bí orúkọ àṣàyàn náà ṣe dábàá lọ. Yíyàn láàrin àwọn méjèèjì jẹ́ ìbéèrè nípa ẹni tí ó lè yí ìsopọ̀ padà nígbà tí ó wà lókè.
ifconfig-noexec ń bo àwọn àdírẹ́sì nìkan: tábìlì ìtọ́sọ́nà kò ní í fọwọ́ kàn, ìṣètò àwọn ọ̀nà sì jẹ́ ti route-noexec. Wo àwọn ìtọ́ni méjèèjì gẹ́gẹ́ bí ìṣàkóso ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àwọn olówó ọ̀tọ̀ọ̀tọ̀, nítorí pé gbígbé ọ̀kan kalẹ̀ àti ríronú èkejì jẹ́ orísun tí ó wọ́pọ̀ fún àwọn ìsopọ̀ tí a ṣètò lọ́nà ìdajì. Yan olówó kan gbáà fún gbogbo pẹ̀tẹ́lẹ̀, àwọn àdírẹ́sì ní ibi kan àti àwọn ọ̀nà ní ibi kan. Olùṣàkóso nẹ́tíwọ́kì àti olùrànlọ́wọ́ VPN tí àwọn méjèèjì ń kọ àdírẹ́sì ni ọ̀nà tí ìpínyà fi ń pa ipò rẹ́ tí ẹ̀gbẹ́ kejì ṣì gbára lé.
Ṣàyẹ̀wò ẹ̀rọ náà láti inú àyè orúkọ tí ó ṣe pàtàkì
Ṣàyẹ̀wò ẹ̀rọ náà láti inú àyè orúkọ tí ìlànà VPN ń ṣiṣẹ́, kì í ṣe láti inú èyí tí shell rẹ wà lábẹ́ ààrà. Àwọn àṣẹ méjèèjì ní ìsàlẹ̀ ń dáhùn àwọn ìbéèrè ọ̀tọ̀ọ̀tọ̀, ìyàtọ̀ sì ń farahàn nígbà tí agbàlejò rí ìkànnì tí kọ́ńtéínà kò rí. Ṣe wọ́n ní ìtẹ̀léra tí a fún, nítorí pé èkejì ní ìtumọ̀ nìkan lẹ́yìn tí o bá mọ̀ bóyá ìsopọ̀ wà rárá.
ip -details link show dev tun1
ip tuntap show
Àṣẹ àkọ́kọ́ ń tẹ̀ ìsopọ̀ jáde gẹ́gẹ́ bí kérúnẹ́lì ṣe rí i, pẹ̀lú àwọn àsíá àti irú ìkànnì, àti bẹ́ẹ̀ ni o ṣe ń jẹ́rìí pé èyí ni ẹ̀rọ tí o ní lọ́kàn. Èkejì ń kọ àwọn àkọsílẹ̀ tun/tap tí ó dúró ṣinṣin, tí wọ́n wà láìsí ìlànà kankan tí ó dì wọ́n mú. Ìkànnì tí ń dúró de olówó rẹ̀ tí a yàn jẹ́ ipò tí ó yàtọ̀ sí ọ̀nà abẹ́lẹ̀ alààyè tí a so mọ́ VPN mìíràn, àti èkejì nìkan ni ó ṣàlàyé ìdí tí ìsopọ̀ rẹ fúnra rẹ̀ fi ń kùnà. Wá ìlànà tí ó dì ẹ̀rọ náà mú kí o tó yí nǹkan kan padà, nítorí pé àkọsílẹ̀ tí ó dúró ṣinṣin àti ìkànnì tí ó dí lọ́wọ́ ní àwọn ojútùú ọ̀tọ̀ọ̀tọ̀.
Àtìlẹ́yìn ọ̀pọ̀ ìlà jẹ́ ètò awakọ̀ pàtó pẹ̀lú àwọn ohun tí ó nílò fúnra rẹ̀, kì í ṣe àṣẹ fún àwọn ìlànà tí kò ní ìbáṣepọ̀ láti pín ìkànnì kan. Ìpàdé alààyè ti olówó mìíràn jẹ́ ìṣòro ìfọwọ́sowọ́pọ̀, kò sì sí àtúnṣe fáìlì ìtọ́kasí tí ó yanjú rẹ̀.
Àwọn irú ìdúró ṣinṣin méjì
Ìdúró ṣinṣin kérúnẹ́lì àti persist-tun ń ṣàpèjúwe àwọn ìgbà ayé tí ó rọrùn láti dàpọ̀ àti tí ó wọ́n láti ṣàṣìṣe. Ẹ̀rọ tí ó dúró ṣinṣin wà láìsí ìlànà kankan, nítorí náà ó ń yè ìdúró, ìbẹ̀rẹ̀ tí ó tẹ̀le sì lè tún lò ó. persist-tun ń pa àwọn ohun àmúṣọrọ̀ mọ́ káàkiri àwọn àtúntò rírọ̀ tí a ṣe àtìlẹ́yìn nínú ìlànà OpenVPN kan, ojú-ọ̀nà tí ó kúrú gan-an. Kò sí èyí tí ó ṣèlérí pé dídúró iṣẹ́ náà yóò fi àwọn ọ̀nà àti àdírẹ́sì sí ibi wọn, ìkànnì tí ó ṣì farahàn kì í sì ṣe ẹ̀rí ìpàdé pípamọ́ tí ń ṣiṣẹ́.
Jẹ́rìí backend pẹ̀lú, nítorí pé ìkànnì tí a ṣẹ̀dá ṣáájú kò sọ nǹkan kan nípa irú ìmúṣẹ tí yóò ṣí i. Àwọn ìkọ́ àgbègbè tí ó gbé ọ̀nà dátà tààrà yóò gbìyànjú láti lò ó àyàfà, bí àpẹẹrẹ kò bá sọ ohun mìíràn. Níbi tí ẹ̀yà náà ṣe àtìlẹ́yìn fún yíyí padà, disable-dco yan ọ̀nà àyè olùlò dípò; àwọn ẹ́ńjìn àtijọ́ àti àwọn oníbàárà mìíràn kò ní irú ìtọ́ni bẹ́ẹ̀, nítorí náà pa àídájú ẹ̀yà mọ́ lẹ́gbẹ̀ẹ́ àṣàyàn náà, má ṣe rò pé ó kan.
Kí ni ó ń bàjẹ́ nígbà tí a bá ṣàyẹ̀wò ìbẹ̀rẹ̀ nìkan
Àdéhùn ìní lè kọjá ìdánwò àkọ́kọ́ kí ó sì kùnà nínú èyí tí ó kẹ́yìn, èyí tí ó sọ ìbẹ̀rẹ̀ di àyẹ̀wò aláìlágbára ní èyí nìkan. Dípò èyí ṣàkíyèsí àwọn ìyípadà méjì: àtúntò rírọ̀, àti ìdúró pátápátá tí ìbẹ̀rẹ̀ tẹ̀le.
systemctl status openvpn-client@lab
ip -details link show dev tun1
Ìbẹ̀rẹ̀ ni ọ̀ràn tí ó rọrùn: ẹ̀ka náà gòkè, ìsopọ̀ farahàn, ìjáde ipò sì dárúkọ fáìlì ìtọ́kasí tí a gbé wọlé. Ìsopọ̀ ni àkókò tí daemon ṣí ẹ̀rọ náà, nítorí náà ṣe àyẹ̀wò ìsopọ̀ lẹ́yìn tí ẹ̀ka náà bá jábọ̀ pé ó ń ṣiṣẹ́, kì í ṣe ṣáájú. Bí ìsopọ̀ bá wà nígbà tí ipò ṣì ń ṣiṣẹ́, o ń wo ẹ̀rọ tí ó dúró ṣinṣin tí ẹnikẹ́ni kò tíì sopọ̀ mọ́, kì í ṣe ọ̀nà abẹ́lẹ̀ tí ń ṣiṣẹ́. Jẹ́ kí ìrìnnà gidi gba ìsopọ̀ kọjá kí o tó tẹ̀síwájú, nítorí pé ìkànnì tí a so pẹ̀lú àìsí ọ̀nà tí ó ṣe é lò ṣì jẹ́ ìkùnà.
kill -SIGHUP $(pidof openvpn)
journalctl -u openvpn-client@lab -n 40
systemctl stop openvpn-client@lab
ip -details link show dev tun1
Àtúntò rírọ̀ yẹ kí ó fi ìpàdé sílẹ̀ ní àràmáàṣà àti àwọn ohun àmúṣọrọ̀ ní àìdí, èyí sì ni iṣẹ́ tí persist-tun ń ṣe. Ìdúró pátápátá ni ibi tí olùṣàkóso òde fi ara rẹ̀ hàn: bí ìsopọ̀ tàbí àwọn àdírẹ́sì rẹ̀ bá yè ìdúró náà, ẹnì mìíràn ni ó ní wọ́n, ìyẹn sì jẹ́ ipò tí o kọ sílẹ̀ tàbí àṣìṣe tí o ṣẹ̀ṣẹ̀ rí. Kọ àwọn àkíyèsí méjèèjì sẹ́gbẹ̀ẹ́ fáìlì ìtọ́kasí, kí ìyípadà tí ó tẹ̀le lè bẹ̀rẹ̀ láti ẹ̀rí dípò àwòrán.