Сиздин кызмат OpenVPN такыр иштебей туруп эле ишке ашпайт, ал эми ката сиз эч качан жөндөбөгөн байлоо бирдиги тууралуу айтат. Бул — белги: systemd бүткүл операциядан баш тартып жатат, анткени тамырдык байлоо бирдиги маскировкаланган, ал эми VPN профилиңиз али окула элек. Кадимки себеп — аткаруу убактысынын бирдиктер папкасында калган файл, бузулган fstab эмес жана жок сертификат эмес. Адегенде файлды текшериңиз, анткени аны жокко чыгаруу эң арзан түшүндүрмө.

Ката сиздин профилиңизди эмес, тамырдык байлоону атайт

systemd тамырдык байлоо бирдигин ядронун байлоо маалыматынан өзү түзөт жана бирдикти -.mount деп атайт, анткени сызыкча тамырдык жолду билдирет. Бул бирдик адатта эсте гана болот жана анын артында файл жок. Ката анын маскировкаланганын айтканда, бирөө бирдик файлын systemd жүктөй турган жерге коюп, ал файлды /dev/null көрсөткөн. Маскировка — чыныгы абал, билдирүүдөгү терү катасы эмес.

Инстанс бирдиги ишке ашпайт, анткени анын тапшырма графы тамырдык байлоого тартип жана өзүнүң байлоо талаптары аркылуу жетет. Операция OpenVPN бинардык файлы аткарылганга чейин четке кагылат, ошондуктан кардар конфигурациясында эч нерсе себеп боло албайт. Ошондуктан профилдерди, сертификаттарды же каттоо маалыматтарын алмаштыруу ушул конкреттүү катага таасир этпейт.

OpenVPNди оңдоого киришерден мурун аткаруу убактысынын папкасын караңыз

Аткаруу убактысынын бирдиктер папкасынан так ушундай аталган файлды издеңиз, анан systemdден бирдик деп эмнени эсептеэрин сураңыз. Эки жооп тең тез, ал эми чогуу алып караганда калган файлды чыныгы байлоо маселесинен ажыратат.

ls -l /run/systemd/system/-.mount
systemctl status -.mount
systemctl list-unit-files --state=masked | grep mount

Кадимки машинада мындай файл жок, ал эми маскировкалангандардын тизмесинде тамырдык байлоо жок. Эгер биринчи команда /dev/null символдук шилтемесин чыгарса, диагностика анык. Ошол папкада ошол эле куралдар жасаган tmp.mount маскасы да болушу мүмкүн, ал башка ат менен ошол эле ката тобун жаратат. Бир гана катадагы атты эмес, бүт папканы караңыз.

ls -la /run/systemd/system/*.mount

Эгер папка таза болуп, бирдик дагы эле маскировкаланган болсо, маска издөө жолунун башка жеринде, жана systemctl cat -.mount кайсы файл жүктөлүп жатканын көрсөтөт.

Файлды өчүрүңүз, кайра жүктөңүз жана кайра баштаңыз

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

sudo rm -f /run/systemd/system/-.mount /run/systemd/system/tmp.mount
sudo systemctl daemon-reload
systemctl status -.mount
sudo systemctl start [email protected]

Анан түзөтүү иштеди деп ойлоонун ордуна кызматтын өз журналын окуңуз. Таза баштоо systemd бирдикти кабыл алганын гана далилдейт; кардар жок профиль, жеткиликсиз өнөктөш же тастыкталбаган сертификат себебинен дагы эле өлүшү мүмкүн. Булар — маскировкаланган бирдиктин артында жашырылган кадимки OpenVPN маселелери. Журнал кайсы профиль жүктөлгөнүн жана туннель чынында орнотулганын жазат. Эгер бирдик башталып, туннель башталбаса, сиз башка маселеге өттүңүз, бул — илгерилөө.

journalctl -u [email protected] -b --no-pager

/run убактылуу файлдык система болгондуктан, кайра жүктөө файлды да тазалайт. Бул кайра жүктөөнү пайдалуу текшерүү кылат: эгер кызмат кайра жүктөөдөн кийин иштеп, кийинки жайгаштыруудан кийин кайра ишке ашпаса, файл образга бышырылып жатат.

Анын образдан кайтарылышын алдын алыңыз

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

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

Эстеп калууга татыктуу симптом — ката менен сиз жөндөп жаткан нерсенин дал келбестиги. VPN кардарын ишке киргизип жатканда systemd байлоого нааразы болсо, адегенде билдирүүдөгү бирдиктин атын, анан кызматтын атын окуңуз.

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