Жаңы контейнер журналдары көбүнчө /proc/sys/net/ipv4/route/flush жөнүндө Read-only file system даттануу менен бүтөт, ал эми ошол сап толугу менен соо болушу мүмкүн болгон туннелди күнөөлөйт. Анын артындагы жазуу IPv4 маршрут кэши жок болгондон кийин эч пайдалуу иш кылбаган өзөк жазуусун көздөйт. Контейнердин ичинде /proc/sys окууга гана деп туташтырылат, ошондуктан кандайдыр бир маани келгенге чейин кайра багыттоо четке кагылат жана кабык ошол баш тартууну басып чыгарат. Иштеп жаткан туннел бул эскертүүнү эски сап скриптте турган кезде басып чыгара алат, ал эми --privileged жазуды эч качан маанилүү кылбайт.

Скрипт эмнени тазалоону аракет кылды

Эски туташуу скрипттери кэшти тазалоо менен бүтчү: өзөктүн башкаруу файлына маани жазуу жана IPv4 стектен өзүнүн маршруттоо кэшин таштоону суроо, ошентип жаңы туннел маршруту эскирген жазуулардын мөөнөтү бүтүшүн күтпөстөн тандалат. Файл /proc/sys/net/ipv4/ астында даректенип, бул аракетти маршруттоо буйругу эмес, кабыктын кайра багыттоосуна айландырган. Өзөк 3.6 ошол кэшти, аны менен бирге тазалоонун болуш себебин жок кылды. Учурдагы маалымат жолунда эч нерсе ошол жазга байланыштуу эмес.

Жазуу өзү эски жазууга гана арналган файл катары сакталып калды, ошондуктан ага дагы эле жазган скрипт чыныгы жолго жана чыныгы уруксат текшерүүсүнө жетет. Хостто жазуу ийгилик кайтарат жана эч нерсени өзгөртпөйт. Контейнерде ошол эле кайра багыттоо окууга гана арналган /proc/sys менен кагылышып, EROFS менен ийгиликсиз болот, аны кабык окууга гана арналган файл системасынын билдирүүсү катары басып чыгарат. Жол чындап жок өзөктөрдө сөз айкашы No such file or directory болуп калат, ал эми жыйынтык өзгөрбөйт.

Эки ката ар башка нерселерди айтат, жана айырманы ачык кармоого татыктуу. Read-only file system өзөк жазууга жетип, жазгандан баш тартканын билдирет; No such file or directory жазуу жок болгонун билдирет. Эч бир билдирүү туннел түзмөгү, маршруттар же аттарды чечүү жөнүндө отчет бербейт, ошондуктан эч бири көбүрөөк артыкчылыкты актай албайт.

Билдирүүнү себептүү кылып көрсөткөн тартип. Туташуу скрипти акыркы тазалоого жеткенге чейин маршруттарды орнотот, интерфейс абалын өзгөртөт жана аттарды чечүүнү кайра жазат, ошондуктан акыркы басылган сап — адамдар цитата кылган сап, ар бир маанилүү кадам ийгилик кайтарса да. Бул эскертүүнү басып чыгарып, орногон жана трафикти ташыган туннел жогорудагы механизмге так туура келет.

Артыкчылык кошконго чейин туташууну жана маршрутту текшериңиз

Үч окуу косметикалык эскертүүнү чыныгы бузулуудан ажыратат: орнотулган скрипт сапты дагы эле алып жүрөбү, /proc/sys кантип туташтырылган жана колдонмонун трафиги чындап кайда барат. Аларды ошол эле контейнер ат мейкиндигинде же эскертүү пайда болгон хостто иштетиңиз, анткени байланышсыз машинадагы текшерүү башка суроого жооп берет.

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

grep жообу көрүнгөндөн алсызыраак, анткени табылган нерсе саптын бар экенин далилдейт, коргоосуз иштешин эмес; тейленген скрипт жазуды аны өткөрүп жиберген кароолдун ичинде алып жүрүшү мүмкүн. findmnt -no OPTIONS /proc/sys туташууну түздөн-түз чечет, ал эми ошол чыгыштагы ro бул чекиттен төмөнкү ар бир жазуунун четке кагыларын билдирет, скрипт эмне кылса да. Андан кийин маршрут издөө колдонмого керектүү барар жер туннел интерфейси аркылуу же контейнердин демейки шлюзу аркылуу чечилерин көрсөтөт. Демейки шлюзду тандаган издөө туннел көтөрүлгөнүн жана ага эч нерсе багытталбаганын билдирет, бул маршруттоо маселеси, артыкчылык эмес.

Оңдоо чындап кайдан келет

Тейленген оңдоо контейнер желектеринде эмес, скриптте жашайт. upstream vpnc-script бул аракетти кантип иштетерин өзгөрттү, ошондуктан сүрөттүн ичиндеги көчүрмөнү учурдагы upstream менен салыштырыңыз жана аны берген пакет же сүрөт куруу аркылуу жаңыртыңыз. Иштеп жаткан контейнердин ичинде кол менен оңдолгон файл карап чыгууга жарабайт жана кийинки курууга чыдабайт.

--privileged бардык жөндөмдүүлүктөрдү жана түзмөктөргө кеңири жетүүнү берери документтелген, бул эч нерсени өзгөртпөгөн билдирүү үчүн чоң жеңилдик, ошондуктан чындап жөндөм жетишпесе, ошону атаңыз. Жаңыртуудан кийин маршрут издөөнү кайталаңыз жана колдонмого туннелди колдонууга уруксат бериңиз, анткени тынч журнал жана иштеген байланыш өзүнчө жыйынтыктар.

Тектеш макалалар