Uanzishaji wa kwanza unashindikana kwa ujumbe kuhusu /dev/net/tun au kifaa cha TUN/TAP ambacho hakiwezi kufunguliwa. Vyeti bado havijasomwa, kwa hiyo hakuna kitu kwenye wasifu kinacholaumiwa. Daemon inaomba kernel kifaa ambacho mgeni huyu hana.

Kifaa hicho ni kifaa cha herufi kinachotolewa na moduli ya tun. Ikiwa unaweza kukitengeneza inategemea nani anamiliki kernel.

Daemon inaomba nini kutoka kwa kernel

OpenVPN hufungua /dev/net/tun na kuomba dereva kiolesura. Dereva ni moduli ya tun, na nodi ya kifaa ni kipini ambacho nafasi ya mtumiaji hutumia kuifikia. Ikiwa moduli haijapakiwa, nodi inaweza kukosekana au ufunguzi unaweza kushindikana. Hakuna hali yoyote inayorekebishwa kwa kuhariri server.conf.

Soma hitilafu hii kwanza kama swali kuhusu jukwaa. Hitilafu ya usanidi huonekana baada ya kifaa kufunguliwa, si kabla.

VM au mgeni anayeshiriki kernel

Kwenye KVM, Xen au mashine nyingine kamili ya mtandao, wewe unadhibiti kernel. Unaweza kupakia moduli na kutengeneza nodi. Kwenye OpenVZ, Virtuozzo au kontena la mtindo wa LXC, mgeni hushiriki kernel ya mwenyeji, kwa hiyo root ndani yake hawezi kupakia moduli ambayo mwenyeji hakupakia.

Kwa hiyo kushindikana huko kuna wamiliki wawili tofauti sana. Katika kesi ya kwanza unaweza kuirekebisha kutoka ndani ya instansi. Katika ya pili unaomba mwenyeji, au mtoa huduma, aonyeshe kitu.

Endesha ls -l /dev/net/tun, lsmod | grep tun na ip -brief link show kabla ya kuamua uko katika kesi gani.

Kwenye VM, pakia moduli wakati wa kuwasha

Kwenye mashine ya mtandao, modprobe tun kwa kawaida hutengeneza nodi ya kifaa. Hakikisha imeonekana, kisha fanya upakiaji uwe wa kudumu kupitia usanidi wa moduli wa usambazaji badala ya kutegemea amri iliyochapwa mara moja. Nodi inayotoweka baada ya kuwasha upya huwa tikiti hiyo hiyo mwezi ujao.

Pia hakikisha kernel uliyoiwasha ina moduli hiyo hata kidogo. Kernel ya mtoa huduma iliyopunguzwa inaweza kuikosa.

Ikiwa nodi ipo lakini ufunguzi bado unashindikana, washukiwa wafuatayo ni ruhusa na namba za major/minor za kifaa. Hizo ni marekebisho ya ndani, si maombi kwa mtoa huduma.

Kwenye kontena, kifaa kinamilikiwa na mwenyeji

Kwenye kontena, kifaa na uwezo ni mahitaji mawili tofauti. Runtime lazima ipitishe /dev/net/tun, na kontena linahitaji uwezo wa mtandao kutengeneza kiolesura. Runtime isiyo na root isiyotoa chochote kati ya hivyo itaendelea kutoa hitilafu hiyo hiyo ya ufunguzi, jinsi wasifu ulivyoandikwa. Wengi wa wenyeji wa OpenVZ hutoa kitufe cha TUN/TAP kwenye paneli ya mteja, na kukiwasha pamoja na kuwasha upya mara nyingi ndiyo suluhisho lote.

Uliza mtoa huduma maswali mawili sahihi: moduli ya tun imepakiwa kwenye mwenyeji, na kifaa kinapatikana ndani ya instansi hii? Tikiti isiyo wazi hupata jibu lisilo wazi.

Kwa nini kujenga upya moduli mara chache husaidia

Kujenga moduli ndani ya mgeni mara chache husaidia. Ujumuishaji unahitaji usanidi wa kernel inayoendesha hasa, na /proc/config.gz ni ya hiari na mara nyingi haipo kwenye picha ndogo. Hata moduli inayofanya kazi haiwezi kuingizwa kwenye kernel ambayo kontena halimiliki.

Baada ya kifaa kuonekana, anzisha upya huduma na uthibitishe kiolesura kabla ya kujaribu trafiki. Kuona tun0 kunaonyesha daemon ilifungua kifaa. Bado haisemi chochote kuhusu uelekezaji, kanuni za firewall au njia ambazo wateja hupokea.

Haya ni maswali tofauti na ushahidi tofauti. Kifaa kinachokosekana ni kushindikana kwa sharti la awali; handaki inayopo lakini haibebi chochote ni kushindikana kwa sera.

Makala zinazohusiana