Ẹnu-ọ̀nà VPN lórí Raspberry Pi: káàdì nẹ́tíwọ́kì kan tàbí ojú-ọ̀nà olùbára lọ́tọ̀ọ̀tọ̀
Ojú-ọ̀nà kan ṣoṣo ti Pi lè sin àwọn olùbára tí a yàn, tàbí ojú-ọ̀nà kejì lè dì àwọn ẹ̀rọ mọ́ inú. Yan ọ̀nà nípa ìyàsọ́tọ̀, ìlànà àfẹ̀yìnbò àti ẹni tí ó ni DNS.
O ní Pi kan, profáìlì VPN kan tí ń jáde tí ó ń ṣiṣẹ́, àti ẹ̀rọ méjì tí ó yẹ kí wọ́n dé íńtánẹ́ẹ̀tì nípasẹ̀ rẹ̀. Ìbéèrè tí ó pinnu gbogbo ìkọ́ ni kì í ṣe irú ìwé ìtọ́sọ́nà tí a tẹ̀lé, bí kò ṣe iye ìyàsọ́tọ̀ tí o nílò. Ojú-ọ̀nà kan jẹ́ kí Pi dúró lẹ́gbẹ̀ẹ́ àwọn ẹ̀rọ náà lórí LAN ti rótà àti ṣiṣẹ́ gẹ́gẹ́ bí ẹnu-ọ̀nà àfikún; ojú-ọ̀nà kejì jẹ́ kí o gbé wọn sí apá kan níbi tí Pi jẹ́ ọ̀nà àbájáde kan ṣoṣo. Ohun gbogbo lẹ́yìn yíyàn yẹn — DHCP, ìwọ̀n odi iná, DNS, ipò ìdádúró — wá láti inú rẹ̀.
Báwo ni ọ̀nà méjì náà ṣe yàtọ̀ gan-an
Ọ̀nà méjì náà ń darí ọ̀nà. Ìyàtọ̀ ni ẹni tí ó tún dúró lórí okùn àti ohun tí ó ṣẹlẹ̀ nígbà tí ìlànà rẹ bá ṣe àṣìṣe.
| Layout A: Pi on the ISP LAN | Layout B: dedicated client port | |
|---|---|---|
| Cabling | One Ethernet port, existing switch port | Two interfaces: uplink plus a separate LAN port |
| Can a client bypass the Pi? | Yes, by using the ISP router as its gateway | No, unless the device has another radio or link |
| Who hands out addresses | The ISP router, with a per-client setting or a DHCP option | The Pi, on its own LAN interface only |
| Blast radius of a mistake | Any LAN host, if a rule is too broad | The attached segment |
| Good fit for | One laptop, a console, a temporary test client | Appliances, always-on boxes, untrusted devices |
Òpó gidi ni ìyàsọ́tọ̀. Ọ̀nà A jẹ́ ìgbìmọ̀: ẹ̀rọ tí ó kọ ẹnu-ọ̀nà DHCP sílẹ̀ tí ó sì yan rótà ṣì ń ṣiṣẹ́, ṣùgbọ́n láìsí ìkọ̀wé. Ọ̀nà B ni ìṣètò ẹ̀rọ ń fipá mú, nítorí kò sí ìgbésẹ̀ kejì mìíràn láti yàn.
Ọ̀nà A: Pi gẹ́gẹ́ bí ẹnu-ọ̀nà àfikún lórí LAN tí ó wà
Sá àbá pé rótà ISP ni 192.168.50.1, Pi ni 192.168.50.2, àwọn olùbára tí a yàn sì ń tọ́ka sí Pi. Ohun pàtàkì ni pé ìṣàn àpò méjì ọ̀tọ̀ọ̀tọ̀ ń pín okùn kan. Àpò inú ti olùbára dé Pi, ó sì gbọ́dọ̀ jáde nípasẹ̀ ihò; àpò tí a kọ̀wé ti Pi fún ẹlẹgbẹ́ VPN gbọ́dọ̀ jáde nípasẹ̀ okùn kan náà sí rótà. Wọ́n ń rìn ní ọ̀nà ìdíkejì lórí ojú-ìsopọ̀ kan, wọ́n sì nílò ìtọ́jú ọ̀tọ̀ọ̀tọ̀.
Fún Pi ní àdírẹ́sì rẹ̀ nípasẹ̀ olùṣàkóso nẹ́tíwọ́kì tí a fi sórí ẹ̀rọ, kì í ṣe nípasẹ̀ ọ̀nà ìwé ojú-ìsopọ̀ àtijọ́ tí ó ń jà pẹ̀lú rẹ̀ fún ẹ̀rọ náà. Lẹ́yìn náà ṣètò àwọn olùbára: ẹnu-ọ̀nà dúró lórí ẹ̀rọ kan, tàbí ìpamọ́ DHCP tí ó ń fún 192.168.50.2 gẹ́gẹ́ bí rótà. Má ṣe yí gbogbo ìwọ̀n DHCP ti rótà padà nítorí ẹ̀rọ méjì, kí o má sì ro pé olùbára bọ̀wọ̀ fún yíyàn yẹn — ṣàyẹ̀wò.
Àìlera jẹ́ ti ìṣètò, kì í ṣe èyí tí a lè tún ṣe. Olùbára kankan ní apá yẹn lè tọ́ka sí 192.168.50.1 kí ó sì jáde ní ọ̀rọ̀ tí ó ṣe kedere, ẹ̀rọ tí ó ní ojú-ìsopọ̀ kejì tàbí rédíò alágbèéká sì fi ọ̀nà ìmúṣẹ rẹ sílẹ́ pátápátá. Bí gbólóhùn yẹn kò bá tẹ́wọ́gbà fún ẹ̀rọ náà, ìdáhùn ti wà lọ́wọ́ rẹ: lo ọ̀nà B.
Ọ̀nà B: ojú-ọ̀nà lọ́tọ̀ọ̀tọ̀ ń dì àwọn ẹ̀rọ mọ́ inú
Níbí, Pi ń pa 192.168.50.2 mọ́ lórí ìsopọ̀ òkè pẹ̀lú ẹnu-ọ̀nà 192.168.50.1, ó sì gba 10.20.0.1/24 lórí ojú-ìsopọ̀ kejì fún àwọn ẹ̀rọ tí ó so pọ̀. Báyìí Pi jẹ́ rótà tí ó ní nẹ́tíwọ́kì méjì, apá tí ó so pọ̀ sì ní ọ̀nà àbájáde kan gbáà.
Ṣàyẹ̀wò ìwọ̀n náà pẹ̀lú ohun gbogbo mìíràn kí o tó dá ara rẹ lẹ́jọ́: ẹ̀yà nẹ́tíwọ́kì ti ihò fúnra rẹ̀, àwọn àkọ́sọ́nà mìíràn láàrín àwọn ibi, àti ohun gbogbo tí a lè dé nípasẹ̀ VPN. 10.20.0.0/24 tí ó ń gbá pẹ̀lú LAN jíjìnnà ń fúnni ní àbájáde ààbọ̀-ṣíṣe tí àyẹ̀wò rẹ̀ ń gba ìrọ̀lẹ́ kan. Bí ojú-ọ̀nà kejì bá jẹ́ adáptà USB, jẹ́rìí pé a ń gbà á, kí o sì kan orúkọ rẹ̀ mọ́ olùṣàkóso nẹ́tíwọ́kì kí ìtòlẹ́sẹẹsẹ lẹ́yìn àtúnbẹ̀rẹ̀ má ṣe gbé àdírẹ́sì LAN rẹ.
Ṣiṣẹ́ olùgbọ́ DHCP lórí ojú-ìsopọ̀ yẹn nìkan. Sẹ́bà tí ó ń dáhùn lórí ìsopọ̀ òkè ń díje pẹ̀lú rótà ISP, ó sì ń fún ìyókù ilé ní àwọn àdírẹ́sì apá rẹ. So ó mọ́ ojú-ìsopọ̀ LAN, fi ààlà ìwọ̀n tí a kédè mọ́ ọn, kí o sì pa àdírẹ́sì Pi fúnra rẹ̀ mọ́ ní ìta kànga.
Ìgbésẹ̀, ìtumọ̀ àti òfin pípadé nígbà ìkùnà
A sábà máa ń ṣàpèjúwe nǹkan mẹ́rin gẹ́gẹ́ bí ọ̀kan, wọn kò sì jẹ́ ọ̀kan. Lílè mú ìgbésẹ̀ (net.ipv4.ip_forward=1) ń sọ fún kérúnẹ́lì pé ó lè gbé àpò káàkiri àwọn ojú-ìsopọ̀; fúnra rẹ̀ kò gbà ohunkóhun láyè, kò sì ṣe ìdánilójú ọ̀nà kankan. Yíyan ọ̀nà àbájáde ni ìpinnu ìdarí ọ̀nà. Gbígba àpò láyè ni ìpinnu ìlànà nínú ẹ̀wọ̀n forward. Kíkọ orísun rẹ̀ padà ni ìpinnu postrouting. Ìkọ́ tí ó ṣe èkínì nìkan yóò fúnni ní Pi tí ó ń fi ìdùnnú gbé ìrìnàjò àwọn olùbára jáde nípasẹ̀ ìsopọ̀ òkè.
Fi ààlà ìyọ̀ǹda mọ́ àwọn orísun tí o ní lọ́kàn àti ojú-ìsopọ̀ tí ìrìnàjò gbọ́dọ̀ lò, kí o sì fi ọ̀nà ìpadà àti àwọn ibi tí Pi nílò kún un. Lẹ́yìn náà ṣe ìtumọ̀ ní àbájáde ihò bí olùpèsè kò bá ń darí àkọ́sọ́nà LAN rẹ padà sí ọ̀dọ̀ rẹ. ìwé ìtọ́sọ́nà nftables ń wo ìgbésẹ̀, àbájáde ìbílẹ̀ àti ìtumọ̀ orísun gẹ́gẹ́ bí àwọn iṣẹ́ ọ̀tọ̀ọ̀tọ̀, èyí sì ni àwòrán ìrònú tí ó tọ́ níbí.
Ìkùnà tí ó wọ́pọ̀ ni òfin masquerade gbòòrò lórí ojú-ìsopọ̀ ti ara. Nígbà náà ìrìnàjò ń dé íńtánẹ́ẹ̀tì nípasẹ̀ ọ̀nà ISP nígbà tí, ní ẹ̀gbẹ́ olùbára, ó dà bí VPN tí ń ṣiṣẹ́ gan-an. Ìyẹn kò fi ohunkóhun hàn. Pa ìtumọ̀ mọ́ àbájáde tí a kédè, kí o sì pa àwọn òfin rẹ mọ́ nínú odi iná tí olùgbàlejò ti ń lò, dípò kíkún ohun tí ó ń díje tí ó ń sọ ẹ̀wọ̀n postrouting tí a pín mọ́ di òfo.
Lẹ́yìn náà ṣe ìtọ́jú àìsí ihò. Profáìlì olùbára tí ó ń fi ọ̀nà àìpéye gbòòrò sórí ẹ̀rọ túmọ̀ sí pẹ̀lú pé nígbà tí ihò bá ṣubú, ọ̀nà àìpéye déédé lè padà, ìrìnàjò olùbára sì ń padà ní ìdákẹ́jẹ́ sí ìsopọ̀ òkè. Níbi tí ìpadà sí ọ̀rọ̀ tí ó ṣe kedere kò bá tẹ́wọ́gbà, níbẹ̀ ìlànà forward gbọ́dọ̀ kọ ìrìnàjò láti olùbára sí ìsopọ̀ òkè ní gbangba, nínú ipò tí ọ̀nà VPN ti lọ. Kọ rẹ̀ gẹ́gẹ́ bí òfin ìkọ̀, kì í ṣe gẹ́gẹ́ bí àbá. Ìgbéjáde tí a kọ̀wé ti Pi fúnra rẹ̀ sí ẹlẹgbẹ́ VPN jẹ́ ìṣàn local-output lọ́tọ̀ọ̀tọ̀, ó sì gbọ́dọ̀ wà ní àyèpẹ̀lẹ́, bí bẹ́ẹ̀ kọ́ ihò kò lè padà láé.
DNS àti IPv6 nílò ìdáhùn tiwọn
Bí àwọn olùbára bá ń lo Pi gẹ́gẹ́ bí olùyinjú, wọ́n ń dé olùgbọ́ ìbílẹ̀, Pi sì ń bẹ̀rẹ̀ ìbéèrè tuntun. Ìbéèrè òkè yẹn ń tẹ̀lé ọ̀nà Pi fúnra rẹ̀, kì í ṣe òfin forward tí o kọ fún àwọn olùbára, nítorí náà ọ̀nà olùbára nípasẹ̀ ihò nìkan pẹ̀lú olùyinjú tí ó jáde tààrà jẹ́ ìjáde láìsí ìfiránṣẹ́ àṣìṣe kankan. Pinnu pẹ̀lú ìmọ̀: olùyinjú tí a ń dé nípasẹ̀ ihò, tàbí ti ìbílẹ̀ tí o gbà gẹ́gẹ́ bí tààrà, kí o sì mú ìlànà àbájáde Pi fúnra rẹ̀ bá ìpinnu yẹn mu.
IPv6 tún jẹ́ ọ̀ràn lọ́tọ̀ọ̀tọ̀. Òfin forward fún IPv4 kò fi ààlà kan kankan mọ́ nípa IPv6, àwọn ìkéde rótà lórí ìsopọ̀ òkè sì lè fún Pi, àti nípasẹ̀ rẹ̀ apá tí ó so pọ̀, ní ọ̀nà àìpéye kejì tí ó ń forí kọjá ìlànà rẹ. Yálà fún IPv6 ní ọ̀nà ààbò tirẹ̀ lórí ìlànà kan náà, tàbí fi ààlà mọ́ ọn ní gbangba lórí apá olùbára kí o sì sọ bẹ́ẹ̀.
Dán ààlà wo kí o tó gbẹ́kẹ̀lé e
Gbà ìṣètò náà lẹ́yìn àyẹ̀wò mẹ́rin ọ̀tọ̀ọ̀tọ̀ nìkan, nítorí ìdánwò kan ṣoṣo tí ó ń fani mọ́ra — ṣíṣí aṣàwákiri lórí olùbára kan — ń kọjá nínú àwọn ipò bíburú mélòó kan.
Jẹ́rìí pé olùbára gidi kan ń dé íńtánẹ́ẹ̀tì nípasẹ̀ ihò, lẹ́yìn náà jẹ́rìí pé olùbára kan náà kò lè dé íńtánẹ́ẹ̀tì nígbà tí ihò bá wà ní ìsàlẹ̀. Jẹ́rìí pé ìyọnjú DNS ń ṣiṣẹ́ àti pé ìbéèrè ń jáde níbi tí o ti ní lọ́kàn. Jẹ́rìí pé ìgbéjáde Pi fúnra rẹ̀ ṣì ń ṣiṣẹ́ lẹ́yìn àtúnbẹ̀rẹ̀ ihò, àti pé ìmúpadàbọ̀sípò kò nílò àtúnbẹ̀rẹ̀ ẹ̀rọ. Níkẹyìn, ṣàyẹ̀wò ẹ̀rọ tí o kò yàn: ní ọ̀nà A ó gbọ́dọ̀ máa ṣiṣẹ́ déédé, ní ọ̀nà B kò sì gbọ́dọ̀ wà ní apá yẹn rárá.
- Ojú-ọ̀nà méjì àti òfin ìkọ̀ ń fúnni ní ìmúṣẹ; ojú-ọ̀nà kan àti yíyàn DHCP ń fúnni ní ìgbìmọ̀.
- Ìtumọ̀ lórí ojú-ìsopọ̀ tí kò tọ́ dà bí àṣeyọrí, kì í sì ṣe bẹ́ẹ̀.
- Ìrìnàjò Pi fúnra rẹ̀, DNS àti IPv6 kọ̀ọ̀kan nílò ìpinnu, kì í ṣe àfojúsùn.