Ọ̀nà VPN rúta kan nílò ìlànà mẹ́ta fún ẹ̀rọ kan, kì í ṣe tógù
Ọ̀nà VPN rúta fún ẹ̀rọ kan jẹ́ ìtọ́nisọ́nà ìlànà, kì í ṣe àpótí àmì: tábìlì tí a samisi, ìlànà NAT tí ó ní ààlà, pẹ̀lú àwọn ọ̀nà DNS, IPv6 àti LAN tí àwọn ìtọ́sọ́nà ń fò.
Nínú VPN rúta kò sí tógù fún ẹ̀rọ kọ̀ọ̀kan; tógù tí ẹ̀ ń wá ni ọ̀nà kúkúrú tí ó ń kọ àwọn ìlànà ìtọ́nisọ́nà ìlànà fún ọ. Ní àkókò tí kọ̀mpútà kan, ààlà pọ́ọ̀tì kan, àkójọ àdírẹ́sì kan tàbí ẹ̀ka LAN kan gbọ́dọ̀ lo ṣọ́nà nígbà tí gbogbo ohun mìíràn wà ní WAN, ẹ̀ ń kọ́ ọ̀nà ìlànà, kì í ṣe ẹ̀ ń tan ẹ̀yà kan. Iṣẹ́ náà ní ẹ̀ka mẹ́ta tí ń gbé, àti ọ̀kọ̀ọ̀kan ń kùnà ní ọ̀nà ọ̀tọ̀ọ̀tọ̀: tábìlì tí a samisi tí kò ní ọ̀nà dà bí ìdákẹ́jẹ́, àmì tí a fi sínú ẹ̀wọ̀n tí kò tọ́ dà bí ẹni pé kò sí ohun tí ó ṣẹlẹ̀, àti ìlànà NAT tí ó ṣáà dà bí ṣọ́nà tí ó so pọ̀ tí kò sì gbé ohun kankan. Ẹ̀ka méjì mìíràn ń sọnù nítorí wọn kò farahàn nínú ìlànà mangle rárá, àwọn ni DNS àti IPv6.
Àròsọ: ṣọ́nà jẹ́ ètò ẹ̀rọ oníbàárà
Ẹ̀rọ oníbàárà VPN ní ẹ̀gbẹ́ rúta ṣe ọ̀kan tí ó rọ̀ dáadáa: ó fi 0.0.0.0/0 sínú tábìlì ìtọ́nisọ́nà àkọ́kọ́, ó sì darí rẹ̀ sí ṣọ́nà. WireGuard ń yọ èyí láti AllowedIPs, OpenVPN ó sì ń yọ láti redirect-gateway tí sẹ́bà ń tì, àti méjèèjì ń yí ọ̀nà gbogbo ẹ̀rọ tí ó wà lẹ́yìn rúta. Dídín AllowedIPs kù tàbí fífi route-nopull kún yí ohun tí ẹ̀rọ oníbàárà ń gbé kalẹ̀. Kò yí ẹni tí ìgbékalẹ̀ yẹn kàn, nítorí ẹ̀rọ oníbàárà kò rí ẹ̀rọ rárá. Ó kàn ń rí àwọn pákẹ́tì.
Yíyàn nípa orísun tàbí ibi tí ó ń lọ jẹ́ ìpinnu ìtọ́nisọ́nà, nítorí náà ó jẹ́ ti ìpele ìlànà rúta: ìlànà mangle pẹ̀lú tábìlì kejì lórí RouterOS, MARK pẹ̀lú ip rule lórí OpenWrt tàbí DD-WRT, tàbí ìlànà firewall tí ẹnubodè rẹ̀ jẹ́ ṣọ́nà lórí pfSense. Ìlànà ẹ̀rọ oníbàárà WireGuard ti Netgate ni ohun tí ó yẹ kí a kà kí a tó díwọ̀n, nítorí lórí pẹpẹ yẹn ẹnubodè ìlànà, ìpínpín ààlà àti àkọsílẹ̀ NAT tí ó ń jáde gbọ́dọ̀ gbà pẹ̀lú ara wọn kí ẹ̀rọ oníbàárà kan lè lo ṣọ́nà.
Ìdajì kejì àròsọ ni rúta kejì. Ríra àpótí mìíràn, tàbí gbígbé ẹ̀rọ náà lọ sí SSID àlejò, máa ń ṣiṣẹ́, àti ìdí kì í ṣe ẹ̀rọ: ó ń gbé ẹ̀rọ náà sínú ẹ̀ka-orí tirẹ̀, èyí tí ó fún ọ ní olùyàn orísun tí firmware ti lóye. Tí ẹ̀ bá lè ṣàlàyé ẹ̀ka yẹn lórí rúta tí ẹ̀ ní, àpótí àfikún yẹn ń yanjú wàhálà tí ẹ̀ kò ní.
Ẹ̀ka kìíní: ṣọ́nà tí kì í ṣe ọ̀nà àkọ́kọ́
Lórí RouterOS, fi ẹ̀rọ oníbàárà kún láìsí ọ̀nà àkọ́kọ́, kí o sì fún ṣọ́nà ní tábìlì tirẹ̀. Ọ̀nà àkọ́kọ́ ni àkọ́kọ́ tí a samisi; èkejì ni ìdajì ìkùnà.
/ip route add dst-address=0.0.0.0/0 gateway=VPN_GATEWAY_IP routing-mark=vpn distance=1
/ip route add dst-address=0.0.0.0/0 type=unreachable routing-mark=vpn distance=2
Ọ̀nà tí a kò lè dé ni ìdí tí tábìlì tí a samisi fi ń borí àkójọ ìyàtọ̀ nínú tábìlì àkọ́kọ́. Nígbà tí ṣọ́nà bá ṣubú, àwọn pákẹ́tì tí a samisi ń gba àìdé lẹ́sẹ̀kẹsẹ̀ dípò kí wọ́n padà sí WAN ní ìdákẹ́jẹ́, nítorí náà àṣìṣe náà farahàn nínú ìfiránṣẹ́ àṣìṣe ẹ̀rọ, kì í ṣe lórí ojú-ìwé ibùdó tí ẹ̀ ń yẹ̀wò ní wákàtí kan lẹ́yìn.
RouterOS 7 yà ohun tí 6.x pa mọ́ pọ̀: ẹ̀ ń polongo tábìlì pẹ̀lú /routing table add name=vpn fib, lẹ́yìn náà ẹ̀ ń tọ́ka sí i ní orúkọ lórí ọ̀nà àti nínú ìlànà mangle. Ẹ̀ka 6.x tí ń kọ routing-mark láìṣàlàyé tábìlì ń gbé dé dídùn kò sì bá ohunkóhun mu. Ìgbà mìíràn tí ó gbajúmọ̀ ni ìdajì 0.0.0.0/1 méjì, tàbí àkọ́kọ́ méjì ní ibi kan náà nínú tábìlì kan: kọ̀mpútà àárín ń yan ọ̀kan, ìhùwàsí sì lè yí padà lẹ́yìn àtúnbí.
Ẹ̀ka kejì: samisi kí o tó wá ọ̀nà
Olùyàn ni ó ń pinnu irú pákẹ́tì tí yóò wọ inú tábìlì yẹn. RouterOS sábà máa ń bẹ̀rẹ̀ pẹ̀lú àkójọ àdírẹ́sì fún ìlànà ibi tí ó ń lọ, tàbí àdírẹ́sì orísun fún ìlànà ẹ̀rọ:
/ip firewall mangle add chain=prerouting src-address=192.168.88.50 action=mark-routing new-routing-mark=vpn
/ip firewall mangle add chain=prerouting dst-address-list=via-vpn action=mark-routing new-routing-mark=vpn
/ip firewall address-list add list=via-vpn address=203.0.113.10
Firmware Linux ń ṣe bẹ́ẹ̀ pẹ̀lú àmì netfilter àti ìlànà tí ń darí àwọn pákẹ́tì tí a samisi sínú tábìlì tí ẹ̀ kún:
iptables -t mangle -A PREROUTING -p tcp --dport 27000:27050 -j MARK --set-mark 0x200
ip route add default dev tun0 table 100
ip rule add fwmark 0x200 table 100
Ẹ̀wọ̀n kì í ṣe àṣàyàn ara. Nígbà tí pákẹ́tì bá dé FORWARD, wíwá ọ̀nà ti ṣẹlẹ̀ tẹ́lẹ̀, nítorí náà MARK tàbí DROP níbẹ̀ lè kàn tún kọ tàbí sọnù. Àmì gbọ́dọ̀ bọ́ sínú PREROUTING fún ìrìn-àjò tí a ń tẹ̀ síwájú àti sínú OUTPUT fún ìrìn-àjò tí rúta fúnra ń dá, níbi tí DNS, NTP àti àyẹ̀wò ìmúdójúìwọ̀n rúta ń gbé. Ọ̀nà jáde yẹn ni ìdí tí ó sábà máa ń jẹ́ kí ètò tí a fi sínú ṣọ́nà pátápátá ṣì ń dáhùn láti ọ̀dọ̀ olùyànjú ISP nínú àyẹ̀wò ìtasí.
Ìlànà ẹ̀rọ nílò ìbámu tí kì í yọ. Fi àdírẹ́sì pamọ́ nínú DHCP, tàbí bá ààlà mu fún ẹ̀ka pàtàkì; àdírẹ́sì tí yóò lọ sí ẹ̀rọ mìíràn lẹ́yìn ń fi ṣọ́nà kàn ẹ̀rọ oníbàárà tí kò tọ́ ní ìdákẹ́jẹ́. Afárá fún SSID kọ̀ọ̀kan pẹ̀lú ẹ̀ka-orí tirẹ̀ ni ẹ̀yà tí ó dúró pẹ́ tí èròǹgbà kan náà, ó sì fún àwọn ìlànà IPv6 ní ibi láti gbé pẹ̀lú.
Ẹ̀ka kẹta: NAT, DNS àti ìyàtọ̀ LAN
Ìrìn-àjò tí ó ń jáde gba ṣọ́nà nílò àdírẹ́sì orísun tí ẹ̀gbẹ́ kejì yóò dáhùn. Fi ààlà ìtúmọ̀ mọ́ ààlà ṣọ́nà: out-interface=VPN_NAME lórí RouterOS, -o tun0 lórí Linux, àkọsílẹ̀ NAT jáde tí ó bá mu lórí pfSense. Ìlànà masquerade tí kò ní ààlà yẹn ń tún kọ ìrìn-àjò tí ẹ̀ ní lọ́kàn láti fi sílẹ̀, àmì rẹ̀ sì ni pé ẹ̀rọ tí kò sí nínú ṣọ́nà ń pàdánù àdírẹ́sì gbogbogbò rẹ̀.
Ìyàtọ̀ LAN ń dá àwọn ìtàn àtìlẹ́yìn púpọ̀ ju ṣọ́nà fúnra lọ. Tí tábìlì tí a samisi bá ní ọ̀nà àkọ́kọ́ nìkan, ibi tí ẹ̀rọ tẹ̀wé tàbí NAS ń lọ láti ẹ̀rọ tí a yàn yóò bá àkọ́kọ́ yẹn mu, yóò sì pòórá nínú ṣọ́nà. Fi ọ̀nà LAN kún tábìlì kan náà, tàbí yọ ẹ̀ka-orí àdúgbò kúrò nínú olùyàn; méjèèjì ń ṣiṣẹ́, yíyọ kúrò sì rọrùn láti pa mọ́ tọ́ nígbà tí ẹ̀ bá fi VLAN kún lẹ́yìn.
DNS gba ọ̀nà ọ̀tọ̀ọ̀tọ̀. Àwọn ìbéèrè tí rúta ń tẹ̀ síwájú ti rúta wá, wọ́n sì ń tẹ̀lé OUTPUT, kì í ṣe àmì tí a tẹ̀ síwájú, nítorí náà kọ̀mpútà tí a fi sínú ṣọ́nà pátápátá ṣì lè yanjú orúkọ nípasẹ̀ ISP. Darí àwọn ẹ̀rọ oníbàárà sí olùyànjú tí a lè dé nípasẹ̀ ṣọ́nà, tàbí samisi ìrìn-àjò port-53 ti rúta fúnra, lẹ́yìn náà yẹ̀wò àdírẹ́sì tí a yanjú dípò rò pé ìdáhùn náà rìnrìn-àjò pẹ̀lú ìbéèrè wẹ́ẹ̀bù.
Nígbà tí ìlànà bá bá mu ṣùgbọ́n ẹ̀rọ ṣì ń lo WAN
Àwọn àkójọ ibi tí ó ń lọ ń gbó gbó ní àkùnya. Orúkọ kan ń yanjú sí àdírẹ́sì tí kò sí nínú àkójọ, nítorí náà ìbéèrè ń gba WAN nígbà tí gbogbo àyẹ̀wò tí ẹ̀ ṣe lórí àdírẹ́sì tí ó wà nínú àkójọ ń ṣiṣẹ́. Sọ àkójọ di tuntun láti ọ̀dọ̀ olùyànjú kan náà tí ẹ̀rọ oníbàárà ń lò, kí o sì yàn olùyàn tí ó dá lórí orísun nígbà tí ẹ̀ bá fẹ́ gbogbo ìrìn-àjò láti ẹ̀rọ kan gẹ́gẹ́.
IPv6 ni ọ̀nà ẹ̀gbẹ́ tí ó dákẹ́. Ẹ̀rọ ní ẹbí àdírẹ́sì kejì pẹ̀lú ọ̀nà àkọ́kọ́ tirẹ̀ àti àkójọ ìlànà tirẹ̀, bíbá àdírẹ́sì IPv4 nìkan mu jẹ́ ìdajì ìlànà. Lo olùyàn kan náà lórí ip6tables tàbí ohun tí ó bá nftables mu, tàbí pa IPv6 ní ẹ̀ka yẹn mọ́ pẹ̀lú ìmọ̀, kì í ṣe ní àìròtẹ́lẹ̀.
Àwọn ìsopọ̀ tí a ti fi orí ṣe pẹ̀lú ì ṣe pàtàkì pẹ̀lú. Àkọsílẹ̀ conntrack tí a dá kí ìyípadà tó ṣẹlẹ̀ ń tẹ̀síwájú ní ọ̀nà àtijọ́ títí yóò fi parí, nítorí náà aṣàwákiri tí ó wà ní ṣíṣí nígbà àtúnṣe dà bí ìlànà tí a kò lò rárá. Ṣí ìsopọ̀ tuntun, tàbí nu ipò náà, kí o tó ṣe ìdájọ́ ìlànà.
Fi ẹ̀rọ méjì àti àtúnbí kan ṣe ìmúdájú
Dan ẹ̀rọ tí ó yẹ kí ó wà nínú ṣọ́nà àti ẹ̀rọ tí kò yẹ kí ó wà, kí o sì fi ìpele kejì wé àwòrán ìyára. Traceroute láti ọ̀kọ̀ọ̀kan ń fi ẹnubodè ṣọ́nà tàbí ẹnubodè ISP hàn ní ìpele kejì; tí méjèèjì bá dà bí ara wọn, àmì tàbí tábìlì kò ń ṣe ohun tí ìlànà sọ. Lo àwọn ìsopọ̀ tuntun fún àyẹ̀wò.
Lẹ́yìn náà tún bí. Ìtòlẹ́sẹẹsẹ ìbẹ̀rẹ̀ ni ibi tí ìlànà tí ń ṣiṣẹ́ ti ń bàjẹ́, nítorí ẹ̀rọ oníbàárà gbọ́dọ̀ gbé ṣáájú kí a tó gbé ọ̀nà àìdé kalẹ̀, àwòrán tí a fipamọ́ tí ó ń dá àkójọ ìlànà àtijọ́ padà yóò sì tún tábìlì rẹ kọ. Yẹ̀wò pé gbogbo ìlànà wà nínú ìṣètò tí a fipamọ́ àti pé àkọ́kọ́ tí a samisi wà lẹ́yìn ìbẹ̀rẹ̀, kì í ṣe lẹ́yìn tí ẹ̀ kọ ọ́ nìkan.
Tí ohun kan bá kùnà, yọ àmì kúrò kí o wo bóyá ìrìn-àjò déédé padà, lẹ́yìn náà yọ tábìlì kúrò. Ìtòlẹ́sẹẹsẹ yẹn sọ fún ọ bóyá ẹ̀ ń lé wàhálà ìtọ́nisọ́nà tàbí ti firewall, yóò sì fi ẹ̀rọ tẹ̀wé tí ń ṣiṣẹ́ sílẹ̀ fún ilé nígbà tí ẹ̀ ń parí iṣẹ́.