Yíyí default-address-pools kò tún nọ́mbà àwọn nẹ́tíwọ́ọ̀kì tí o ti ní, àti ríretí ìyẹn ni ọ̀nà tí ètò ṣọ́ra fi di ìdálẹ́sẹ̀ àìròtẹ́lẹ̀. Ètò yìí ń ṣàkóso ìpínpín àìpéyọrí fún àwọn nẹ́tíwọ́ọ̀kì tí a dá lẹ́yìn tí daemon bá tún bẹ̀rẹ̀ pẹ̀lú ìṣètò tuntun. Gbogbo ohun tí ń ṣiṣẹ́ tẹ́lẹ̀ ń pa subnet tí a fún un mọ́, nítorí pé subnet yẹn jẹ́ apá kan ìtumọ̀ tí a fi pamọ́ ti nẹ́tíwọ́ọ̀kì. Ìtàn àròsọ yìí rọrùn nítorí pé ó dábàá pé àtúnṣe kan ń tún gbogbo ìfarapa ṣe, ṣùgbọ́n òtítọ́ ni iṣẹ́ apá méjì: yan ìlà tí ó wà ní òmìnira gan-an, lẹ́yìn náà kó àwọn nẹ́tíwọ́ọ̀kì tí kò sí ní òmìnira lọ.

Ìtàn àròsọ: àtúnṣe póòlù kan ń tún ìfarapa ṣe

Ìtàn àròsọ yìí ní àpẹẹrẹ pàtó. Ẹnìkan kà pé a lè yí póòlù àìpéyọrí Docker, ó yí i, ó tún daemon bẹ̀rẹ̀, ó sì parí pé nẹ́tíwọ́ọ̀kì kọ́ńtéènà kò tún bá VPN ọ́fíìsì jà mọ́. Nẹ́tíwọ́ọ̀kì àtijọ́ ṣì wà níbẹ̀, ṣì so mọ́, ó sì ṣì di àdírẹ́sì tí ń bá a jà mú.

Ohun tí ó yí padà ni ìhùwàsí ọjọ́ iwájú olùpínpín, èyí tí ó wúlò gan-an tí ó sì ní ààlà gan-an. Àwọn nẹ́tíwọ́ọ̀kì tuntun tí a dá láìsí --subnet tí ó ṣe kedere ni a ń gé kúrò nínú póòlù tuntun; àwọn tí ó wà tẹ́lẹ̀ kò sí nínú póòlù yẹn rí. Àtúndá bẹ̀rẹ̀ kò tún àwọn nẹ́tíwọ́ọ̀kì kọ́, kò sì gbé àwọn kọ́ńtéènà káàkiri láàrín wọn. Bí àmì bá ṣì wà lẹ́yìn àtúnṣe, àtúnṣe náà jẹ́ gidi, ìwádìí sì pé.

Ìlà ìpìlẹ̀ àti ìpèfún tí a pín

Ìṣètò ní pápá méjì tí ó rọrùn láti dàpọ̀. base ni ìlà tí olùpínpín ń gé, size sì ni gígùn ìpèfún nẹ́tíwọ́ọ̀kì kọ̀ọ̀kan tí a pín, nítorí náà ìpìlẹ̀ 10.10.0.0/16 pẹ̀lú ìwọ̀n 24 ń pín /24 nínú /16 yẹn. Yíyí àwọn ipa padà ń dá àpẹẹrẹ ìpínpín tí o kò ní lọ́kàn, ní ọ̀pọ̀ ìgbà nẹ́tíwọ́ọ̀kì ńlá kan tàbí póòlù tí ó ti tán.

Póòlù ni ìforíṣíde, kì í ṣe ẹ̀rí. Docker ń yẹra fún àwọn ìjà tí ó rí nínú tábìlì ọ̀nà ti agbàlejò, kò sì lè rí VPN tí o kò tíì so pẹ̀lú.

Ààlà yẹn ni gbogbo ìdí láti yan pẹ̀lú ìmọ̀. Àwọn ìlà láti fi wé ni àwọn tí agbàlejò gbọ́dọ̀ dé: LAN ọ́fíìsì, àwọn subnet inú VPN ilé-iṣẹ́, àwọn ìpèfún yàrá ìdánwò tàbí staging, àti agbàlejò kọ́ńtéènà mìíràn lórí overlay kan náà. Kọ wọ́n gẹ́gẹ́ bí CIDR kí o tó fọwọ́ kan daemon, nítorí àkọsílẹ̀ inú orí yóò pàdánù èyí tí ó ṣe pàtàkì gan-an. Lẹ́yìn náà yan ìpìlẹ̀ tí kò bá ọ̀kankan nínú wọn wọ́pọ̀, kí o sì pa àkọsílẹ̀ mọ́ pẹ̀lú ìmúṣẹ kí ẹni tí ó kàn lè má ṣe àtúnṣe iṣẹ́ náà látinú ìrántí.

Ṣe àkọsílẹ̀ kí o tó yan

Kọ́kọ́ ṣe àkọsílẹ̀ ohun tí ó wà. docker network ls ń ṣe àkọsílẹ̀ àwọn nẹ́tíwọ́ọ̀kì, docker network inspect bridge -f '{{.IPAM.Config}}' sì ń tẹ̀ subnet tí nẹ́tíwọ́ọ̀kì kan pàtó ń lò. Tún un ṣe fún gbogbo nẹ́tíwọ́ọ̀kì tí olùlò ṣàlàyé, nítorí àwọn iṣẹ́ Compose ń dá tiwọn, --subnet tí ó ṣe kedere nínú fáìlì compose sì ń forí gbogbo póòlù kọjá.

Kókó ìkẹyìn yẹn ni ó ń yè lẹ́yìn ìṣíkiri. Yíyí póòlù kò dá ẹlẹgbẹ́ dúró láti fi 172.18.0.0/16 kàn mọ́ fáìlì compose, ìjà sì ń padà wá pẹ̀lú òǹkọ̀wé mìíràn.

Ìṣíkiri ohun tí ó ti wà

Ìṣíkiri àwọn nẹ́tíwọ́ọ̀kì tí ó wà jẹ́ iṣẹ́ ọ̀tọ̀ tí a ṣe àtìlẹ́yìn fún. Gbogbo nẹ́tíwọ́ọ̀kì tí ó kan gbọ́dọ̀ di dídá padà pẹ̀lú subnet tuntun, èyí tí ó túmọ̀ sí yíyọ àwọn kọ́ńtéènà tí ń lò ó kúrò àti sísopọ̀ wọ́n padà, dídá nẹ́tíwọ́ọ̀kì padà sì ń yọ àwọn àsopọ̀ kọ́ńtéènà rẹ̀ kúrò dípò gbígbé wọn. Pa àwọn volume àti ìṣètò mọ́, kí o sì ka dídá padà gẹ́gẹ́ bí ìmúṣẹ kì í ṣe àtúntò dátà. Ṣe iṣẹ́ náà ní fèrèsé ìtọ́jú, nítorí àwọn kọ́ńtéènà lórí nẹ́tíwọ́ọ̀kì tí a dá padà yóò tún bẹ̀rẹ̀ bóyá o gbèrò rẹ̀ tàbí o kò gbèrò.

Tẹ̀lẹ́ ìṣètò daemon àti ìlànà àtúndá bẹ̀rẹ̀ tí a kọ sílẹ̀, kí o sì ṣe àfihàn ìdálẹ́sẹ̀ náà. Lórí agbàlejò tí ó ní daemon kan, systemctl restart docker ń tún àwọn kọ́ńtéènà bẹ̀rẹ̀ gẹ́gẹ́ bí ìlànà àtúndá bẹ̀rẹ̀ wọn, èyí sì jẹ́ ìhùwàsí tí ó yẹ kí a mọ̀ ṣáájú kì í ṣe lẹ́yìn.

Lẹ́yìn náà ṣàyẹ̀wò àwọn nǹkan méjì tí àtúnṣe yẹ kí ó tún ṣe. Ṣàyẹ̀wò subnet tuntun pẹ̀lú docker network inspect kí o sì fìdí rẹ̀ múlẹ̀ pé ó wà nínú ìpìlẹ̀ tí a yan, lẹ́yìn náà ṣàyẹ̀wò ọ̀nà sí ibi VPN aṣojú pẹ̀lú ip route get 10.20.30.40 kí o sì fìdí rẹ̀ múlẹ̀ pé ó ń lọ sí ibi tí o retí, kì í ṣe sínú afárá. Dán ìwárí iṣẹ́ àti ìbáṣepọ̀ kọ́ńtéènà-sí-kọ́ńtéènà wò pẹ̀lú, nítorí nẹ́tíwọ́ọ̀kì tí a dá padà pẹ̀lú àdírẹ́sì mìíràn lè ba ìyọjáde orúkọ jẹ́ ní ọ̀nà tí ó dàbí àṣìṣe ètò.

Kí ni ó ṣì ń bàjẹ́ lẹ́yìn náà

Apá tí ó dúró ni àkọsílẹ̀. Pa àkọsílẹ̀ ìpínpín, ìpìlẹ̀ àti ìwọ̀n tí a yan, àti àwọn nẹ́tíwọ́ọ̀kì tí a dá padà mọ́ ní ibi kan náà pẹ̀lú ìmúṣẹ.

Jíjẹ́ aládàáni ìlà kan kò mú kí ó ní ààbò fún àtúnlò. 10.0.0.0/8 jẹ́ aládàáni, ó sì tún jẹ́ ohun tí ó ṣeé ṣe jùlọ pé a ti ń lò ó níbìkan lórí ọ̀nà, ìdí nìyẹn tí ìdáhùn fi jẹ́ ìforíṣíde pàtó kì í ṣe ìfẹ́ sí blọ́ọ̀kù kan. Ìwé nẹ́tíwọ́ọ̀kì Docker ṣàlàyé ìpínpín subnet àìpéyọrí àti àwọn pápá póòlù. Yan ìlà náà ní ìbámu pẹ̀lú ohun tí o gbọ́dọ̀ dé, kì í ṣe ohun tí ó dàbí pé ó wà ní títọ́.

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