Waarom die vpnc-roete-opruimingswaarskuwing in 'n houer opduik
Die skoonmaak van die roetekas is 'n oorblyfsel van 'n kern wat daardie kas nie meer hou nie; die alleen-lees-fout kom van die houer se montering, nie van die tonnel nie.
Vars houerlogboeke eindig dikwels op 'n Read-only file system-klag oor /proc/sys/net/ipv4/route/flush, en daardie reël kry die skuld vir 'n tonnel wat heeltemal gesond kan wees. Die skryf daaronder mik na 'n kerninskrywing wat niks nuttigs meer doen noudat die IPv4-roetekas weg is nie. Binne 'n houer word /proc/sys alleen-lees gemoneer, so die herleiding word geweier voordat enige waarde beland, en die dop druk daardie weiering. 'n Werkende tonnel kan hierdie waarskuwing druk solank die ou reël in die skrip bly, en --privileged maak die skryf nooit sinvol nie.
Waaroor die skrip probeer opruim het
Ouer verbindingskripte het met 'n kasopruiming geëindig: skryf 'n waarde in 'n kernbeheerleer en vra die IPv4-stapel om sy roetekas te laat vaar, sodat 'n nuwe tonnelroete gekies sou word sonder om te wag dat verouderde inskrywings uitfaseer. Die leer is onder /proc/sys/net/ipv4/ geadresseer, wat die bewerking 'n dop-herleiding eerder as 'n roetebevel gemaak het. Kern 3.6 het daardie kas verwyder, en daarmee die rede waarom die opruiming bestaan het. Niks in die huidige datapad hang van daardie skryf af nie.
Die inskrywing self het as 'n ou skryf-alleen-leer oorleef, so 'n skrip wat steeds daarin skryf, bereik 'n werklike pad en 'n werklike toestemmingskontrole. Op 'n gasheer gee die skryf sukses terug en verander niks. In 'n houer tref dieselfde herleiding 'n alleen-lees /proc/sys en misluk met EROFS, wat die dop as die alleen-lees-lêerstelselboodskap druk. Op kerne waar die pad werklik afwesig is, word die bewoording No such file or directory, en die gevolgtrekking verander nie.
Die twee foute sê verskillende dinge, en die verskil is die moeite werd om reg te hou. Read-only file system beteken die kern het 'n inskrywing bereik en die skryf geweier; No such file or directory beteken die inskrywing is weg. Geen van die boodskappe rapporteer oor die tonneltoestel, die roetes of naamoplossing nie, so nie een kan meer voorreg regverdig nie.
Orde is wat die boodskap oorsaaklik laat lyk. 'n Verbindingskrip installeer roetes, verander koppelvlaktoestand en herskryf naamoplossing voordat dit die opruiming aan die einde bereik, so die laaste reël wat gedruk word, is die reël wat mense aanhaal selfs wanneer elke stap wat saak gemaak het sukses teruggegee het. 'n Tonnel wat vestig en verkeer dra terwyl hierdie waarskuwing gedruk word, pas presies by die meganisme hierbo.
Kontroleer die montering en die roete voordat jy voorreg byvoeg
Drie leesaksies skei 'n kosmetiese waarskuwing van 'n werklike fout: of die geïnstalleerde skrip die reël nog dra, hoe /proc/sys gemoneer is, en waar die toepassing se verkeer werklik heen gaan. Voer hulle uit in dieselfde houer-naamruimte of op die gasheer waar die waarskuwing verskyn het, want 'n kontrole op 'n onverwante masjien beantwoord 'n ander vraag.
grep -n 'ipv4/route/flush' /usr/share/vpnc-scripts/vpnc-script
findmnt -no OPTIONS /proc/sys
ip -4 route get 10.20.5.10Die grep-antwoord is swakker as wat dit lyk, want 'n treffer bewys die reël is daar, nie dat dit onbeskermd loop nie; 'n onderhoude skrip kan die skryf binne 'n wag hou wat dit oorslaan. findmnt -no OPTIONS /proc/sys besleg die montering direk, en ro in daardie uitset beteken elke skryf onder daardie punt word geweier, wat die skrip ook al doen. Die roetesoektog wys dan of die bestemming wat die toepassing nodig het deur die tonnelkoppelvlak of deur die houer se verstekpoort opgelos word. 'n Soektog wat die verstekpoort kies, beteken die tonnel het opgekom en niks roeteer daarin nie, wat 'n roeteprobleem is en nie 'n voorregprobleem nie.
Waar die regstelling werklik verskyn
Die onderhoude regstelling woon in die skrip eerder as in die houervlae. Die opstroom-vpnc-script het verander hoe dit hierdie bewerking hanteer, so vergelyk die kopie binne die beeld met die huidige opstroom en werk by deur die pakket of beeldbou wat dit verskaf. 'n Handmatig geredigeerde leer in 'n lopende houer is nie hersienbaar nie en sal nie die volgende bou oorleef nie.
--privileged word gedokumenteer as die verlening van alle vermoëns plus breë toesteltoegang, 'n groot toegewing vir 'n boodskap wat niks verander nie, so noem eerder die ontbrekende vermoë as een werklik afwesig is. Herhaal na die opdatering die roetesoektog en laat 'n toepassing die tonnel gebruik, want 'n stil logboek en 'n werkende verbinding is afsonderlike resultate.