Module WireGuard kò gbé sókè lẹ́yìn ìmúdójúìwọ̀n kernel? Ṣàyẹ̀wò èyí
Module ìta gbọ́dọ̀ kọ́ sí kernel tí yóò gbé e sókè, kì í ṣe sí àkójọ orí tuntun jùlọ lórí disiki. Ṣàyẹ̀wò ìtújáde tí ń ṣiṣẹ́ kí o tó tún kọ́.
Ọ̀nà rẹ ń ṣiṣẹ́ lánàá, ẹ̀rọ náà tún bẹ̀rẹ̀ lẹ́yìn ìmúdójúìwọ̀n, àti ní báyìí ojú-ìsopọ̀ kò gòkè. Nínú ẹ̀rọ tí a ti kọ́ WireGuard gẹ́gẹ́ bí module ìta, ìdí tí ó sábà jẹ́ ni pé module tí ó wà lórí disiki jẹ́ ti ìtújáde kernel mìíràn yàtọ̀ sí èyí tí ń ṣiṣẹ́ báyìí. Àwọn orí tí wọ́n ní orúkọ tí ó jọra lórí ẹ̀rọ kan náà kò fi ohunkóhun hàn nípa ìbámọ̀ yẹn. Òǹkà ìtújáde nìkan ni ó ń pinnu èyí.
Kernel tí ń ṣiṣẹ́ tàbí tí a gbé sínú
Ìmúdójúìwọ̀n kan ń gbé àkójọ kernel tuntun sínú, ó sì fi èyí àtijọ́ sílẹ̀ lórí disiki títí ẹ̀rọ yóò fi tún bẹ̀rẹ̀. Lẹ́yìn àtúnbẹ̀rẹ̀, ìtújáde tí ń ṣiṣẹ́ yóò yípadà, àti gbogbo module tí a kọ́ sí èyí tí ó ṣáájú yóò di aláìló, bí ó tilẹ̀ jẹ́ pé àwọn fáìlì rẹ̀ wà níbẹ̀. Àlàfo yẹn ń ṣàlàyé ìròyìn tí a mọ̀ nípa ẹ̀rọ tí ó dára kí àtúnbẹ̀rẹ̀ tó ṣẹlẹ̀ tí ó sì bàjẹ́ lẹ́yìn náà, láìsí ìyípadà ìtòlẹ́sẹẹsẹ kankan ní àárín. Ó tún ṣàlàyé ìdí tí àtúnsínú àwọn orí fi ń dàbí ẹni pé ó yanjú ìṣòro nígbà mìíràn tí kì í sì í ní ìgbà mìíràn.
Àkójọ orí tí o ń gbé sínú lè bá àkójọ kernel tuntun jùlọ mu dípò kernel tí ó gbà lóòótọ́, kò sì sí ohunkóhun nínú orúkọ àkójọ tí ó ń yàtọ̀ àwọn ìṣẹ̀lẹ̀ yẹn; òǹkà ìtújáde nìkan ni ó ń ṣe é. Ṣàyẹ̀wò ohun tí ń ṣiṣẹ́ kí o tó ṣàyẹ̀wò ohun tí a ti gbé sínú.
Àyẹ̀wò mẹ́ta kí àtúntò tó bẹ̀rẹ̀
Àyẹ̀wò àkọ́kọ́ ni irú kernel tí ń ṣiṣẹ́. Èkejì ni bóyá module wà fún ìtújáde yẹn àti bóyá a lè rí i. Ẹ̀kẹta ni bóyá kernel ti gbé e sókè tẹ́lẹ̀. Ìbéèrè kẹrin, bóyá a lè dá ojú-ìsopọ̀, ń dán àwọn ẹ̀tọ́ wò dípò module, nítorí náà ipò rẹ̀ wà lẹ́yìn àtúntò, kì í ṣe nínú àkójọ yìí.
Àwọn àṣẹ tí ó wà nísàlẹ̀ ń dáhùn àwọn mẹ́ta àkọ́kọ́ láìyí ohunkóhun padà. Ka gbogbo èsì kí o tó tẹ̀síwájú, nítorí gbogbo ìdáhùn ń yọ àtúnṣe mìíràn kúrò.
uname -r
ls -l /lib/modules/$(uname -r)/build
modinfo wireguard
lsmod | grep wireguard
Bí ìlà kejì bá sọ pé ọ̀nà kò sí, àyíká ìkọ́ fún kernel tí ń ṣiṣẹ́ kò sí, kò sì sí ohunkóhun tí o bá kọ́ tí yóò bá a mu. Bí modinfo bá kùnà bí ó tilẹ̀ jẹ́ pé ọ̀nà wà, module lè máà ti gbé sínú rárá, èyí sì jẹ́ deede lórí àwọn kernel tí wọ́n ń pèsè ìmúṣẹ nínú igi. Bí modinfo bá yọrí sí rere tí lsmod kò sì fi ohunkóhun hàn, module wà ṣùgbọ́n kò gbé sókè, èyí jẹ́ ìṣòro àkókò gbígbé kì í ṣe ti ìkọ́. Gbogbo èsì ń rán ọ sí ibòmíì, nítorí náà kíkà ṣe pàtàkì ju àwọn àṣẹ lọ.
Kọ́ sí ìtújáde tí ń ṣiṣẹ́
A ń kọ́ module ìta sí igi kernel tí a ti múra sílẹ̀, àti ìtọ́sọ́nà kernel fún àwọn module ìta ń ṣàlàyé lílo àpótí ìkọ́ tí ó jẹ́ ti kernel tí ń ṣiṣẹ́ dípò èyí tí ó ní nọ́mbà ẹ̀dá tí ó ga jùlọ. Àpótí ìkọ́ yẹn jẹ́ ìsopọ̀ àpẹẹrẹ tí àkójọ kernel ń tọ́jú, nítorí náà ó ń tọ́ka sí igi ìtújáde tí a gbé sókè báyìí. Ìyọkuro náà ni kókó gan-an: ó ń yọ àṣàyàn kan kúrò tí ìwọ ìbá ṣe lọ́nà tí kò tọ́. Dídárúkọ rẹ̀ ní kedere ń jẹ́ kí àfojúsùn di aláìní ìtakùn.
Àlàyé kan ṣe pàtàkì nígbà tí a bá mú igi mura sílẹ̀ nìkan tí a kò kọ́ ọ ní kíkún. Àfojúsùn ìmúrasílẹ̀ kò ṣe fáìlì ẹ̀dá àmì tí àwọn ìkọ́ ìta kan nílò, nítorí náà igi tí ó kún fún orí kì í ṣe àyíká ìkọ́ kíkún lọ́nà aládàáṣe. Bí ìkọ́ bá kùnà nítorí àwọn àmì tí ó ṣẹ́ kù, fáìlì yẹn ni ibi àkọ́kọ́ láti wò.
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo depmod -a
Nígbà tí àwọn orí tí a ṣàkójọ bá dẹ̀yìn
Lórí àwọn pínpín àti kọ̀mpútà pátákó kan tí wọ́n ń ṣàkójọ kernel tiwọn, àwọn orí lè dẹ̀yìn ní ọjọ́ tàbí ọ̀sẹ̀ lẹ́yìn ìtújáde. Àkójọ orí lè tọ́ ní orúkọ tí ó sì dagba ní àkóónú, èyí tí ó ń mú ìkọ́ tí ó ń ṣiṣẹ́ tí yóò sì kùnà nígbà gbígbé dípò nígbà ìkọ́. Dídàpọ̀ àwọn orísun ń mú kí ó burú sí i: kernel pínpín pẹ̀lú orí láti ibi ìpamọ́ ẹnìkẹta, tàbí kernel olùpèsè pẹ̀lú orí gbogbogbò, lè kọ́ lọ́nà mímọ́ tí kernel tí ń ṣiṣẹ́ yóò sì ṣì kọ̀ ọ́ nítorí ìtòlẹ́sẹẹsẹ yàtọ̀. Àwọn nọ́mbà ẹ̀dá nìkan kò yanjú èyí.
Bí ẹ̀rọ bá ń tẹ̀lé ọ̀nà kernel àdánwò, pinnu pẹ̀lú ìmọ̀ bóyá ìwọ yóò dúró níbẹ̀ pẹ̀lú àwọn ohun ìkọ́ tí ó bá mu tàbí padà sí àkójọ àkójọ tí a kà. Àtúnyẹ̀wò ìmúdójúìwọ̀n àti ìrètí pé àwọn ẹ̀ka yóò bá ara wọn mu kì í ṣe ètò, nítorí àìbámọ̀ kan náà ń tún jáde ní gbogbo ìgbà.
Ṣàyẹ̀wò ojú-ìsopọ̀ lẹ́yìn àtúntò
Lẹ́yìn gbígbé sínú tí ó yọrí sí rere, dídá ojú-ìsopọ̀ ni ìdánwò tí ó ṣe pàtàkì, lẹ́yìn náà kíkà ohun tí kernel gbé sókè ní ti gidi àti ohun tí àkọsílẹ̀ sọ bí ó bá kọ̀. Module tí ó ń gbé sókè àti ojú-ìsopọ̀ tí a kò lè dá jẹ́ àìṣeéṣe oríṣiríṣi pẹ̀lú àwọn ìdí oríṣiríṣi. Àwọn àṣẹ mẹ́ta tí ó wà nísàlẹ̀ ń yà wọ́n.
sudo ip link add wg9 type wireguard
lsmod | grep wireguard
sudo dmesg | tail -5
Bí module bá kọ̀ láti gbé sókè, àkọsílẹ̀ kernel ń dárúkọ ìdí, àti àìbámọ̀ ẹ̀dá jẹ́ ọ̀kan nínú àwọn ṣeéṣe nìkan. Ka ìlà yẹn kí o tó tún kọ́, nítorí ìkọ́ kejì tí ó jẹ́ bákan náà yóò lo ìṣẹ́jú mẹ́wàá kan náà yóò sì fún ní ìkọ̀ kan náà. Lẹ́yìn náà yọ ojú-ìsọpọ̀ ìgbà díẹ̀ kúrò kí ìdánwò tó kàn lè bẹ̀rẹ̀ láti ipò mímọ́.