Tunnel-kaagu shalay wuu shaqeynayay, mashiinku wuu dib u bilaabmay cusboonaysiinta ka dib, haddana interface-ku ma soo baxo. Nidaamka WireGuard loogu dhiso module dibadeed ahaan, sababta caadiga ah waa in module-ka disk-ka uu ka tirsan yahay nuqul kernel ah oo ka duwan kan hadda socda. Madaxyada magac la mid ah oo isla mashiinka ku yaal waxba kama caddeeyaan iswaafajintaas. Kaliya xarigga nuqulka ayaa taas go'aamiya.

Kernel socda ama mid rakiban

Cusboonaysiin waxay rakibtaa baakad kernel cusub oo kan hore ku reebtaa disk-ka ilaa mashiinku dib u bilaabmo. Dib u bilaabista ka dib nuqulka socda wuu is beddelaa, module kasta oo loo dhisay kii hore wuu noqdaa mid aan la isticmaali karin inkasta oo faylashiisu weli yaalliin. Farqigaas ayaa sharraxaya warbixinta caanka ah ee mashiin fiicnaa ka hor dib u bilaabista oo xumaaday ka dib, iyada oo aan wax isbeddel ah ku imanin habaynta inta u dhaxaysa. Waxay kaloo sharraxaysaa sababta dib u rakibidda madaxyada mararka qaarkood u ekaato inay xalliso dhibaatada mararka kalena aanay u ekaan.

Baakadda madaxyada aad rakibtid waxaa laga yaabaa inay la midoobto baakadda kernel-ka ugu cusub halkii ay la midoobi lahayd kernel-ka dhab ahaan la bilaabay, mana jiro wax ku jira magaca baakadda oo kala saara xaaladahaas; kaliya xarigga nuqulka ayaa sidaas sameeya. Hubi waxa socda ka hor inta aanad hubin waxa rakiban.

Saddex hubin ka hor dib u dhiska

Hubinta ugu horreysa waa kee kernel-ka socda. Tan labaad waa in module loo heli karo nuqulkaas oo la heli karo iyo in kale. Tan saddexaad waa in kernel-ku horey u raray iyo in kale. Su'aasha afraad, oo ah in interface-ka la abuuri karo, waxay tijaabisaa awoodaha ee ma aha module-ka, sidaas darteed meesheedu waa dib u dhiska ka dib ee ma aha liiskan.

Amarrada hoose waxay ka jawaabaan saddexda hore iyada oo aan waxba beddelin. Akhri natiijo kasta ka hor inta aanad sii socon, sababtoo ah jawaab kastaa waxay meesha ka saaraysaa hagaajin kale.

uname -r
ls -l /lib/modules/$(uname -r)/build
modinfo wireguard
lsmod | grep wireguard

Haddii safka labaad sheegayo in waddadu aanay jirin, deegaanka dhismaha kernel-ka socda ayaa maqan oo wax kasta oo aad kompileyno lama mid noqon doono. Haddii modinfo guuldareysto iyada oo waddadu jirto, waxaa laga yaabaa in module-ka aanu haba yaraatee rakibnayn, taas oo caadi u ah kernel-ada fulinta gudaha geedka ku bixiya. Haddii modinfo guuleysto oo lsmod waxba tusin, module-ku wuu jiraa laakiin lama rarin, taas oo ah dhibaatada waqtiga raridda ee ma aha dhismaha. Natiijo kastaa meel kale ayay kuu diraysaa, sidaas darteed akhrintu way ka muhimsan tahay amarrada.

Ku dhis nuqulka socda

Module dibadeed waxaa lagu kompileeyaa geed kernel diyaarsan, oo hagaha kernel-ka ee module-ada dibadda wuxuu qeexayaa isticmaalka galka dhismaha ee ka tirsan kernel-ka socda ee ma aha galka leh lambarka nuqulka ugu sarreeya. Galkaas dhismaha waa xiriir calaamadeed oo ay maamusho baakadda kernel-ka, sidaas darteed wuxuu tilmaamayaa geedka nuqulka hadda la bilaabay. Dadbanida ayaa runtii ah qodobka: waxay meesha ka saaraysaa doorasho aad si kale u khaldami lahayd. Magaca qeexan ayaa bartilmaameedka ka dhigaya mid aan mugdi ku jirin.

Hal faahfaahin ayaa muhiim ah marka geedka la diyaariyay oo aan si buuxda loo dhisin. Bartilmaameedka diyaarinta ma soo saaro faylka nuqulka calaamadaha ee qaar ka mid ah dhismayaasha dibadda u baahan yihiin, sidaas darteed geed madaxyo ka buuxaan si otomaatig ah ma aha deegaan dhisme buuxa. Haddii dhismuhu ku guuldareysto calaamado maqan, faylkaas ayaa ah meesha ugu horreysa ee la eegayo.

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

Marka madaxyada baakadaysan ay dib u dhigaan

Qaybinta iyo kombuyuutarrada hal-loox oo baakadeeya kernel-adooda, madaxyadu waxay ka dambeyn karaan nuqulka maalmo ama toddobaadyo. Baakadda madaxyadu waxay noqon kartaa mid magac ahaan sax ah oo ka duqsan nuxur ahaan, taas oo soo saarta dhisme kompileeya oo dabadeed ku guuldareysta waqtiga raridda ee ma aha inta lagu jiro kompilaynta. Isku darka ilo ayaa ka sii daraya: kernel qaybineed oo leh madaxyo ka yimid kayd dhinac saddexaad, ama kernel soo saare oo leh madaxyo guud, wuu si nadiif ah u kompileyn karaa oo haddana kernel-ka socda wuu diidi karaa sababtoo ah habayntu way duwan tahay. Lambarrada nuqulka kaliya ma xalliyaan taas.

Haddii mashiinku raaco kanaal kernel tijaabo ah, si miyir leh u go'aanso inaad halkaas ku sii nagaan doonto artefaktyo dhisme oo u dhigma ama aad ku laaban doonto qaybta baakadaha la taageeray. Ku celcelinta cusboonaysiinta iyo rajada ah in qaybaha is waafajiyaan ma aha qorshe, sababtoo ah ismaandhaafkaas ayaa soo noqnoqda mar kasta.

Hubi interface-ka dib u dhiska ka dib

Ka dib rakibid guul leh, abuurista interface-ka waa tijaabada muhiimka ah, ka dibna akhri waxa kernel-ku dhab ahaan raray iyo waxa diiwaanku sheegayo haddii uu diiday. Module la raro iyo interface aan la abuuri karin waa guuldarrooyin kala duwan oo leh sababo kala duwan. Saddexda amar ee hoose ayaa kala sooca.

sudo ip link add wg9 type wireguard
lsmod | grep wireguard
sudo dmesg | tail -5

Haddii module-ku diido inuu raro, diiwaanka kernel-ku wuxuu sheegaa sababta, oo ismaandhaafka nuqulku waa mid ka mid ah suurtagalnimada oo kaliya. Akhri safkaas ka hor inta aanad dib u dhisin, sababtoo ah dhisme labaad oo isku mid ah wuxuu qaataa isla toban daqiiqadood oo wuxuu bixiyaa isla diidmo. Kadib ka saar interface-ka ku meel gaadhka ah si tijaabada xigta ay uga bilaabato xaalad nadiif ah.

Maqaallo la xiriira