Kí ni VPS gbọdọ gba laaye ṣáájú kí ó lè gbalejo VPN rẹ
VM tí ó ń ṣàwárí wẹ́ẹ̀bù lè ṣì kùnà gẹ́gẹ́ bí ẹnubodè VPN. Ṣàyẹ̀wò àtìlẹ́yìn interface, firewall méjì, gbígbé lọ, ètò àdírẹ́sì àti alábàáṣepọ̀ ode.
Instans náà bẹ̀rẹ̀, àwọn ìfisọ́rọ̀ àkójọpọ̀ jáde ní àṣeyọrí, kódà iṣẹ́ náà ń ròyìn ipò ṣíṣe, ṣùgbọ́n kò sí ohun tí ó so mọ́. Àwòrán yìí wọ́pọ̀ lórí àwọn sáfà aládàáni àròtẹ́lẹ̀, nítorí àlejò tí ó ń dé sí Íńtánẹ́ẹ̀tì lọ́nà ìrọ̀rùn lè ṣì má lè ṣe interface tí ètò ìbánisọ̀rọ̀ rẹ fẹ́. Àyẹ̀wò márààrún yà sáfà tí ó lè ṣe iṣẹ́ tunnel yàtọ̀ sí èyí tí ó kàn dàbí ẹni tí ó ti ṣetán, àti àyẹ̀wò àkọ́kọ́ tí ó kùnà sábà máa ń ṣàlàyé gbogbo ohun tí ó tẹ̀lé. Ọ̀kọ̀ọ̀kan wọn kò wọ́n láti ṣe, ó sì parí pẹ̀lú ìpinnu kì í ṣe àkọsílẹ̀.
Jẹ́rìí interface tí ètò ìbánisọ̀rọ̀ nílò
OpenVPN lórí TUN nílò ẹ̀rọ kíkọ̀ àti module kernel tí ó wà lẹ́yìn rẹ̀; WireGuard nílò àtìlẹ́yìn kernel tirẹ̀ tàbí ìmúṣẹ ààyè olùlò pẹ̀lú àwọn ìfojúsọ́nà tí ó báramu. Àwọn kọ́ntéńà tí a ń ṣàkóso lè pín kernel sáfà tí kì í fi ẹ̀rọ náà hàn rí, àwọn pẹpẹ kan sì gbèèsè fún ṣíṣe interface tunnel rárá bóyá ohun tí a fi sórí ẹ̀rọ náà.
Dán agbára wò dípò kíkà ojú-ìwé àtìlẹ́yìn, nítorí àwọn àmì títàjá máa ń yí padà kíákíá ju àwọn ààlà ìsàlẹ̀ lọ. Àkójọ àwọn ẹ̀yà tí a kọ fún ètò kan lè má ṣàlàyé kernel tí àlejò ń ṣiṣẹ́ lórí rẹ̀ ní ti gidi. Àwọn àṣẹ kúkúrú méjì ń dáhùn ìbéèrè fún àwọn ètò ìbánisọ̀rọ̀ tí a sábà lò, àti méjèèjì ń ṣe ìmọ́tótó lẹ́yìn wọn. Àwọn àṣẹ nísàlẹ̀ kò ṣẹ̀dá ohunkóhun tí ó wà títí, a sì máa ń yọ wọ́n kúrò lẹ́sẹ̀kẹsẹ̀.
sudo ip tuntap add dev tun9 mode tun
sudo ip tuntap del dev tun9 mode tun
sudo ip link add wgtest type wireguard && sudo ip link del wgtest
Ìkọ̀sílẹ̀ lórí pérépéré àkọ́kọ́ túmọ̀ sí pé TUN kò sí, ipò àkọ́kọ́ ti OpenVPN kò sì lè bẹ̀rẹ̀; ìkọ̀sílẹ̀ lórí ìlà tí ó gbẹ̀yìn túmọ̀ sí pé interface kernel WireGuard kò sí. ìwé kernel nípa TUN/TAP ṣàlàyé ẹ̀rọ tí àyẹ̀wò àkọ́kọ́ ń dán wò. Kò sí ọ̀kan nínú àwọn ìkùnà méjì náà tí a máa ń tún ṣe nípasẹ̀ fífi àkójọpọ̀ VPN sórí ẹ̀rọ lẹ́ẹ̀kan sí i.
Rántí pé ọ̀nà tí ń wọlé ní olówó méjì
Àwọn òfin nẹ́tíwọ́kì olùpèsè àti firewall àlejò jẹ́ ètò ọ̀tọ̀ọ̀tọ̀, ìrìnàjò sì gbọdọ̀ kọjá méjèèjì. Olùgbọ́ tí a so mọ́ àlejò kò túmọ̀ sí nkankan bí ẹgbẹ́ ààbò olùpèsè bá ju ibùdó náà sílẹ̀, òfin olùpèsè tí ó ṣí sì kò ṣe nkankan bí àlejò bá kọ packet náà. Ṣàyẹ̀wò olùgbọ́, lẹ́yìn náà àwọn òfin àlejò, lẹ́yìn náà pánẹ́ẹ̀lì olùpèsè, ní ọ̀nà yẹn, kí o sì jẹ́rìí ètò ìbánisọ̀rọ̀ pẹ̀lú nọ́mbà ibùdó. Fífo tààrà sí pánẹ́ẹ̀lì olùpèsè ni ọ̀nà tí àwọn ènìyàn ń gbà ṣí ìpín tí wọn kò nílò.
UDP ni ẹni tí a ń pa ní gbogbo ìgbà: ọ̀pọ̀ pẹpẹ ń gba TCP láàyè ní àkọ́kọ́, wọ́n sì ka àwọn òfin UDP sí àkọsílẹ̀ ọ̀tọ̀. Bí instans bá wà lẹ́yìn NAT olùpèsè dípò kí ó ní àdírẹ́sì gbogbo ènìyàn, gbígbé ibùdó lọ ní ẹ̀gbẹ́ olùpèsè di ìṣètò kẹta tí a gbọdọ̀ múpọ̀.
Ṣètò ọ̀nà ìpadà, kì í ṣe àbáyọ nìkan
Iṣẹ́ tunnel kíkún nílò gbígbé lọ tí ó ṣí, ètò ìtumọ̀ tàbí ìtọ́sọ́nà fún ìrìnàjò àwọn alábàáṣepọ̀, àti ọ̀nà ìpadà tí ó dé ọ̀dọ̀ àkójọ alábàáṣepọ̀. Ṣíṣí olùgbọ́ kò pèsè ọ̀kan nínú ìwọ̀nyí. Tunnel tí ó fìdí kalẹ̀ ṣùgbọ́n tí kò gbé ìrìnàjò wíwúlò kì í ṣàṣeyọrí níbí kì í ṣe ní ìjẹ́rìí. Ka ìfọwọ́sowọ́pọ̀ tí ó ṣàṣeyọrí sí ìbẹ̀rẹ̀ ìwádìí, kì í ṣe òpin rẹ̀.
Kọ ètò náà gẹ́gẹ́ bí ìpinnu mẹ́ta tí ó ṣe kedere: irú ìpín orísun tí àwọn alábàáṣepọ̀ ń gbà, bí ìrìnàjò wọn ṣe ń jáde lọ sí Íńtánẹ́ẹ̀tì, àti bí àwọn ìdáhùn ṣe ń rí ọ̀nà ìpadà. Lẹ́yìn náà jẹ́rìí pé kernel gbà pẹ̀lú ètò náà kí o tó dán alábàáṣepọ̀ wò, kí àìbáramu tí ó dákẹ́ má bàa di èrò pé àbùkù ní ẹ̀gbẹ́ alábàáṣepọ̀ ni.
sysctl -n net.ipv4.ip_forward
sudo nft list ruleset | head -n 40
ip -4 route show default
Pinnu ọ̀rọ̀ IPv6 ní gbangba
IPv6 ń bọ̀ nípasẹ̀ àwọn ọ̀nà mélòó kan tí wọ́n ń hùwà ọ̀tọ̀ọ̀tọ̀ fún ẹnubodè: àdírẹ́sì lórí instans, ìpilẹ̀ tí a tọ́ sọ́nà, tàbí rárá. Ìpilẹ̀ tí a tọ́ sọ́nà nìkan ni ó ń jẹ́ kí sáfà lè fi àdírẹ́sì fún àwọn alábàáṣepọ̀ ní ọ̀nà tí ó wọ́pọ̀. Ìrònú pé àdírẹ́sì IPv6 tí ń ṣiṣẹ́ lórí sáfà túmọ̀ sí ìpilẹ̀ alábàáṣepọ̀ tí ó ṣe é lò jẹ́ àṣìṣe tí yóò farahàn ní ìgbà tí ó tọ́ gẹ́gẹ́ bí ìsopọ̀ tí ó já pẹ̀lú. Irú àbùkù ni èyí tí ó ń yege gbogbo àyẹ̀wò tí a ṣe pẹ̀lú IPv4 nìkan.
Bí olùpèsè kò bá tọ́ ìpilẹ̀ kankan sọ́nà, pinnu bóyá tunnel jẹ́ ti IPv4 nìkan àti bóyá a gbọdọ̀ sọ fún àwọn alábàáṣepọ̀. Àìsí tí a kọ sílẹ̀ ló léwu díẹ̀ ju ìṣètò apá kan tí ó ń ju àwọn ìdí IPv6 lọ sínú ihò dúdú ní ìdákẹ́jẹ́ fún àwọn olùlò tí ó so mọ́.
Fi í hàn láti ọ̀dọ̀ alábàáṣepọ̀ ode
Ipò iṣẹ́ àdúgbò ń ṣàlàyé ìlànà kan lórí sáfà kan. Àyẹ̀wò tí ó wúlò ni alábàáṣepọ̀ tí a fọwọ́ sí lórí nẹ́tíwọ́kì mìíràn, tí ó so pẹ̀lú profáìlì tí o ń fẹ́ pín, lẹ́yìn náà tí ó dé ohun-èlò kan tí ó sì yanjú orúkọ kan. Tún sopọ̀ lẹ́ẹ̀kan sí i pẹ̀lú, nítorí tunnel tí ó ń ṣiṣẹ́ ní ìgbìyànjú àkọ́kọ́ nìkan kò ní ìbámu pẹ̀lú ohun tí ó ṣe pàtàkì jùlọ ní àṣà.
sudo wg show wg0 latest-handshakes
ip -4 route get 203.0.113.44
sudo journalctl -u wg-quick@wg0 -n 15 --no-pager
Pa àwọn ìpìlẹ̀ ìṣiṣẹ́ mọ́ lẹ́gbẹ̀ẹ́ àyẹ̀wò náà: ààyè fún àwọn àtúnṣe, àwọn àkọsílẹ̀ tí ó ní ààlà, ààyè ìṣàkóso tí kò gbára lé tunnel, kọ́nsólì ìmúpadàbọ̀, àti àkọsílẹ̀ nípa ohun tí ó ṣẹlẹ̀ sí àwọn profáìlì alábàáṣepọ̀ nígbà tí a bá tún instans kọ́ tí àdírẹ́sì gbogbo ènìyàn rẹ̀ sì yí padà. Bí interface tàbí àwòrán gbígbé lọ tí a nílò kò bá sí rárá, kò sí ìyípadà ní ẹ̀gbẹ́ alábàáṣepọ̀ tí yóò pèsè rẹ̀, ìgbésẹ̀ tí ó tẹ̀lé tí ó ṣe déédé ni irú instans mìíràn kì í ṣe ìṣètò púpọ̀ sí i.