Kí ni ó fà á tí tunnel VPN kejì fi ń ba ti àkọ́kọ́ jẹ́?
Aṣàmúlò VPN kejì ń fi àwọn ọ̀nà àìpín méjì sínú ẹ̀rọ, tunnel àkọ́kọ́ sì di òkùnkùn: ka ọ̀nà tí ó borí, kí o sì pín nípasẹ̀ profáìlì, tábìlì tàbí ààyè orúkọ.
Fífi aṣàmúlò VPN kejì sínú ẹ̀rọ láti dé ọ̀nà àjọṣepọ̀ oníbàárà kan ni ọ̀nà tí ó wọ́pọ̀ tí èyí fi ń bẹ̀rẹ̀, tunnel àkọ́kọ́ sì di òkùnkùn nígbà tí àwọn aṣàmúlò méjèèjì ń jábọ́ àṣeyọrí. Aṣàmúlò kọ̀ọ̀kan fi ọ̀nà àìpín sínú ẹ̀rọ, èkejì jẹ́ àkànṣe jù, kernel sì ń tẹ̀lé e nísinsìnyí fún gbogbo nǹkan àyàfi ìsopọ̀ òde ti tunnel àkọ́kọ́ fúnra rẹ̀. Kò sí nǹkan tí ó ṣubú, kò sì sí profáìlì tí ó jẹ́ aṣiṣe. Ọ̀nà kan rọ́pò èkejì, ojútùú náà ni láti pinnu irú tunnel tí ó yẹ kí ó ní ọ̀nà àìpín.
Àmì: aṣàmúlò kejì ń borí ní ìdákẹ́jẹ́
OpenVPN: àṣàyàn redirect-gateway def1 kò tún 0.0.0.0/0 kọ. Ó ń fi 0.0.0.0/1 àti 128.0.0.0/1 kún un: papọ̀ wọ́n ń bo gbogbo àdírẹ́sì IPv4, prefiksi kọ̀ọ̀kan sì ń borí ọ̀nà àìpín lasan ní gígùn. Ọ̀nà àìpín àkọ́kọ́ ń wà nínú tábìlì, a kò sì ń lò ó fún ìrìnàjò lasan mọ́, ọ̀nà host sí server VPN sì ń dá tunnel dúró láti mú àwọn pákítì òde tirẹ̀. Àwọn aṣàmúlò méjèèjì ń ṣe èyí, èkejì sì kàn ń fi bàbà rẹ̀ sínú ẹ̀rọ lẹ́yìn.
Ìdí nìyí tí tunnel àkọ́kọ́ fi dàbí òkú dípò kí ó já. Interface rẹ̀ wà lókè, ikanni ìṣàkóso rẹ̀ wà láàyè, kò sì sí ìrìnàjò ohun èlò tí ó ń dé ọ̀dọ̀ rẹ̀ mọ́. Ẹ̀sùn òdìkejì ní push tí ó pàdánù kan náà: fọ́nù tí ó ń so mọ́ra ṣùgbọ́n tí kò fi nǹkan ránṣẹ́ sábà ń bá server tí kò kéde redirect-gateway rí gbà, nítorí náà ẹ̀rọ náà ń dá ọ̀nà àìpín tirẹ̀ dúró, ó sì ń dé ibi àkùtàkùtà nìkan.
Ya àwòrán àwọn ọ̀nà kí aṣàmúlò kejì tó so mọ́ra àti lẹ́yìn náà. Àwọn ọ̀nà ààbọ̀ méjì tí ó farahàn nínú tábìlì ni ìyípadà gbogbo, wọ́n sì ń ṣàlàyé ẹ̀sùn méjèèjì. Kò sí nǹkan mìíràn nínú tábìlì tí ó ní láti yí kí àmì náà lè farahàn. Ìdí nìyí tí yíyọ aṣàmúlò kejì kúrò fi ń dá àkọ́kọ́ padà lẹ́sẹẹsẹ.
Ka irú tunnel tí ó borí ní ti gidi
Má ṣe dá ẹni tí ó borí mọ̀ láti inú ìtòlẹ́sẹẹsẹ tí àwọn aṣàmúlò fi bẹ̀rẹ̀ tàbí láti inú àwòrán inú tray. Béèrè lọ́wọ́ kernel ọ̀nà tí yóò lò fún ibi àfojúsùn kan ní òde àwọn nẹ́tíwọ́kì àdáni méjèèjì, kí o sì ka interface tí ó padà.
ip route show
ip route get 198.51.100.24
route print -4
Find-NetRoute -RemoteIPAddress 198.51.100.24
Àwọn méjì àkọ́kọ́ ni ìdáhùn Linux, àwọn méjì ìkẹyìn ni ìbámu Windows. Ṣe wọ́n nígbà tí àwọn tunnel méjèèjì wà lókè, lẹ́yìn náà já ọ̀kan kí o sì tún ṣe wọ́n. Ìyàtọ̀ láàrin àwọn ìjáde méjèèjì ni òtítọ́ tí o nílò kí o tó yan ojútùú, ó sì ń gba àkókò díẹ̀ ju kíka log ti aṣàmúlò kọ̀ọ̀kan.
Ṣàkọsílẹ̀ èsì náà, pẹ̀lú orúkọ interface àti prefiksi tí ó bá mu. Tíkẹ́tì tí ó sọ pé VPN kejì ba ti àkọ́kọ́ jẹ́ ni àpèjúwe àmì, kì í ṣe gbólóhùn ọ̀nà tí ẹnikẹ́ni lè ṣiṣẹ́ lé lórí. Ìwádìí ń sọ ọ́ di òtítọ́ tí ẹlẹ́rọ̀ ìkẹyìn lè tún ṣe pẹ̀lú àṣẹ kan.
Windows: dá profáìlì kan dúró láti ní ọ̀nà àìpín
Windows ń tọ́jú àwọn profáìlì tí a fi pamọ́, aṣàmúlò inú ẹ̀rọ sì ń jẹ́ kí ọ̀kan gbára lé òmíràn kí àkọ́kọ́ lè gòkè wá fúnra rẹ̀ nígbà tí èkejì bá pe. Profáìlì tí ó so mọ́ra kẹ́yìn sábà ń dá ọ̀nà àìpín dúró, nítorí náà olówó ojú-ọ̀nà ni ìpe kẹ́yìn kì í ṣe èkíní. Fún profáìlì kọ̀ọ̀kan ní àwọn ọ̀nà push tirẹ̀, kí o sì tan split tunneling fún èyí tí kò yẹ kí ó ní ọ̀nà àìpín.
Set-VpnConnection -Name "Contoso" -SplitTunneling $true
rasdial Contoso
Split tunneling ń yí èyí padà: àwọn prefiksi tí server fi ránṣẹ́ nìkan ni ó wọ inú tábìlì, èyí sì ń fi ọ̀nà àìpín sílẹ̀ pẹ̀lú tunnel àkọ́kọ́. Ti àwọn ẹ̀rọ méjèèjì bá push ọ̀nà àìpín, àpẹrẹ náà yóò ṣì kùnà, nítorí nígbà náà ìsopọ̀ kẹ́yìn ni yóò borí, kò sì sí ètò ẹ̀gbẹ́ aṣàmúlò tí yóò yí i padà. Tún push ẹ̀gbẹ́ server ṣe tàbí gba olówó kan.
Àwọn profáìlì tí app ń dá sílẹ̀ jẹ́ ẹ̀yà mìíràn, ó sì yẹ kí a mọ̀ ọ́: profáìlì Windows lè bẹ̀rẹ̀ nígbà tí fáìlì ṣíṣe tí a dárúkọ bá bẹ̀rẹ̀, àwọn àlẹ̀mọ́ ìrìnàjò sì pinnu ohun tí ó máa gbé. Èyí jẹ́ ètò profáìlì kì í ṣe ìlànà firewall, ó sì yanjú ìṣòro tí ó yàtọ̀ sí ìforígbárí ọ̀nà àìpín.
Linux: pa tunnel kejì mọ́ ní òde tábìlì àkọ́kọ́
Ṣíṣe àwọn ẹ̀dá openvpn --config méjì lórí ẹ̀rọ kan ń fi àwọn aṣàmúlò méjèèjì sínú tábìlì kan, àwọn àṣàyàn mẹ́ta sì ń yà wọ́n pẹ̀lú ìpadàsí tí ń pọ̀ sí. Èyí tí ó fúyẹ́ jù ni láti dá aṣàmúlò kejì dúró láti ṣàtúnṣe tábìlì rárá: route-nopull pẹ̀lú àwọn ọ̀nà kedere, tàbí script route-up tí ó kàn ń fi ohun tí o ní lọ́kàn sínú. Nígbà náà tunnel kejì ń gbé àwọn prefiksi tí o dárúkọ gan-an, kò sì gbé òmíràn. Nígbà náà ìwọ ni yóò pinnu prefiksi tí yóò lọ sí ibo dípò kí o ṣàwárí rẹ̀ lẹ́yìn.
Ìtọ́sọ́nà ọ̀nà ìlànà ni àṣàyàn ààrin. Ìlànà kan yan tábìlì ọ̀tọ̀ fún àdírẹ́sì orísun kan tàbí àmì firewall, tábìlì yẹn sì ń gbé àwọn ọ̀nà tunnel kejì. Àlẹ̀mọ́ ọ̀nà yíyí padà ni ìdẹkùn níbí, nítorí ìdáhùn tí ó dé lórí interface tí ó yàtọ̀ sí èyí tí tábìlì yóò yàn ni a ń sọ nù, nítorí náà ṣàyẹ̀wò ètò rp_filter kí o tó pinnu pé tunnel ti já.
ip rule add from 10.44.7.0/24 table 100
ip route add default dev tun1 table 100
sysctl net.ipv4.conf.all.rp_filter
Ààyè orúkọ nẹ́tíwọ́kì ni àṣàyàn tí ó wúwo jù àti tí ó mọ́ jù. Bẹ̀rẹ̀ aṣàmúlò kejì nínú ip netns, fún un ní bàbà veth, kí o sì wọ inú ààyè orúkọ yẹn láti lò ó. Ìdálọ́wọ́ ń pòórá nítorí ààyè orúkọ kọ̀ọ̀kan ní àwọn tábìlì tirẹ̀ dípò pínpín ọ̀kan, èyí sì tọ́ síi ní àfikún ètò nígbà tí àwọn tunnel méjèèjì gbọ́dọ̀ wà lókè fún àwọn ọ̀sẹ̀.
Fún ohun èlò kọ̀ọ̀kan, àti ìsokọ́ pọ̀ gẹ́gẹ́ bí ìṣòro ọ̀tọ̀
Nígbà mìíràn, ètò kan ṣoṣo ni ó yẹ kí ó lo tunnel kejì. Ní Linux, ìtọ́sọ́nà ọ̀nà ìlànà nípasẹ̀ olùlò, cgroup tàbí ebute ń dé èsì yẹn, a sì lè so ibi àfojúsùn kan mọ́ interface láìfi ọ̀nà àìpín ọwọ́ kàn rárá. Ohun èlò tí ó so socket rẹ̀ mọ́ interface kan kò béèrè lọ́wọ́ tábìlì ọ̀nà rárá, nítorí náà olùbẹ̀rẹ̀ lè máa lo adapter ti ara títí di ìgbà tí a bá yan àdírẹ́sì nínú ètò tirẹ̀.
Ìsokọ́ pọ̀ jẹ́ ìṣe tí ó yàtọ̀ sí ṣíṣe àwọn tunnel méjì lẹ́gbẹ̀ẹ́ ara wọn. Sísopọ̀ A lórí B túmọ̀ sí pé àdírẹ́sì server inú gbọ́dọ̀ jẹ́ èyí tí a lè dé láti inú tunnel òde. Aṣàmúlò òde kò sì gbọdọ̀ kà àwọn pákítì tí a fi kóòdù pa mọ́ ti aṣàmúlò inú sí ìjáde. Aṣàmúlò kan nínú ẹ̀rọ àfihàn jẹ́ ẹ̀dá tí kò dára púpọ̀ ṣùgbọ́n tí ó ṣe é gbára lé; méjèèjì lórí host kan nílò iṣẹ́ ọ̀nà tí ó wà lókè pẹ̀lú ọ̀nà òde sí server inú tí kò ní wọ tunnel inú láé.
Kọ olówó ọ̀nà àìpín, àkójọ prefiksi tí tunnel kọ̀ọ̀kan ń gbé àti ọ̀nà DNS sílẹ̀. Àwọn òtítọ́ mẹ́ta yẹn ń sọ ìṣẹ̀lẹ̀ tí ó tẹ̀lé di ìwádìí dípò ìwádìí alágbára.