Ìjáde ọ̀tọ̀ọ̀tọ̀: àkójọ VPN lórí usb0, ìrìnàjò ẹnubodè lórí eth0
Àwọn oníbàárà VPN tí a darí wọn lè jáde nípasẹ̀ usb0 nígbà tí ẹnubodè ń pa ọ̀nà àìpẹ́ rẹ̀ mọ́ lórí eth0. Kọ́ tabili yíyan tí ó pé, lẹ́yìn náà jẹ́ kí ìkùnà pa dénà dípò kí ó jò.
Àwọn oníbàárà ń sopọ̀, wọ́n sì ń jẹ́rìí, lẹ́yìn náà ìrìnàjò wọn ń jáde nípasẹ̀ ọ̀nà òkè tí kò tọ́, nítorí pé ọ̀nà àìpẹ́ kan ṣoṣo lórí ẹ̀rọ náà jẹ́ ti ẹnubodè fúnra rẹ̀. Yíyí ọ̀nà àìpẹ́ yẹn padà yóò ba àwọn ìmúdójúìwọ̀n ẹ̀rọ náà àti àbáwọlé ìṣàkóso jẹ́, nítorí náà ìyàn gbọ́dọ̀ kéré ju «gbogbo ìrìnàjò» lọ. Ìrísí tí ó ń ṣiṣẹ́ ni òfin ìlànà kan tí ó dá lórí àdírẹ́sì orísun inú ti àkójọ oníbàárà, tí ó ń tọ́ka sí tabili ìpèsè ọ̀nà kejì tí ó ni WAN mìíràn. Láti ibẹ̀ lọ, àkójọ ìwádìí fi ara rẹ̀ mọ́ kíkún àti ìhùwàsí nígbà ìkùnà, kì í ṣe òfin náà fúnra rẹ̀.
Jẹ́rìí pé àdírẹ́sì orísun wà títí dé ìpinnu ìpèsè ọ̀nà
Òfin ìlànà tí ó bá ibùdó orísun mu ń ṣiṣẹ́ nìkan nígbà tí pákẹ́ẹ̀tì ṣì ń gbé orísun yẹn ní àkókò ìwádìí. Ìrìnàjò oníbàárà tí a darí ń ṣe bẹ́ẹ̀, nígbà tí kò bá sí ohun tí ó kọ ọ́ lórí kí ìpèsè ọ̀nà tó dé. Ìrìnàjò tí ẹnubodè fúnra rẹ̀ ń dá kò ṣe bẹ́ẹ̀, ìdí nìyẹn tí ọ̀nà àìpẹ́ ẹnubodè fúnra rẹ̀ fi lè dúró ní ibi tí ó wà.
Níbí ni àwọn àdánwò agbègbè ń tannijẹ. curl tí a ṣe lórí ẹnubodè jẹ́ ṣíṣàn tí a dá ní agbègbè pẹ̀lú àdírẹ́sì ẹnubodè, nítorí náà ó gba tabili àkọ́kọ́, kò sì fi ohunkóhun hàn nípa ọ̀nà oníbàárà. Dánwò láti oníbàárà tí ó sopọ̀, tàbí dá ìrìnàjò pẹ̀lú orísun tí ó jẹ́ ti àkójọ náà gan-an.
Bẹ̀rẹ̀ pẹ̀lú kíkọ àwọn iye gidi: àfọ̀mọ́ àkójọ, ìfarahàn tunnel tí ó ń gbé e, àdírẹ́sì àti ìgbésẹ̀ tó kàn ti WAN kejì, àti nọ́mbà tabili tí o ní lọ́kàn láti lò. Nu àwọn òfin àtijọ́ kúrò nínú ìgbìyànjú kankan tí ó ti kọjá kí o tó fi tuntun kún, nítorí àwọn òfin tí a ṣe ẹ̀ẹ̀mejì ní ipò ọ̀tọ̀ọ̀tọ̀ ń dá àwọn ìkùnà tí ó dàbí àìlẹ́kọ̀ọ́.
Kọ́ tabili yíyan tí ó pé
Tabili kì í ṣe ọ̀nà àìpẹ́ pẹ̀lú ọ̀rẹ́. Ó nílò ọ̀nà tó pọ̀ tó kí ìwádìí kọ̀ọ̀kan lè yanjú nínú rẹ̀, pẹ̀lú ọ̀nà àsopọ̀ fún ẹ̀wọ̀n WAN kí ìgbésẹ̀ tó kàn lè dé. Fún àkójọ 10.77.0.0/24 lórí tun1, àdírẹ́sì WAN 203.0.113.20/24 pẹ̀lú ìgbésẹ̀ tó kàn 203.0.113.1, àti tabili 600:
ip -4 route replace 203.0.113.0/24 dev usb0 src 203.0.113.20 table 600
ip -4 route replace 10.77.0.0/24 dev tun1 table 600
ip -4 route replace default via 203.0.113.1 dev usb0 table 600
ip -4 rule add priority 1500 from 10.77.0.0/24 lookup 600
Òfin náà jókòó ní ipò tí ó kéré ju òfin mímú-gbogbo kan tí ó wà lọ, nítorí náà àwọn oníbàárà tí ó bá mu yóò kọ́kọ́ dé tabili 600, gbogbo ohun mìíràn yóò sì ṣubú sínú tabili àkọ́kọ́. Ìtọ́kasí ip-rule ṣàlàyé àwòrán ìwádìí tí a tò lẹ́sẹẹsẹ àti ìṣàkọ́sílẹ̀ olùyàn ní kíkún.
Lẹ́yìn náà ronú nípa ohun tí tabili kò ní. Àfojúsùn tí ó ní ọ̀nà nínú tabili àkọ́kọ́ nìkan, bíi ẹ̀wọ̀n ìṣàkóso tí a lè dé nípasẹ̀ eth0, kò ní rí ní tabili 600, kò sì ní padà sí ti àkọ́kọ́ nígbà tí ọ̀nà àìpẹ́ bá wà níbẹ̀. Tí àwọn ọ̀nà yẹn bá ṣe pàtàkì, fi wọ́n kún tabili yíyan náà ní gbangba, èyí tí ó sábà jẹ́ ìdáhùn tó tọ́ fún tabili ìjáde VPN.
Pa ìrìnàjò olùgbọ́ fúnra rẹ̀ mọ́ kúrò nínú ìlànà
OpenVPN olùgbọ́ ní àsopọ̀ òde tirẹ̀, tí a ń gbé lórí ọ̀nà òkè tí oníbàárà fi dé ọ̀dọ̀ rẹ̀. Ìrìnàjò yẹn gbọ́dọ̀ pa ọ̀nà ìpadà mọ́ bí ó ti dé, òfin gbòòrò tí ó bo àdírẹ́sì gbangba server tàbí gbogbo ìfarahàn tunnel lè fà á sínú tabili mìíràn. Fi òfin náà sí àkójọ inú nìkan, kì í ṣe ohunkóhun mìíràn.
Àyẹ̀wò ọ̀nà ìpadà tún yẹ kí a wò fún ìdí kanna. Nígbà tí àwọn ìdáhùn sí oníbàárà ń jáde nípasẹ̀ usb0 nígbà tí ìbéèrè dé nípasẹ̀ ìsopọ̀ mìíràn, ètò rp_filter tí ó le lè sọ àwọn pákẹ́ẹ̀tì tí ìlànà ìpèsè ọ̀nà kà sí wúlò nù. Ṣàyẹ̀wò àwọn iye sysctl tí ó wà lórí ìfarahàn méjèèjì kí o tó pinnu pé òfin náà kùnà.
Ìtò pẹ̀lú ṣe pàtàkì ní ìbámu pẹ̀lú gbogbo ohun mìíràn lórí ẹ̀rọ. Àwọn afárá Docker, VPN kejì àti àwọn òfin kankan tí ó ti wà tẹ́lẹ̀ láti àwòrán olùpèsè ń fi ipò kún, nítorí náà ka gbogbo àkójọ òfin dípò kí o rò pé ipò 100 wà ní òun nìkan.
Jẹ́ kí ìfiránṣẹ́ àti ìtumọ̀ bá ọ̀nà mu
Ìpèsè ọ̀nà yan ọ̀nà òkè; kò fúnni ní àṣẹ láti fi ránṣẹ́. Kọ́kọ́rọ́ gbọ́dọ̀ ní ìfiránṣẹ́ IPv4 tí ó ṣí, ògiri iná sì gbọ́dọ̀ gba ìtọ́sọ́nà láti oníbàárà sí WAN àti ìrìnàjò ìpadà. Tabili tí ó tọ́ pẹ̀lú ẹ̀wọ̀n FORWARD tí ó sọ ṣíṣàn nù ń fúnni ní àmì kanna bí ọ̀nà tí ó sọnù, ìdí nìyẹn tí a fi ń yẹ̀wò méjèèjì ní ìgbésẹ̀ kan.
Tí WAN kejì kò bá pèsè ọ̀nà àkójọ aládàáni padà sí ọ̀dọ̀ rẹ, tumọ̀ orísun lórí ìjáde yẹn. Fún ìfarahàn pẹ̀lú àdírẹ́sì aláyípadà, yíyan tí ó sábà ni òfin masquerade tí ó há pẹ̀lú àkójọ àti ìfarahàn:
iptables -t nat -A POSTROUTING -s 10.77.0.0/24 -o usb0 -j MASQUERADE
Níbí ìwọ̀n ṣe pàtàkì ju àfojúsùn lọ. Òfin masquerade tí ó bá ìfarahàn ìjáde kankan mu yóò tún kọ ìrìnàjò tí ó ń jáde tọ́ nípasẹ̀ eth0, èyí tí ó fi àwọn àṣìṣe ìpèsè ọ̀nà pamọ́ dípò kí ó tún wọn ṣe. Ìtumọ̀ ń ṣiṣẹ́ lẹ́yìn ìpinnu ìpèsè ọ̀nà, nítorí náà kò lè tún pákẹ́ẹ̀tì tí a rán sí ọ̀nà òkè tí kò tọ́ ṣe láé.
Ìnáwó tunnel pẹ̀lú nílò àfiyèsí nígbà tí àwọn ọ̀nà yàtọ̀. Tí àwọn oníbàárà bá fohùn ṣọ̀kan lórí TCP MSS ńlá tí WAN mìíràn sì ní MTU tí ó kéré tàbí tunnel nínú rẹ̀, àwọn apá ńlá yóò dúró nígbà tí àwọn kékeré ń ṣiṣẹ́. Dídì MSS mọ́ lórí ọ̀nà ìfiránṣẹ́ ń sọ ọ́ di ìhùwàsí tí a lè ṣe àfojúsùn dípò dídúró lẹ́ẹ̀kọ̀ọ̀kan.
Pinnu ohun tí yóò ṣẹlẹ̀ nígbà tí usb0 bá pòórá
Tabili òfo kì í ṣe ipò tí ó ń pa nígbà ìkùnà. Tí ọ̀nà tí ó bá mu bá pòórá, ìwádìí ń tẹ̀síwájú sí òfin tó kàn, ó dé tabili àkọ́kọ́, ó sì gba àìpẹ́ eth0. Ìrìnàjò tí ó yẹ kí ó jáde nípasẹ̀ WAN kejì ń jáde ní ìdákẹ́jẹ́ nípasẹ̀ ti àkọ́kọ́, èyí tí ó sábà jẹ́ àbájáde tí o kò fẹ́ jùlọ nínú ìgbékalẹ̀ tí a fi ìlànà pèsè ọ̀nà.
Níbi tí ìpadàsẹ́yìn yẹn kò bá ṣe ìtẹ́wọ́gbà, fi ọ̀nà ìparí tí ó ṣe kedere kún tabili 600, bíi àìpẹ́ blackhole, tàbí sọ àkójọ náà nù nínú ògiri iná nígbà tí ìfarahàn wà ní ìsàlẹ̀. Èyíkéyìí nínú méjèèjì jẹ́ ìpinnu tí o lè kọ sílẹ̀; ìdákẹ́jẹ́ kì í ṣe bẹ́ẹ̀.
Ìdúró ṣinṣin ni ohun tí ó kẹ́yìn. Ẹnikẹ́ni tí ó ni àwọn ìsopọ̀ méjèèjì, ìbáà jẹ́ olùṣàkóso nẹ́tíwọ́kì, script olùránṣẹ́ tàbí ìyípo ìgbésí ayé àsopọ̀, gbọ́dọ̀ tún àwọn ọ̀nà àti òfin ṣe ní gbogbo ìgbà àsopọ̀padà láìfi ẹ̀dà kún. Jẹ́rìí pẹ̀lú ìbéèrè láti oníbàárà gidi àti ìbéèrè ọ̀tọ̀ọ̀tọ̀ láti ẹnubodè, jẹ́rìí ìjáde tí a kíyèsí ní méjèèjì, lẹ́yìn náà fa WAN kejì kúrò kí o wò èwo nínú àwọn àbájáde méjì tí o ṣètò ń ṣẹlẹ̀ gan-an. IPv6 nílò tabili, òfin àti ìtumọ̀ tirẹ̀; òfin IPv4 tí ó wà lókè kò sọ ohunkóhun nípa rẹ̀.