Tún bí sáfà náà nígbà tí kò sí ẹni tó wọlé, kí o sì so mọ́ ọn láti nẹ́tíwọ́kì tí ìwọ kò ṣàkóso. Ìdánwò kan yìí ni ó ń dáhùn bóyá ìpadàbọ̀ náà jẹ́ ojúlówó, nítorí ọ̀nà abẹ́lẹ̀ tí kì í ṣiṣẹ́ bí kò ṣe lẹ́yìn tí ẹnìkan bá fi ọwọ́ ṣe àṣẹ kan kì í ṣe ìpadàbọ̀, ó jẹ́ àtúnṣe. Ọ̀pọ̀ àwọn àyẹ̀wò máa ń dúró ní àkókò púpọ̀: daemon náà máa ń hàn bí ó ń ṣiṣẹ́, interface náà máa ń gòkè wá, ṣùgbọ́n ojú-ìwé náà kò ní gbé. Àlàfo náà fẹ́rẹ̀ẹ́ máa ń wà nínú ìdúróṣinṣin àwọn ẹ̀ka tó yí ọ̀nà abẹ́lẹ̀ náà ká, kì í ṣe nínú àṣẹ ọ̀nà abẹ́lẹ̀ náà fúnra rẹ̀.

Olówó mẹ́rin, ìdánwò mẹ́rin ọ̀tọ̀ọ̀tọ̀

Kí o tó tún bí, dárúkọ ohun tó yẹ kí ó mú ọ̀nà abẹ́lẹ̀ náà padà. Ìdánwò tí ìwọ ń ṣe àti àtúnṣe tí ìwọ ń lò, àwọn méjèèjì sinmi lórí ìdáhùn yẹn, àwọn olówó mẹ́rin sì wà tí ó wọ́pọ̀: unit systemd fún iṣẹ́ VPN, unit àpẹẹrẹ wg-quick fún interface WireGuard, runtime container, tàbí profáìlì olùṣàkóso nẹ́tíwọ́kì. Bí ìwọ kò bá lè dárúkọ olówó náà, dúró kí o sì wá a, nítorí ìdánwò àtúnbí láìsí ọ̀nà ìbẹ̀rẹ̀ tí a retí ń sọ fún ọ pé ohun kan ṣẹlẹ̀ nìkan.

Olówó kọ̀ọ̀kan máa ń tọ́jú ìṣètò rẹ̀ sí ibòmíràn. Sáfà OpenVPN tí systemd ń ṣàkóso máa ń ka ìṣètò rẹ̀ nígbà ìbẹ̀rẹ̀, nítorí náà ohun tí ó wà nínú fáìlì ní àkókò boot ni ó ń ṣiṣẹ́. Interface wg-quick máa ń gba àwọn àdírẹ́sì, àwọn ọ̀nà àti DNS láti inú fáìlì kan náà, èyí sì túmọ̀ sí pé interface tí a fi ọwọ́ gbé sókè láti shell tí a kò sì yáá mú ṣiṣẹ́ gẹ́gẹ́ bí unit kò ní padà. Container máa ń mú ibi ìwọlé rẹ̀ padà ṣùgbọ́n kì í mú àwọn àyípadà firewall ti host padà, àyàfi bí àwọn wọnnì bá wà ní ìta container.

Ìpilẹ̀ àkọ́kọ́, bí bẹ́ẹ̀ kọ́ èsì náà kò ní ìtumọ̀

Ṣàkọsílẹ̀ ipò tí ń ṣiṣẹ́ nígbà tí ó ń ṣiṣẹ́: àwọn àdírẹ́sì lórí ọ̀nà abẹ́lẹ̀, àwọn ọ̀nà fún subnet alábàáṣepọ̀, àwọn òfin NAT tàbí gbígbé jáde, socket tí ń gbọ́, àti sysctl gbígbé jáde. ip addr show wg0, ip route, nft list ruleset tàbí iptables-save, ss -lunp àti sysctl net.ipv4.ip_forward tó ní ọ̀pọ̀ host.

Ṣàkọsílẹ̀ bí a ṣe ṣètò iṣẹ́ náà láti bẹ̀rẹ̀, kì í ṣe pé ó ń ṣiṣẹ́ nìkan. systemctl is-enabled wg-quick@wg0 àti systemctl is-active wg-quick@wg0 ń dáhùn àwọn ìbéèrè ọ̀tọ̀ọ̀tọ̀, ipò tí a ti mú ṣiṣẹ́ ni ó ṣe pàtàkì ní àkókò boot, gẹ́gẹ́ bí a ti ṣàpèjúwe nínú systemctl(1). Fún OpenVPN, ṣàyẹ̀wò irú àpẹẹrẹ tí host náà ń lò, nítorí openvpn@server àti openvpn-server@server jẹ́ unit ọ̀tọ̀ọ̀tọ̀ pẹ̀lú àwọn àìpẹ́ ọ̀tọ̀ọ̀tọ̀.

Ṣe àtúnbí náà kí o sì ka ìkùnà àkọ́kọ́

Tún bí pẹ̀lú ìmọ̀ọ́mọ̀, nínú àkókò tí ìwọ yàn, pẹ̀lú console tàbí ọ̀nà ìta-band tí ó ṣí. Wo ìtòlẹ́sẹẹsẹ àwọn ìṣẹ̀lẹ̀ dípò ipò ìparí: host wà ní àárín, unit ti ṣiṣẹ́, interface wà, àwọn ọ̀nà ti fi sórí ẹ̀rọ, àwọn òfin firewall wà, olùgbọ́ ti so, alábàáṣepọ̀ ti gbà. Ìgbésẹ̀ àkọ́kọ́ tí kò ṣẹlẹ̀ ni àwárí; ohun gbogbo tí ó tẹ̀lé e jẹ́ ariwo.

Iṣẹ́ lè ń ṣiṣẹ́ nígbà tí ọ̀nà abẹ́lẹ̀ kò lè lò, èyí sì ni àṣeyọrí èké tí ó wọ́pọ̀ jùlọ. Ìbẹ̀rẹ̀ lè parí kí nẹ́tíwọ́kì tó wà lórí ayélujára bí unit náà bá ń dúró de network.target nìkan dípò network-online.target. Àwọn fáìlì tí a tọ́ka sí bí iwe-ẹ̀rí, kọ́kọ́rọ́ tàbí CRL lè má ṣeé kà ní àkókò yẹn nítorí mount tàbí ọ̀nà àṣírí kò tíì ṣetán. Kò sí ìṣòro méjèèjì tí ó hàn nínú systemctl status títí ìwọ yóò fi ka ìwé ìròyìn unit.

Dán wò láti ìta host. Alábàáṣepọ̀ kan nínú LAN kan náà lè ṣàṣeyọrí nípasẹ̀ ọ̀nà tí kò sí alábàáṣepọ̀ ọ̀nà jínjìn tí yóò lò, àti ìpàdé SSH sí ẹ̀rọ náà kò fi ohunkóhun hàn nípa ọ̀nà abẹ́lẹ̀. So mọ́ ọn, yanjú orúkọ inú, dé ibi-ìní náà, kí o sì tún so mọ́ ọn lẹ́ẹ̀kan láti jẹ́rìí pé ipò ìfagilé àti àwọn kọ́kọ́rọ́ ṣì kan.

Àwọn ipò mẹ́ta tí ó pinnu àtúnṣe rẹ

Bí ọ̀nà abẹ́lẹ̀ bá padà ṣùgbọ́n àwọn alábàáṣepọ̀ kò dé ibikíbi, ìkùnà wà nínú ìtọ́sọ́nà tàbí ìdúróṣinṣin NAT. Bí àwọn alábàáṣepọ̀ kò bá tilẹ̀ lè pari ìfọwọ́sowọ́pọ̀, ìkùnà wà nínú interface tàbí ohun èlò ìjẹ́rìí. Bí iṣẹ́ náà kò bá bẹ̀rẹ̀ rárá, ìkùnà wà nínú fáìlì unit tàbí àwọn ohun tí ó gbára lé. Àwọn ẹ̀ka mẹ́ta wọ̀nyí ń yọrí sí àwọn àtúnṣe ọ̀tọ̀ọ̀tọ̀, ìdí nìyẹn tí àtúnbí afọ́jú láìsí ìpilẹ̀ fi ń gba àkókò ju èyí tí ó ń fi pamọ́ lọ.

Ṣe àtúnṣe níbi tí ìṣètò náà ti jẹ́ ohun-ìní. Fi gbígbé jáde sínú sysctl drop-in, fi àwọn òfin NAT sínú àkójọ òfin tí a ń gbé wọlé ní àkókò boot, mú unit ṣiṣẹ́ dípò bíbẹ̀rẹ̀ rẹ̀, kí o sì tọ́jú àwọn àṣírí sí ọ̀nà tí ó wà kí unit tó bẹ̀rẹ̀. Fífi orun kún unit ń fi ìgbẹ́kẹ̀lé pamọ́ dípò kí ó sọ ọ́.

Ṣàkọsílẹ̀ èsì náà nínú runbook

Kọ ohun tí ó fúnra rẹ̀ padà, ohun tí ó di dandan fún ọ láti bẹ̀rẹ̀, àti bí àlàfo náà ṣe pẹ́ tó. Fi àwọn àṣẹ gbòógì tí ìwọ lò láti ṣàyẹ̀wò kún un, kí ẹni tí ó kàn lè tún ìdánwò náà ṣe dípò kí ó ṣẹ̀dá tuntun. Bí ìgbésẹ̀ kankan bá nílò àṣẹ afọwọ́, àṣẹ yẹn jẹ́ ti ìṣètò, kì í ṣe ti runbook gẹ́gẹ́ bí ìgbésẹ̀ tòótọ́.

Lẹ́yìn náà ṣètò ìdánwò tí ó kàn fún lẹ́yìn àyípadà tí ó kàn nínú àkójọ nẹ́tíwọ́kì host, kì í ṣe fún ọjọ́ kalandà ní oṣù mẹ́fà síwájú. Irú ìkùnà tí ìwọ ń dènà ni àṣẹ ìgbà díẹ̀ tí ó dàbí tòótọ́, àwọn wọnnì sì ń farahàn gan-an nígbà tí ẹnìkan bá ṣàtúnṣe àwọn òfin firewall tàbí gbé iṣẹ́ lọ sí unit tuntun.

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