Kumbukumbu mpya za kontena mara nyingi huishia kwa malalamiko Read-only file system kuhusu /proc/sys/net/ipv4/route/flush, na mstari huo unalaumiwa kwa handaki ambalo linaweza kuwa zuri kabisa. Uandishi ulio nyuma yake unalenga kiingilio cha kerneli ambacho hakifanyi kitu chochote chenye manufaa sasa kwa kuwa akiba ya njia za IPv4 imetoweka. Ndani ya kontena /proc/sys hupachikwa kwa kusoma-tu, kwa hiyo uelekezaji upya unakataliwa kabla thamani yoyote kufika na shell huchapisha kukataa huko. Handaki linalofanya kazi linaweza kuchapisha onyo hili mradi mstari wa zamani unabaki kwenye script, na --privileged haifanyi uandishi kuwa na maana kamwe.

Script ilijaribu kufuta nini

Script za zamani za muunganisho ziliisha kwa usafishaji wa akiba: kuandika thamani kwenye faili la udhibiti la kerneli na kuomba rafu ya IPv4 kutupa akiba yake ya uelekezaji, ili njia mpya ya handaki ichaguliwe bila kusubiri maingizo ya zamani kuisha muda. Faili lilipewa anwani chini ya /proc/sys/net/ipv4/, jambo ambalo lilifanya kitendo kuwa uelekezaji upya wa shell badala ya amri ya uelekezaji. Kerneli 3.6 iliondoa akiba hiyo, na pamoja nayo sababu ya kuwepo kwa ufutaji. Hakuna kitu katika njia ya sasa ya data kinachotegemea uandishi huo.

Kiingilio chenyewe kilinusurika kama faili la zamani la kuandika-tu, kwa hiyo script inayoandika humo bado inafikia njia halisi na ukaguzi halisi wa ruhusa. Kwenye mwenyeji uandishi hurudisha mafanikio na haubadilishi kitu. Katika kontena uelekezaji upya huo huo unagonga /proc/sys ya kusoma-tu na kushindwa kwa EROFS, ambayo shell huichapisha kama ujumbe wa mfumo wa faili wa kusoma-tu. Kwenye kerneli ambazo njia haipo kabisa, maneno yanakuwa No such file or directory, na hitimisho halibadiliki.

Hitilafu hizo mbili zinasema mambo tofauti, na tofauti hiyo inafaa kuwekwa wazi. Read-only file system inamaanisha kerneli ilifika kiingilio na kukataa uandishi; No such file or directory inamaanisha kiingilio kimetoweka. Hakuna ujumbe unaoripoti kuhusu kifaa cha handaki, njia au utatuzi wa majina, kwa hiyo hakuna unaoweza kuhalalisha upendeleo zaidi.

Mpangilio ndio unaofanya ujumbe uonekane wa kisababishi. Script ya muunganisho huweka njia, hubadilisha hali ya kiolesura na kuandika upya utatuzi wa majina kabla ya kufikia usafishaji mwishoni, kwa hiyo mstari wa mwisho uliochapishwa ndio ambao watu hunukuu hata wakati kila hatua muhimu ilirudisha mafanikio. Handaki linalojengwa na kubeba trafiki wakati likichapisha onyo hili linaendana kabisa na utaratibu ulio juu.

Kagua upachikaji na njia kabla ya kuongeza upendeleo

Usomaji tatu hutenganisha onyo la juu juu na kushindwa halisi: kama script iliyowekwa bado ina mstari huo, jinsi /proc/sys imepachikwa, na trafiki ya programu inakwenda wapi hasa. Zifanye katika nafasi ya jina la kontena moja au kwenye mwenyeji ambapo onyo lilionekana, kwa sababu ukaguzi kwenye mashine isiyohusiana hujibu swali lingine.

grep -n 'ipv4/route/flush' /usr/share/vpnc-scripts/vpnc-script
findmnt -no OPTIONS /proc/sys
ip -4 route get 10.20.5.10

Jibu la grep ni dhaifu kuliko linavyoonekana, kwa sababu kupata kunathibitisha mstari upo, si kwamba unaendeshwa bila ulinzi; script inayotunzwa inaweza kubeba uandishi ndani ya walinzi unaoukia. findmnt -no OPTIONS /proc/sys huamua upachikaji moja kwa moja, na ro katika matokeo hayo inamaanisha kila uandishi chini ya hatua hiyo unakataliwa, chochote script inachofanya. Kisha utafutaji wa njia unaonyesha kama lengwa linalohitajika na programu linatatuliwa kupitia kiolesura cha handaki au kupitia lango la msingi la kontena. Utafutaji unaochagua lango la msingi unamaanisha handaki liliinuka na hakuna kinachoelekezwa ndani yake, jambo ambalo ni tatizo la uelekezaji na si la upendeleo.

Marekebisho yanatoka wapi kwa kweli

Marekebisho yanayotunzwa yanaishi kwenye script na si kwenye bendera za kontena. upstream vpnc-script imebadilisha jinsi inavyoshughulikia kitendo hiki, kwa hiyo linganisha nakala iliyo ndani ya taswira na upstream ya sasa na usasishe kupitia kifurushi au ujenzi wa taswira unaoitoa. Faili lililohaririwa kwa mkono ndani ya kontena linaloendesha haliwezi kukaguliwa na halitaendelea hadi ujenzi ujao.

--privileged imeandikwa kuwa inatoa uwezo wote pamoja na ufikiaji mpana wa vifaa, ni mwanya mkubwa kwa ujumbe usiobadilisha kitu, kwa hiyo taja uwezo unaokosekana ikiwa kweli hakuna. Baada ya usasishaji, rudia utafutaji wa njia na uache programu itumie handaki, kwa sababu kumbukumbu tulivu na muunganisho unaofanya kazi ni matokeo tofauti.

Makala zinazohusiana