Kíkọ -o tun+ dàbí ìtọ́ni pàtó, ní tòótọ́ ó jẹ́ àmì àgbáyé tí ó bá gbogbo ọ̀nà abẹ́lẹ̀ tí kernel ní mu. Oníbàárà VPN kejì, afárá kọ́ńténíà tàbí ìsopọ̀ tí ìpàdé tí ó já lu fi sílẹ̀ — gbogbo wọn ni ó ń mú un ṣẹ, host sì gbà irin ìrìnàjò tí ìlànà ń fẹ́ dènà ní ààyè. Ìlana tí ó wà nísàlẹ̀ fi orúkọ ẹ̀rọ kan múlẹ̀, tò àwọn ìyọkuro lẹ́sẹẹsẹ kí ọ̀nà abẹ́lẹ̀ lè ṣẹ̀dá ní tòótọ́, ó sì fi ọ̀nà ìpadà sílẹ̀ fún ọ bí àwọn ìlànà bá ṣubú. Ẹsẹ̀ kọ̀ọ̀kan kúrú tó láti dá wọn padà ní ọ̀tọ̀ọ̀tọ̀.

Ìgbésẹ̀ 1: kọ àwọn ìlànà tí ó wà ní báyìí sílẹ̀

Kí o tó yí ìlànà àkọ́kọ́ padà, fi ipò tí ó wà ní báyìí pamọ́ kí ìpadàpadà jẹ́ àṣẹ kì í ṣe ìrántí. iptables-save > /root/iptables.pre kọ gbogbo tábìlì sínú fáìlì tí o lè mú padà, àti pé tẹ́mínà kan tí ó ní ìpàdé root tí ó ṣí kì í ṣe ìbẹ̀rù àṣejù nígbà tí ìlànà tí o ń gbé kalẹ̀ bá gé ìsopọ̀ tí ó ń gbé e. Bí o bá ń ṣiṣẹ́ ní ọ̀nà jíjìnà, ṣètò flush pẹ̀lú gẹ́gẹ́ bí ìyípadà pàjáwìrì.

Lẹ́yìn náà ṣe àkójọ àwọn ìsopọ̀, nítorí orúkọ tí o rò pé ó wà ni orúkọ tí ó yẹ kí o ti kà: ip -br link fi hàn ohun tí ó wà ní báyìí, ọ̀nà abẹ́lẹ̀ kò sì ní farahàn títí tí ó fi gòkè. Kọ orúkọ àwọn ẹ̀rọ sílẹ̀ bí o ṣe ń kà wọ́n.

Ìgbésẹ̀ 2: fún ọ̀nà abẹ́lẹ̀ ní orúkọ tirẹ̀

OpenVPN gba dev tun_work nínú ìṣètò oníbàárà, Linux sì ṣẹ̀dá ìsopọ̀ pẹ̀lú orúkọ yẹn gan-an dípò pín tun0. Orúkọ náà dúró ṣinṣin láàárín àwọn ìsopọ̀ tuntun nígbà tí kò bá sí ohun mìíràn tí ó ń béèrè fún un, ìyẹn sì ni ó mú kí ìlànà tí ó dárúkọ ẹ̀rọ náà ní ìtumọ̀.

Níbi tí a kò ti lè ṣàkóso orúkọ, bá àdírẹ́sì ọ̀nà abẹ́lẹ̀ tàbí àmì pákẹ́tì mu. Àwọn méjèèjì ń ṣiṣẹ́, àwọn méjèèjì ṣòro láti kà, àwọn méjèèjì sì ń kùnà ní ìdákẹ́jẹ́ nígbà tí ọ̀nà abẹ́lẹ̀ bá tún nọ́mbà. Láìka bó ti wù, bá ohun kan ṣoṣo mu kí o sì sọ èyí tí ó jẹ́ kedere.

Ìgbésẹ̀ 3: kọ ìlànà pẹ̀lú ìyọkuro endpoint ní àkọ́kọ́

Host tí ó ní VPN nìkan ni host ìkọ̀sílẹ̀ àkọ́kọ́ pẹ̀lú àkójọ ìyọkuro kúkúrú, ìyọkuro tí ó ṣe pàtàkì jùlọ sì ni èyí tí ó gbà ọ̀nà abẹ́lẹ̀ láàyè láti wà. Kọ́ ọ ní ìtòlẹ́sẹẹsẹ yìí, pẹ̀lú ìlànà endpoint ṣáájú ìlànà ẹ̀rọ ọ̀nà abẹ́lẹ̀, kí ìfọwọ́bọ̀lẹ́ ní ibi tí yóò lọ:

# allow the tunnel to be built, then everything the tunnel carries
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d 198.51.100.7 -p udp --dport 1194 -j ACCEPT
iptables -A OUTPUT -o tun_work -j ACCEPT
iptables -A INPUT  -i tun_work -j ACCEPT
iptables -A INPUT  -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Àdírẹ́sì àti ibùdó endpoint gangan jẹ́ ti olùpèsè rẹ, kì í ṣe ti ojú-ìwé yìí. Bí endpoint bá jẹ́ orúkọ host, yanjú rẹ̀ lẹ́ẹ̀kan kí o sì fi èsì náà múlẹ̀, nítorí ìlànà kò lè wá orúkọ àti èsì tí ó ń yí yóò bà ìlànà jẹ́ ní ìdákẹ́jẹ́ lẹ́yìn ìyípadà DNS tí ó tẹ̀le. Ṣàyẹ̀wò ibùdó náà pẹ̀lú, nítorí àwọn olùpèsè tí ó ń gbé ọ lọ sí TCP 443 yóò ní àìlọ́wọ̀ ìlànà tí ẹnikẹ́ni kò kọ. Ọ̀nà abẹ́lẹ̀ tí ó ń ṣiṣẹ́ lórí ìlànà kan ṣoṣo ni ó sábà jẹ́ àìsí yìí, kì í ṣe àbùkù ààbò iná.

Lórí ruta ìrísí kan náà ń lọ sínú ẹ̀wọ̀n FORWARD fún àwọn oníbàárà tí ó wà lẹ́yìn rẹ̀, àti pé irin ìrìnàjò ruta fúnrarẹ̀ nílò àwọn ìlànà tirẹ̀. Àkójọ ìlànà tí ó bo àwọn pákẹ́tì tí a fi ránṣẹ́ nìkan ń fi SSH àti DNS sí ọ̀nà àtijọ́, bẹ́ẹ̀ sì ni ruta ṣe ń di aláìlèdé ní àsìkò tí ọ̀nà abẹ́lẹ̀ bá gòkè.

Ìgbésẹ̀ 4: ṣàyẹ̀wò ìtòlẹ́sẹẹsẹ, kì í ṣe wíwà nìkan

A ń ṣàyẹ̀wò àwọn ìlànà ní ìtòlẹ́sẹẹsẹ, nítorí náà ACCEPT tí ó bá wá ṣáájú kàn ń fi REJECT tí o fi kún lẹ́yìn náà pamọ́. Ìbámu established àti related ni ó ń jẹ́ kí àwọn èsì sí àwọn ìbéèrè jáde tirẹ̀ padà wá láì ṣí ọ̀nà àkọ́kọ́ gbogbogbò, fífi í sílẹ̀ lẹ́yìn gbígba ọ̀nà abẹ́lẹ̀ túmọ̀ sí pé ọ̀nà abẹ́lẹ̀ tí ó ṣubú ṣì ń gbà irin ìrìnàjò ìpadà kọjá lórí ìsopọ̀ tirẹ̀.

Pa iye àwọn ìlànà mọ́ kíkúnrẹ́ tó láti kà lórí ojú-ìbòjú kan. Àkójọ ìlànà tí o kò lè ṣàyẹ̀wò ni èyí tí wàá fi àwọn ìyọkuro kún lórí ìkẹyìn, bẹ́ẹ̀ sì ni àwọn ìlànà ìkọ̀sílẹ̀ àkọ́kọ́ ṣe ń ní etí ìgbàláàyè àkọ́kọ́ ní kẹ̀rẹ̀kẹ̀rẹ̀. Ka àwọn ACCEPT ṣáájú àti lẹ́yìn ìyípadà.

Ìgbésẹ̀ 5: jẹ́ kí ó ye ìbẹ̀rẹ̀ àti ẹbí àdírẹ́sì kọjá

Àwọn ìlànà tí a fi ọwọ́ kọ máa ń pòórá nígbà ìtúnbẹ̀rẹ̀, nítorí náà gbé wọn wọlé láti inú iṣẹ́ ààbò iná ti ìpínkiri tàbí láti inú unit tí ó ń ṣiṣẹ́ lẹ́yìn tí ìsopọ̀ ọ̀nà abẹ́lẹ̀ wà. Ìtọ́kasí tun_work nínú àkọsílẹ̀ tí ó ń ṣiṣẹ́ kí OpenVPN tó bẹ̀rẹ̀ jẹ́ ọ̀nà tí ó wọ́pọ̀ láti dá ìyípo ìbẹ̀rẹ̀ pẹ̀lú irin ìrìnàjò tí ó ṣubú.

Lẹ́yìn náà ṣàyẹ̀wò IPv6 lọ́tọ̀, nítorí ìlànà ìkọ̀sílẹ̀ àkọ́kọ́ tí ó dára fún IPv4 kò sọ ohunkóhun nípa ẹbí kejì. ip -6 route yóò sọ fún ọ bí host ní ọ̀nà tí ó lè gbé irin ìrìnàjò yí ọ̀nà abẹ́lẹ̀ tí ó ń ṣiṣẹ́ IPv4 nìkan kọjá tàbí rárá, ip6tables tàbí nftables sì nílò àwọn ìlànà ìbámu tirẹ̀. Dán wò pẹ̀lú ibi-ìlọ IPv6-only dípò gbẹ́kẹ̀lé ìdọ́gba àkójọ ìlànà.

Ìgbésẹ̀ 6: ṣàyẹ̀wò kí o sì múra láti mú padà

Gbé ọ̀nà abẹ́lẹ̀ gòkè, jẹ́rìí pé iṣẹ́ tí o fẹ́ ń ṣiṣẹ́, lẹ́yìn náà gbìyànjú ohun tí ìlànà yẹ kí ó kọ̀. Mú padà pẹ̀lú iptables-restore < /root/iptables.pre bí èsì bá yà ọ́ lẹ́nu, àti lẹ́yìn náà nìkan bẹ̀rẹ̀ ṣíṣàtúnṣe àwọn ìlànà. Ìfaradà pẹ̀lú ọ̀nà ìmúpadà tí a ti dán wò ni ó mú èyí di ìyípadà tí o lè ṣe lẹ́ẹ̀mejì.

Àwọn àpilẹ̀kọ tó jọra