Ìtọ́nisọ́nà tí ó dá lórí àkọsílẹ̀ yẹ nígbà tí gbogbo soketi IPv4 tí olùṣàmúlò Linux kan ní gbọdọ̀ jáde nípasẹ̀ tunnel tí ó wà tẹ́lẹ̀, kò sì yẹ nígbà tí o nílò ìyàsọ́tọ̀ ní ìpele ètò. Ó yan nípasẹ̀ UID, nítorí náà ohunkóhun tí ó ń ṣiṣẹ́ lábẹ́ àkọsílẹ̀ yẹn wà nínú ìwọ̀n, pẹ̀lú iṣẹ́ batch tí o gbàgbé. Yanjú ìbéèrè yẹn kí o tó fi ọwọ́ kan ip rule kan.

Àpẹẹrẹ tí ó wà nísàlẹ̀ gbà pé àkọsílẹ̀ ẹ̀rọ ìṣàwárí àkànṣe wà ní UID 1500, ẹ̀rọ tunnel tun-office tí ó gbé àdírẹ́sì àdúgbò 10.80.0.11, àti VPN tí ó gbà àwọn ibi tí a sọ̀rọ̀ nípa wọn. Daemon fúnra rẹ̀ ń ṣiṣẹ́ ní òde UID yẹn.

Àwọn ìpò mẹ́ta tí ó yan ọ̀nà

Yan ofin UID nígbà tí ìdánimọ̀ tí ó ń ṣe iṣẹ́ jẹ́ àkọsílẹ̀, nígbà tí gbígbé gbogbo ìrìnàjò rẹ̀ jẹ́ ìtẹ́wọ́gbà, àti nígbà tí namespace yóò wúwo ju iṣẹ́ náà lọ. Yan namespace nẹ́tíwọ́kì nígbà tí ẹrù iṣẹ́ nílò àwọn ìtẹ̀jáde, olùyanjú àti tábìlì ìtọ́nisọ́nà tirẹ̀. Yan proxy tàbí ìdè fún ìgbésẹ̀ kọ̀ọ̀kan nígbà tí ètò kan pàtó gbọdọ̀ gbé nígbà tí ìyókù ìpàdé wà lórí ọ̀nà àdúgbò. Kíkọ àwọn mẹ́ta wọ̀nyí ń dènà ofin tí ń fi ìdákẹ́jẹ́ bo ju ohun tí a ní lọ́kàn lọ.

Àṣìṣe tí ó yẹ kí a yẹra fún ni láti gbà pé olùbẹ̀rẹ̀ ni ó ń yan olówó. Ẹ̀rọ ìṣàwárí tí ìpàdé olùṣàmúlò mìíràn fún ní URL kò dá soketi lábẹ́ UID 1500, kò sì sí ofin tí yóò gbé ìrìnàjò tí ó ń dá jáde.

Tábìlì, ofin àti olùṣọ́

Lẹ́yìn yíyẹ̀wò àwọn ofin tí ó wà àti yíyan nọ́mbà tábìlì àti ipò tí a kò lò, ètò náà kúkúrú: ọ̀nà àkọ́kọ́ nínú tábìlì àkànṣe tí ó gbé àdírẹ́sì orísun tunnel, ofin tí ó fi àwọn ìwádìí àkọsílẹ̀ ránṣẹ́ sí tábìlì yẹn, àti ofin ìparí tí ó dènà ọ̀nà ìpamọ́. Bí a bá kọ ọ́, ìyẹn ni àyípadà ọ̀nà idempotent, ip -4 route replace default dev tun-office src 10.80.0.11 table 51820, tí ip -4 rule add priority 12100 uidrange 1500-1500 lookup 51820 tẹ̀lé.

Olùṣọ́ náà ni ip -4 rule add priority 12101 uidrange 1500-1500 unreachable, ó sì ṣe pàtàkì ju bí gígùn rẹ̀ ṣe dábàá lọ. Láìsí rẹ̀, ọ̀nà tí ó sọnù nínú tábìlì 51820 ṣubú sí ìsopọ̀ òkè àṣà, àkọsílẹ̀ sì ń fi ìdákẹ́jẹ́ tú ìrìnàjò tí ìlànà yẹ kí ó mú jáde. Pẹ̀lú rẹ̀, ìkùnà kan náà di àkókò ìparí, ìyẹn dídènà dípò ọ̀nà ìpamọ́.

Pa ofin àdírẹ́sì àdúgbò déédé mọ́ níwájú àwọn wọ̀nyí, kí o sì pinnu pẹ̀lú ìmọ̀ bóyá àwọn ìyàtọ̀ LAN tàbí ìṣàkóso wà ṣáájú tábìlì tí a yàn. Ọ̀nà àkọ́kọ́ tí a rí níbẹ̀ kò béèrè lọ́wọ́ main nígbà tí ó yá fún ọ̀nà LAN kan pàtó, èyí tí ó ń ya àwọn tí wọ́n ń retí ìbámu àkọ́kọ́ pípẹ́ jùlọ láàrin àwọn tábìlì lẹ́nu. Kọ àkọsílẹ̀ àwọn ìyàtọ̀ tí a ní lọ́kàn sínú àkọsílẹ̀ àyípadà nígbà tí ìdí náà ṣì tuntun.

Ohun tí ìtọ́nisọ́nà UID ń fi sílẹ̀: DNS

Daemon olùyanjú ń ṣí àwọn soketi òkè rẹ̀ lábẹ́ UID tirẹ̀, nítorí náà yíyan 1500 kò gbé àwọn ìbéèrè yẹn lọ sí tábìlì 51820. Ìsopọ̀ DNS jẹ́ ìpinnu lọ́tọ̀: tọ́ka àkọsílẹ̀ sí olùyanjú tí a lè dé nípasẹ̀ tunnel, tàbí gbà pé ìyanjú orúkọ ń tẹ̀lé ọ̀nà ẹrọ ṣùgbọ́n ìrìnàjò kò tẹ̀lé.

Ìbéèrè loopback sí stub àdúgbò kì í ṣe ẹ̀rí pé ìbéèrè òkè lo ọ̀nà ẹ̀rọ ìṣàwárí, bẹ́ẹ̀ ni ìgbéjáde ojú-ìwé tí ó ṣàṣeyọrí láti cache kì í ṣe ẹ̀rí.

IPv6 nílò gbólóhùn tirẹ̀ nínú àpẹẹrẹ

Àwọn ofin tí ó wà lókè ń bo IPv4 nìkan. Tí ìbéèrè bá jẹ́ tunnel IPv4 láìsí IPv6 tààrà láti àkọsílẹ̀ yìí, fi ofin ìparí tí a ti yẹ̀wò kún, bí ip -6 rule add priority 12101 uidrange 1500-1500 unreachable, lẹ́yìn náà ṣàyẹ̀wò àwọn ofin IPv6 ṣáájú àti àwọn ìyàtọ̀ loopback tí o fẹ́ pa mọ́.

Dídènà IPv6 tààrà kì í ṣe tunnel ìpele méjì; ó jẹ́ ààlà. Pípè é ní tunnel yóò da ẹni tí yóò ka ìlànà lẹ́yìn rú, ìdàrúdàpọ̀ náà yóò sì farahàn gẹ́gẹ́ bi tikẹ́tì ìrànwọ́ nípa ojú-ìwé IPv6 tí ó ti bajẹ́.

Ṣàyẹ̀wò pẹ̀lú àkọsílẹ̀ gidi, lẹ́yìn náà gba ojúṣe ìyípo ìgbésí ayé

Fi àwọn ìwádìí wé: ip -4 route get 198.51.100.25 uid 1500 sí ibi kan náà pẹ̀lú UID déédé. Lẹ́yìn náà ṣe ìbéèrè tí a gbà lábẹ́ àkọsílẹ̀ àkànṣe kí o sì ṣàyẹ̀wò àdírẹ́sì orísun tí ẹ̀gbẹ́ jínjìn rí. Àdírẹ́sì orísun tí a fẹ́ kì í ṣe source NAT, kò sì ní borí ètò tí ó so nnkan mìíràn. Tí àwọn ìwádìí méjèèjì bá dá ọ̀nà kan náà padà, ofin náà kò ṣe ohun tí o rò.

Pa tábìlì, àwọn ofin àti ọjọ́ orí ọ̀nà tunnel mọ́ lábẹ́ olówó kan, dán ìsopọ̀ padà àti pípàdánù tunnel wò, àti nígbà tí a bá yọ ìlànà kúrò yọ àwọn àkọsílẹ̀ pàtó rẹ̀ nìkan. Namespace ṣì wà tí àwọn ìtẹ̀jáde lọ́tọ̀ àti ipò lọ́tọ̀ bá jẹ́ ohun tí o nílò ní ti gidi.

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