IP olupin kan náà, ọ̀nà méjì: fíṣàmì sí ìṣàn òde OpenVPN
Ọ̀nà olùgbàléjò tí ó yọ olupin VPN kúrò tún yọ HTTPS sí i kúrò. Ṣàmì sí àpò tí a fi pamọ́ níbẹ̀, lẹ́yìn náà fún ìṣàn tí kò ní àmì ní ojú-ọ̀nà.
Ààbò ìyípo tí ó wọ́pọ̀ ni ọ̀nà olùgbàléjò: fi ìṣàn ránṣẹ́ sí àdírẹ́sì gbangba olupin VPN jáde nípasẹ̀ uplink kí ìpàdé tí a fi pamọ́ má bàa wọ inú ojú-ọ̀nà tirẹ̀. Ìyẹn ń ṣiṣẹ́ gan-an títí dé àkókò tí ìwọ pẹ̀lú bá fẹ́ dé ìsìn wẹ́ẹ̀bù lórí olupin kan náà nípasẹ̀ ojú-ọ̀nà, nítorí pé àyọkúrò náà so mọ́ ibi tí ó ń lọ, ibi tí ó ń lọ sì jẹ́ ọ̀kan náà. Ọ̀nà àbájáde ni láti dá ìpínpín nípasẹ̀ ibi tí ó ń lọ dúró, kí ó sì bẹ̀rẹ̀ ìpínpín nípasẹ̀ sọ́kẹ́tì tí ó fi pákẹ́tì ránṣẹ́.
Bẹ̀rẹ̀ pẹ̀lú ìṣàn méjì tí ìwọ fẹ́ pín yà
Ìṣàn kan ni gbígbé OpenVPN tí a fi pamọ́ fúnra rẹ̀, tí ó gbọdọ̀ jáde nípasẹ̀ uplink, bí bẹ́ẹ̀ kọ ojú-ọ̀nà yóò gbé ìsopọ̀ òde tirẹ̀. Èkejì ni ìbéèrè HTTPS lasan sí àdírẹ́sì gbangba kan náà, tí ìwọ fẹ́ kí ó wà nínú ojú-ọ̀nà kí ó lè dé ìsìn láti orísun ojú-ọ̀nà. Ibi tí ó ń lọ kan náà, ní ọ̀pọ̀ ìgbà nọ́mbà ibùdó kan náà, ọ̀nà tí a nílò yàtọ̀.
Nínú àpèjúwe yìí, rò pé alábàáṣepọ̀ kan wà ní 10.90.0.10 nípasẹ̀ tun1, àdírẹ́sì gbangba olupin 198.51.100.25, àti tábìlì àkọ́kọ́ tí a kò fọwọ́ kàn tí ọ̀nà àìdásí tirẹ̀ ń tọ́ka sí uplink lasan. Ẹ̀gbẹ́ olupin pẹ̀lú gbọdọ̀ gba ìsìn wẹ́ẹ̀bù lórí ọ̀nà inú kí ó sì da ìṣàn padà sí orísun ojú-ọ̀nà; fífi pákẹ́tì ránṣẹ́ sí àdírẹ́sì gbangba kò fagi lé olùgbọ́ tàbí ìlànà firewall olupin.
Kí o tó yí ohunkóhun padà, kọ àwọn ìlànà olùgbàléjò tí ó wà báyìí sílẹ̀ kí o sì yan àwọn iye tí ẹnìkankan kò lò: àmì kan, nọ́mbà tábìlì kan àti ipò mẹ́ta ti ìlànà. Pa ọ̀nà padà sínú ẹ̀rọ tí kò gba inú ìsopọ̀ yìí mọ́, nítorí àṣìṣe níbí yóò yọ àǹfààní ìwọ̀nàjínà tirẹ̀ kúrò, kì í ṣe kìkì ba tábìlì aṣàwákiri jẹ́.
Ṣàmì sí sọ́kẹ́tì tí ó gbé àpò náà
Ìṣètò alábàáṣepọ̀ gba àmì fún àwọn pákẹ́tì jáde tí a fi pamọ́, ó sì dá fífi àwọn ọ̀nà sínú dúró fúnra rẹ̀, kí ìlànà àròpo lè jẹ́ ohun kan ṣoṣo tí ó ń pinnu àwọn ọ̀nà:
mark 42
route-noexec
disable-dco
Ẹ̀wádún mẹ́rìndínláàádọ́ta (42) ni hexadecimal 0x2a, àti pé fọ́ọ̀mù hexadecimal ni àwọn ìlànà ìtọ́sọ́nà yóò bá mu. Ìtọ́kasí link-options ṣàpèjúwe mark gẹ́gẹ́ bí ohun tí ó kan àwọn pákẹ́tì jáde tí a fi pamọ́ lórí Linux, ìyẹn gan-an sọ́kẹ́tì tí ìwọ nílò láti ṣàkóso ọ̀nà rẹ̀. Pípa offload ti ọ̀nà dátà kúrò ń pa àpèjúwe yìí mọ́ lórí ọ̀nà ààyè olùlò, níbi tí ìhùwàsí àmì náà jẹ́ èyí tí a ṣàpèjúwe.
route-noexec ń dín àfikún àti yíyọ àwọn ọ̀nà kúrò látọ̀wọ́ OpenVPN. Kò fi ohunkóhun sí ipò wọn, nítorí náà láti àkókò yìí olówó ọ̀nà gbọdọ̀ tọ́jú gbogbo ọ̀nà tí ojú-ọ̀nà nílò. Bí ibi tí ó ń lọ tí ó jẹ́ ti ara ẹni bá pòórá lẹ́yìn ìyípadà, ìyẹn ni ìlànà àròpo tí ó ṣẹ́ kù, kì í ṣe àbùkù nínú àmì.
Má ṣe pa ọ̀nà olùgbàléjò mọ́ nínú tábìlì àkọ́kọ́ fún 198.51.100.25 nígbà tí ìwọ ń ṣe èyí. Irú ọ̀nà bẹ́ẹ̀ á tún mú àyọkúrò náà wọlé gan-an tí apẹrẹ ń gbìyànjú láti dín kù, yóò sì ṣẹ́gun fún ìṣàn HTTPS kí a tó béèrè ọ̀kan nínú àwọn ìlànà tí ó wà nísàlẹ̀.
Fi gbogbo ohun mìíràn ránṣẹ́ sí tábìlì ojú-ọ̀nà
Ní kété tí ààlà ojú-ọ̀nà bá wà tí ó sì di àdírẹ́sì rẹ̀ mú, ìlànà náà yóò rí báyìí:
ip -4 route add default dev tun1 src 10.90.0.10 table 47100
ip -4 rule add priority 20000 lookup main suppress_prefixlength 0
ip -4 rule add priority 20001 not fwmark 0x2a lookup 47100
ip -4 rule add priority 20002 not fwmark 0x2a unreachable
Ìlànà àkọ́kọ́ ń pa àwọn ọ̀nà pàtó ti olùgbàléjò mọ́ ní ojú, pẹ̀lú nẹ́tíwọ́kì àdúgbò kan tí a ti fọwọ́ sí, nígbà tí ó ń sọ ọ̀nà àìdásí ti tábìlì àkọ́kọ́ di aláìrí fún ìwádìí yìí. Ìyàtọ̀ yẹn ṣe pàtàkì: díndín àìdásí kù kì í ṣe ohun kan náà pẹ̀lú àfojúsùn tábìlì, àwọn àyọkúrò àdúgbò tí ìwọ ṣì nílò sì ń yè nípasẹ̀ ìyẹn gan-an. Ka àwọn àyọkúrò yẹn ọ̀kọ̀ọ̀kan dípò ríronú pé àbájáde náà jẹ́ ìdábòbò pàjáwìrì gbogboayé.
Ìṣàn tí kò ní àmì yóò wá ṣubú sínú tábìlì ojú-ọ̀nà, yóò gba orísun ojú-ọ̀nà, yóò sì jáde nípasẹ̀ VPN. Ìṣàn tí ó ní àmì yóò kùnà nínú ìdánwò fwmark lórí ìlànà méjì tí ó tẹ̀le, yóò sì tẹ̀síwájú sí ìwádìí àkọ́kọ́ lasan ní ìsàlẹ̀ àkójọ, níbi tí àìdásí uplink ṣì wà. Ìlànà unreachable tí ó gbẹ̀yìn ni ó ń dá ìṣàn tí kò ní àmì dúró láti ṣubú padà ní ìdákẹ́jẹ́ẹ́ sí uplink nígbà tí ọ̀nà ojú-ọ̀nà bá ṣẹ́. Olùyàn ni àmì náà láti ìbẹ̀rẹ̀ dé ìparí, àdírẹ́sì ibi tí ó ń lọ kò sì kópa nínú ìpinnu rárá.
Pa olùṣọ́ yẹn mọ́ sí ipò rẹ̀ la ìpínyà káàkiri, kí o sì fi í sínú pẹ̀lú ìyókù ìlànà dípò fífi ọwọ́ ṣe é. Ìlànà tí ó pòórá pẹ̀lú ààlà kì í ṣe ìlànà, ìpàdé ni. Pípa ìlànà rẹ́ nígbà tí ojú-ọ̀nà bá ṣubú ń yí ipò ìkùnà padà láti “dídínà” sí “síṣàn jáde”, àti ọ̀nà ojú-ọ̀nà ti ó ti pé tí ó parí nígbà tí ó yá jẹ́ ìṣòro tí ó rọrùn jù láti ṣàlàyé ju ìṣàn tí ó jáde nípasẹ̀ ààlà tí kò tọ́.
Jẹ́ kí ọ̀nà padà rí àmì kan náà
Àwọn àmì jáde jẹ́ ìdajì ẹ̀rọ nìkan, àti pé èyí ni apá tí ọ̀pọ̀ àtúnṣe ń fi sílẹ̀. Àwọn ìdáhùn sí ìpàdé tí a fi pamọ́ ń dé lórí uplink, wọ́n sì wà lábẹ́ ìjẹ́rìí ọ̀nà padà, tí ó béèrè bóyá orísun yóò padà ní ọ̀nà kan náà tí ó gbà wá. Láìsí ìrànlọ́wọ́, ìwádìí yẹn ń lo ìlànà ojú-ọ̀nà tí kò ní àmì rẹ, ó sì parí pé pákẹ́tì wà lórí ààlà tí kò tọ́.
Àtúnṣe náà jẹ́ ti olówó firewall: tọ́jú àmì lórí ìsopọ̀ jáde, dá a padà sórí àwọn pákẹ́tì wọlé tí ó bá mu, kí o sì mú ìmúṣiṣẹ́ àmì tí orísun fi jẹ́rìí ṣiṣẹ́ fún ọ̀nà tí ó kan. OpenVPN fífi àmì sọ́kẹ́tì kò ṣe ọ̀kan nínú àwọn mẹ́ta yẹn, àti pé ìlànà tí ó kàn ṣe àkójọ àwọn àṣàyàn alábàáṣepọ̀ kò pé. Béèrè fún ìsopọ̀ yẹn ní àkọsílẹ̀, nítorí pé òun ni apá tí kò hàn jù nínú apẹrẹ àti èyí tí ó rọrùn jù láti sọnù nígbà àtúntò.
Ṣíṣàyẹ̀wò ọ̀nà padà lọ́nà àìlẹ́kọ̀ọ́ kì í ṣe àròpo pẹ̀lú. Ipò àìlẹ́kọ̀ọ́ ṣì nílò kí ọ̀nà kan wà fún orísun, olùṣọ́ unreachable tí ìwọ fi kún ń yọ ọ̀kan kúrò ní àmọ̀ọ́mọ̀ fún àwọn ìwádìí tí kò ní àmì. Parí kí o sì ṣàyẹ̀wò ìsopọ̀ àmì ìsopọ̀ kí o tó gbára lé apẹrẹ yìí, kí o sì ka àwọn àlẹ̀mọ́ olùgbàléjò gẹ́gẹ́ bí ìbéèrè ọ̀tọ̀ọ̀tọ̀: àmì jẹ́ àmì ìtọ́sọ́nà, kì í ṣe ìgbàláyè. Bí ìsopọ̀ bá ṣẹ́, àmì ni ìpàdé tí ó fìdí kalẹ̀ tí ó sì dákẹ́ ní kété tí àwọn ìdáhùn bá bẹ̀rẹ̀ sí dé.
Fi ìwádìí ọ̀nà méjì fi í hàn
Fi ohun tí kọ́nù ń pinnu fún àwọn ipò méjì wé, kí o sì ka àwọn pápá dev àti src dípò ipò jáde:
ip -4 route get 198.51.100.25
ip -4 route get 198.51.100.25 mark 0x2a
Ìwádìí àkọ́kọ́ gbọdọ̀ yanjú sí tun1 pẹ̀lú orísun ojú-ọ̀nà, èkejì sì sí uplink. Àwọn ìwádìí wọ̀nyí jẹ́ ti àṣẹdá, nítorí náà wọ́n ń fi ìlànà hàn dípò ìlànà tí ń ṣiṣẹ́: jẹ́rìí ọ̀nà gbígbé gidi ti alábàáṣepọ̀ tí ń ṣiṣẹ́ lọ́nà ọ̀tọ̀ọ̀tọ̀, lẹ́yìn náà ṣe ìbéèrè HTTPS gidi pẹ̀lú ìjẹ́rìí ìwé-ẹ̀rí ṣì ṣí.
Kọ ohun tí apẹrẹ kò bo kí o tó polongo pé ó ti parí. DNS, IPv6 àti ìgbésí-ayé àwọn ìlànà kọ̀ọ̀kan nílò ìpinnu tirẹ̀, àti pé èyí jẹ́ àpẹẹrẹ ìtọ́sọ́nà IPv4, kì í ṣe ìṣètò àṣírí pípé. Iye rẹ̀ ni olùyàn: àpò náà gba àyọkúrò uplink, ìsìn lasan ní àdírẹ́sì kan náà kò sì nílò láti jogún rẹ̀.