Ètò nftables tí DNS ń bọ́ lọ sí WireGuard: bí ìfàṣẹ́ ṣe ń ṣiṣẹ́
Ìdáhùn DNS lè bọ́ ètò nftables, ṣùgbọ́n ètò kò ṣe ìtọ́nà kankan. Tẹ̀lé ìfàṣẹ́ mẹ́rin àti ìgbésí-ayé mẹ́ta tí ó ń pinnu bóyá ìtọ́sọ́nà yóò ṣiṣẹ́.
Àwọn orúkọ ń yanjẹ́ sí àwọn àdírẹ́sì, àwọn àdírẹ́sì yẹn sì lè wọ inú ètò ògiri-iná tí yóò nípa lórí ìtọ́nà lẹ́yìn náà, èyí tí ó mú kí ìtọ́sọ́nà tí ó dá lórí orúkọ ṣeéṣe láìsí aṣojú. Ìdẹ̀ ni pé ẹ̀yà mẹ́rin gbọ́dọ̀ fàṣẹ́ dáadáa: olùyanjẹ́, ètò, olùpín tí ó ń fi àmì sí ṣísàn tuntun, àti ẹlẹgbẹ́ tí ó ń gbé e. Ìfàṣẹ́ kọ̀ọ̀kan kùnà lọ́nà ọ̀tọ̀ọ̀tọ̀, ẹnìkọ̀ọ̀kan sì ń pa àkókò tirẹ̀ mọ́.
Wo àpẹrẹ bí ẹ̀wọ̀n, kì í ṣe ìṣètò. Ìbéèrè ní ìgbésẹ̀ kọ̀ọ̀kan ni ẹ̀yà wo ni ó ni ìpinnu àti kí ni ó ṣẹlẹ̀ nígbà tí ìwọlé rẹ̀ kò sí.
Ohun tí ìdáhùn DNS lè ṣe àti ohun tí kò lè ṣe
dnsmasq lè ṣe àdàkọ àwọn àdírẹ́sì láti inú àwọn ìdáhùn sínú ètò nftables, èyí jẹ́ bíbọ́ kì í ṣe ìpinnu ìtọ́nà. Àṣàyàn yẹn, tí a kọ sínú ìwé ìtọ́sọ́nà dnsmasq, ń dárúkọ ẹbí, tábìlì àti ètò, 4# ìbẹ̀rẹ̀ rẹ̀ sì ń yan àwọn àkọsílẹ̀ A nìkan, nítorí náà àwọn ibi-ìlọ v6 nílò ìṣètò tirẹ̀. Ètò gbọ́dọ̀ ti wà tẹ́lẹ̀, nítorí olùyanjẹ́ ń fi àwọn èròjà kún ohun tí ẹni tí ó ni ògiri-iná ṣe. Kò sí ohun tí ó yan ojú-ọ̀nà, tábìlì tàbí ẹlẹgbẹ́ ní ìgbésẹ̀ yẹn.
Olùbáṣepọ̀ pẹ̀lú gbọ́dọ̀ lo olùyanjẹ́ yẹn fún orúkọ náà. Ohun-èlò tí ó ní DNS alùfọ̀ẹ̀dà tirẹ̀, tàbí ìdáhùn tí a fi pamọ́ láti kí ìlànà tó wà, ń sopọ̀ láìṣẹ́ àkọsílẹ̀ kankan nínú ètò.
Ètò jẹ́ ìwọlé, kì í ṣe ọ̀nà
Èròjà nínú ètò jẹ́ ipò ìbámu. Ohun kan gbọ́dọ̀ wò ó, pinnu pé àkójọ yìí bẹ̀rẹ̀ ṣísàn tuntun, kí ó sì lo ìlànà tí ó ń fi ṣísàn náà kọjá nínú ọ̀nà-ìsọ. Lórí Linux èyí sábà wulẹ̀ jẹ́ ọ̀nà ìjáde tí ó lè tọ́nà tí ó lè fi àmì sí, ìlànà tí ó ń fi àwọn àkójọ tí a fi àmì sí lọ sí tábìlì pàtàkì, àti ọ̀nà nínú tábìlì yẹn tí ó ń tọ́ka sí ẹ̀rọ WireGuard. Ìṣẹ̀gbẹ́ nìkan kò fi ohunkóhun nínú èyí sílẹ̀.
nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips
Ẹlẹgbẹ́ ń lo àyẹ̀wò ìbòòmù kejì tí àwọn ènìyàn ń gbàgbé. WireGuard ń fi àkójọ pamọ́ fún ẹlẹgbẹ́ nìkan tí àwọn àdírẹ́sì tí a gbà á láyè ní ibi-ìlọ nínú, nítorí náà ọ̀nà ìlànà sínú ojú-ọ̀nà kò tó nígbà tí àkójọ ẹlẹgbẹ́ yọ àkọ̀sí yẹn kúrò. Pa àkójọ mọ́ lábẹ́ ìṣàkóso ẹni tí ó ni ìtọ́nà dípò gbígbẹ́kẹ̀ lé ìdá ọ̀nà tí olùṣàkóso bá ṣe.
Àmì, tábìlì àti ìbòòmù ẹlẹgbẹ́
Àmì jẹ́ ààyè orúkọ tí a pín, nítorí náà ìye àti ìbòòmù méjèèjì gbọ́dọ̀ wà ní ìbámu pẹ̀lú ohunkóhun mìíràn tí ó ń lò wọ́n. Ìlànà tí ó ń fi ìṣàn tí a fi àmì sí lọ sí tábìlì pàtàkì nílò àbájáde tí a ṣàlàyé nígbà tí tábìlì yẹn kò ní ọ̀nà ìbámu, nítorí wíwá tí kò ní ìdáhùn lè tẹ̀síwájú sí ìlànà tó kàn, kí ó sì gbé àkójọ jáde ní ojú-ọ̀nà ti ara. Ọ̀nà àìtọ́nà blackhole nínú tábìlì pàtàkì ń yí ìsá àsọkùn náà padà sí ìjákulẹ̀ tí ó hàn. Ohun tí àpẹrẹ kò tíì ṣe ni pípadé nígbà ìkùnà fún ibi-ìlọ tí kò tíì wọ ètò.
Àwọn àkójọ ìta ti ọ̀nà-ìsọ fúnra rẹ̀ gbọ́dọ̀ bọ́ kúrò lọ́wọ́ olùpín. Àwọn irinṣẹ́ WireGuard ń pèsè àmì sọ́ọ̀kẹ́tì fún ìdí yẹn gan-an, lílo rẹ̀ sì ń dá àkójọ-pamọ́ kúrò nínú jíjẹ́ kí a tọ́nà padà sínú ojú-ọ̀nà tí ó ń kọ́.
Dán ìgbésí-ayé kọ̀ọ̀kan wò lọ́tọ̀
Àwọn ibi-ìpamọ́ mẹ́ta ń gbó láti inú àwọn ìtòlẹ́sẹẹsẹ mẹ́ta: káṣì olùyanjẹ́, àwọn èròjà ètò àti ìsopọ̀ tí a ń tọpinpin. Dán wọn wò ní ìtòlẹ́sẹẹsẹ yẹn kí o sì wo bóyá ọ̀kọ̀ọ̀kan ń lọ nígbà tí ó yẹ. Àwọn àṣẹ ní ìsàlẹ̀ ń ka olùyanjẹ́, ètò, tábìlì ìsopọ̀ àti àwọn ìlànà ìlànà láìyí ohunkóhun padà.
dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show
Wíwá tuntun tí ó fi èròjà kún ń fi hàn pé bíbọ́ ń ṣiṣẹ́, nígbà tí èròjà àtijọ́ tí ó gbé ìgbé-ayé ju ìdáhùn rẹ̀ lọ jẹ́ àìbámu ìgbésí-ayé tí ó yẹ kí a kọ sílẹ̀. Ìsopọ̀ tuntun tí ó farahàn nínú tábìlì ìsopọ̀ pẹ̀lú àmì tí a retí ń fi hàn pé olùpín ti ṣiṣẹ́, ìsopọ̀ àtijọ́ tí ó pa àmì àkọ́kọ́ rẹ̀ mọ́ jẹ́ ìhùwàsí tí ó tọ́ kì í ṣe àṣìṣe. Àkójọ ìlànà ń dáhùn bóyá wíwá ìlànà wà rárá, èyí jẹ́ ìbéèrè tí ó yàtọ̀ sí bóyá ó bámu. Ka àwọn ìjáde mẹ́rin ní ìtòlẹ́sẹẹsẹ yẹn, ìfàṣẹ́ tí ó kùnà yóò fi ara rẹ̀ hàn.
Níbi tí ìbéèrè jẹ́ pé orúkọ kan pàtó máa ń lo ọ̀nà kan nígbà gbogbo, ètò tí DNS ń bọ́ kò lè fi èyí hàn, nítorí àwọn àdírẹ́sì tí a pín ń gbé àwọn orúkọ mìíràn pẹ̀lú. Aṣojú tàbí ẹ̀rọ ìpele ohun-èlò ni irinṣẹ́ fún ìdánilójú yẹn.