Kò sí yíyí láti yọ ètò yìí kúrò: fún ìlànà náà ní orísun tirẹ̀
Pípa ọ̀nà ń fi àwọn àdírẹ́sì wé, kì í ṣe orúkọ àwọn ìlànà. Fún ètò tí a yọ kúrò ní orísun àti tábìlì tirẹ̀, tàbí gbé ìpinnu náà lọ sí router, níbi tí ìyẹn bá jẹ́ òtítọ́.
Ètò kan gbọdọ̀ lo ìsopọ̀ déédéé nígbà tí gbogbo àwọn mìíràn wà nínú tunnel, àti pé ẹni tí ń lo ẹ̀rọ náà kò ní yíyí fún ìyẹn. Kò sí àkójọ tí ó fara sin láti wá pẹ̀lú. A ń yan ọ̀nà láti inú àwọn pápá inú packet, packet sì ń gbé àwọn àdírẹ́sì àti port, kì í ṣe ìdánimọ̀ ìlànà tí ó dá a, nítorí náà a gbọdọ̀ fi ìyọkúrò hàn nínú ọ̀kan lára àwọn pápá wọ̀nyí. Tẹ̀lé packet lẹ́ẹ̀kan, àwọn àṣàyàn tí ó wà yóò jáwọ́ ṣíṣe ààmì.
Ìdí tí ẹni tí ń lo ẹ̀rọ kò fi lè pèsè é
Pípa ọ̀nà sí ibi tí a ń lọ ń fi àdírẹ́sì ibi tí a ń lọ wé àwọn àkọ́kọ́pọ̀ àti pé ó ń pa ìbámu tí ó gùn jù. Ní àkókò yẹn gbogbo packet dà bíi kanna, ohunkóhun tí ó dá a. Pípa ọ̀nà nípasẹ̀ ìlànà orísun ń gbèrò ìfiwéra sí àdírẹ́sì orísun, ìyẹn sì ni ìkọ̀ tí gbogbo ojútùú tí ó wúlò ń lò: yí orísun padà, tábìlì mìíràn yóò di ẹni tí ó yẹ.
Àwọn port kò ràn wá lọ́wọ́. Ìyọkúrò nípasẹ̀ port gbọdọ̀ jẹ́ ìgbéléwọ̀n ṣáájú wíwá ibi tí a ń lọ, port kò sì ní ipa kankan nínú ìpinnu yẹn. Ohunkóhun tí a ń polówó gẹ́gẹ́ bí ìyọkúrò tí ó dá lórí port ń yọkúrò nípasẹ̀ pápá mìíràn gan-an, ó sì ń ṣàpèjúwe rẹ̀ lọ́nà tí kò ṣe pọ́kú.
Pípa ọ̀nà gidi nípasẹ̀ ohun èlò wà níbi tí pẹpẹ ti fi ẹ̀rọ kún fún un, bíi àwọn ìpè àlẹ̀mọ́ lórí Windows tàbí ìsopọ̀ iṣẹ́ VPN lórí Android. Ẹ̀dá OpenVPN orí tábìlì kò mú kankan nínú àwọn yẹn wá, kò sì sí àmì ìtòlẹ́sẹẹsẹ tí ó dá a.
Linux: sami ìlànà náà, lẹ́yìn náà pa ọ̀nà sí àmì náà
Ọ̀nà tí ó mọ́ jù ń so ìpinnu mọ́ ìlànà tí ó ni socket. Ìbámu owner ń ṣiṣẹ́ fún ìrìnàjò tí a dá níbílẹ̀ nínú ẹ̀wọ̀n OUTPUT, nítorí náà àmì tí a fi síbẹ̀ lè yan tábìlì ọ̀tọ̀ọ̀tọ̀:
iptables -t mangle -A OUTPUT -m owner --uid-owner 1001 -j MARK --set-mark 0x1
ip rule add fwmark 0x1 table 200
ip route add 192.168.1.0/24 dev eth0 src 192.168.1.0 table 200
ip route add default via 192.168.1.1 dev eth0 table 200
Àwọn packet láti ọ̀dọ̀ olùlò 1001 yóò wá béèrè tábìlì 200, wọ́n yóò sì jáde nípasẹ̀ ẹnubodè déédéé, nígbà tí tábìlì àkọ́kọ́ ṣì ń fi gbogbo àwọn mìíràn ránṣẹ́ sínú tunnel. Ìbámu owner kàn wà fún àwọn packet tí a dá níbílẹ̀, ìyẹn gan-an ni ìrìnàjò tí ó ṣe pàtàkì níbí, kò sì lè ṣe ìpín àwọn packet tí a fi ránṣẹ́ fún ẹrọ mìíràn. Fi àwọn irinṣẹ́ wò ó, kì í ṣe pẹ̀lú èrò: ss -tnp ń fi àdírẹ́sì ibílẹ̀ àti ìlànà tí ó ni àwọn ìsopọ̀ tí ó ti wà hàn, ip route get 1.1.1.1 mark 0x1 sì ń fi tábìlì tí àmì náà yàn hàn.
Àyè orúkọ nẹ́tíwọ́kì ni ìdáhùn tí ó le jù fún ètò tí ó dúró fún ara rẹ̀, nítorí gbogbo socket tí a dá nínú rẹ̀ ni a so mọ́ ọn nípasẹ̀ ìkọ́lé, nítorí náà àwọn ìlànà olùrànlọ́wọ́ àti àwọn ìsopọ̀ ọmọ yóò jogún ìhùwàsí láìjẹ́ ìpín rárá. Iye náà ni iṣẹ́ pọ́ọ̀mù: bata veth kan, àdírẹ́sì ní ẹ̀gbẹ́ kọ̀ọ̀kan, àti ọ̀nà àkọ́kọ́ nínú àyè orúkọ tí ó ń tọ́ka padà sí ẹrọ.
ip netns add novpn
ip link add veth-host type veth peer name veth-ns
ip link set veth-ns netns novpn
ip addr add 10.200.0.1/24 dev veth-host
ip netns exec novpn ip addr add 10.200.0.2/24 dev veth-ns
ip netns exec novpn ip route add default via 10.200.0.1
Windows: ibi tí a ń lọ ṣì ń pinnu
Windows ń yan interface tí ó ń jáde láti ibi tí a ń lọ, nítorí náà ètò tí ó fẹ́ ọ̀nà mìíràn gbọdọ̀ yí ohun kan padà tí stack ń béèrè kí ìyàn yẹn tó ṣẹlẹ̀. ForceBindIP ń bo ìdajì àkọ́kọ́: ó ń bẹ̀rẹ̀ ètò kan pẹ̀lú àwọn socket tí a ti so mọ́ àdírẹ́sì ibílẹ̀ tí o dárúkọ. Ìyẹn nìkan kò yí interface tí packet ń gbà jáde padà, nítorí ibi tí a ń lọ ṣì ń yan ọ̀nà. So orísun kan mọ́ laptop tí ọ̀nà àkọ́kọ́ rẹ̀ ń tọ́ka sínú tunnel, packet yóò ṣì wọ tunnel.
Àmì náà ní ìrísí tí a lè kà ní kété tí o bá mọ̀ ọ́. Ó wà fún àdírẹ́sì LAN tí interface tí a yàn ń dé lórí rẹ̀ tààrà, ó sì ń kùnà fún ohunkóhun lórí íńtánẹ́ẹ̀tì tí ọ̀nà rẹ̀ ń tọ́ka sí tunnel. Ó tún dà bíi pé ó ń ṣiṣẹ́ títí ètò yóò fi fi iṣẹ́ fún olùrànlọ́wọ́, nítorí olùrànlọ́wọ́ tí ó ṣí socket tirẹ̀ ni a kò sọ fún nípa ìsopọ̀ náà rí.
Gbé ìpinnu lọ nígbà tí ìlànà kan bá jẹ́ ẹ̀yà tí kò tọ́
Bí ohun tí a nílò gan-an bá jẹ́ ẹ̀rọ kì í ṣe ètò, gbé e sí SSID tàbí VLAN tirẹ̀ kí router pinnu: orísun yẹn yóò gba ọ̀nà déédéé nígbà tí àwọn orísun mìíràn ń lo tunnel. Ẹrọ ẹnubodè ọ̀tọ̀ọ̀tọ̀ ni àpẹẹrẹ òtítọ́ mìíràn: ó ń dá VPN dúró, ó sì ń gba àwọn ibi tí router ń rán sí i nìkan. Lórí VLAN, ìlànà ń bo gbogbo ṣíṣàn tí ẹ̀rọ náà bá ṣí, pẹ̀lú àwọn ìlànà olùrànlọ́wọ́ tí ó fọ́ ọ̀nà Windows. Pàṣípààrọ̀ náà ni ìwọ̀n: àwọn ètò méjì lórí ẹ̀rọ yẹn kò lè ṣe àdìí sí i lọ́nà ọ̀tọ̀ọ̀tọ̀ mọ́.
Méjèjì ni ìlànà orísun tàbí ibi tí a ń lọ pẹ̀lú ìwọ̀n tí a lè sọ nínú gbólóhùn kan. Kò sí ọ̀kan tí ó jẹ́ ti ohun èlò kọ̀ọ̀kan, àpẹẹrẹ tí ó ń polówó ara rẹ̀ gẹ́gẹ́ bí ti ohun èlò kọ̀ọ̀kan yóò kùnà nígbà àkọ́kọ́ tí ètò bá fi iṣẹ́ rẹ̀ fún ìlànà kejì.