OpenVPN 3 Linux: нұсқаны кері қайтарудың алдында D-Bus қатесін оқыңыз
Бес қызмет, бір интерфейс. D-Bus қатесін оны қабылдамаған құрамдасқа сәйкестендіріңіз, сессияның бар-жоғын тексеріңіз, содан кейін сол шекарада түзетіңіз.
OpenVPN 3 Linux ақаулары бейтаныс атауы бар D-Bus әдіс қатесі ретінде келеді, және азғыру — пакеттің нұсқасын төмендетіп, үміттену. Клиент бір бағдарлама емес: пәрмен жолының интерфейсі шина арқылы профильдерге, сессияларға, VPN қозғалтқышына және артықшылықты желілік өзгерістерге ие қызметтермен сөйлеседі. Осы бесеуінің қайсысы сәтсіз шақыруға ие екенін анықтау диагностиканың басым бөлігі болып табылады және кері қайтарудың орнына бір пәрменге тұрады. Келесісі — ақаулар әдетте пайда болатын ретпен сол шешім.
Бір пәрменнің артындағы бес иесі
Бес процесс маңызды, және әрқайсысының өз шина атауы бар: пәрменіңізді қабылдайтын интерфейс, профильдерді және олардың қатынау саясатын сақтайтын конфигурация менеджері, сессия ұзақтығына ие сессия менеджері, қосылымды OpenVPN 3 Core Engine арқылы жүргізетін серверлік бөлік және интерфейс, маршруттар мен DNS параметрлерін орнататын желі конфигурациясы қызметі. Конфигурация нысанын атайтын қате сондықтан серверлік бөліктің қатесі емес, ал іске қосылмайтын серверлік бөлік аутентификация сәтсіздігі емес. Хабарламаны сол жолдардың біріне жатқызу кез келген нәрсе өзгертілмес бұрын орындалуы керек, өйткені әрбір келесі қадам қай жолдың рас екеніне байланысты. Жолды болжау — қысқа түзетудің пакеттермен өтетін түстен кейінгі жұмысқа айналу жолы.
Басқа нәрсені сұрамас бұрын жүйелік шинадан қандай қызметтер бар екенін сұраңыз, содан кейін орнатылған бөліктердің нұсқа туралы келісетінін растаңыз. OpenVPN 3 Linux бұл қызметтерді жүйелік бірліктер ретінде тіркейді, сондықтан сұралатын шина — жүйелік шина, нұсқа сұрауы әкімшілік өкілеттікті қажет етеді, ал --user арқылы жасалған тізім бірліктер ешқашан көрінбейтін кіру сессияңызды оқиды. Қызметтер сұраныс бойынша белсендіріледі және кейбіреуі бос тұрғанда тоқтайды, сондықтан бірінші сұранысыңызға дейін жетіспеген қызмет жай ғана әлі ештеңе сұралмаған. Төмендегі үш пәрмен VPN сессиясын ашпай-ақ бар болуы, нұсқасы және бірлік күйі туралы жауап береді.
sudo busctl list | grep -i openvpn
sudo openvpn3-admin version --services
systemctl list-units 'openvpn3*'Әр тізім шын мәнінде нені дәлелдейді
Клиенттің өз көріністері — қолжетімді ең арзан дәлел, және олардың әрқайсысы көрінгеннен азырақ дәлелдейді. Конфигурация тізіміндегі профиль профильдің импортталғанын көрсетеді және онымен кімнің қосыла алатыны туралы ештеңе айтпайды. Сессиялар тізіміндегі сессия сессия нысанының бар екенін көрсетеді және қашықтағы аутентификацияның аяқталғаны туралы ештеңе айтпайды.
openvpn3 configs-list
openvpn3 sessions-listБұл шығыстардағы нысан жолдары шинадағы басқарылатын нысандарды білдіреді, файлдарды емес, сондықтан оларды өңдеуге болмайды, ал бұрын жазылған жол сол сессия ажыраған сәтте ескіреді. Жазбаларыңыздан бір жолды қайта пайдалану VPN-ге қатысы жоқ "no such object" қателерін тудырады. Төмендегі кезең кестесі әрбір қосылым қадамының нені орнататынын нені ашық қалдыратынынан ажыратады, және кері қайтару шешімі дәл осы айырмашылыққа сүйенеді. Дәлеліңізге сәйкес келетін жолды оқыңыз, содан кейін қате мәтінін қайта оқыңыз.
| Stage | What exists | What proves it | What it does not prove |
|---|---|---|---|
| Profile imported | A configuration object held by the configuration manager | The profile is listed by the client | That the profile owner permits a connection |
| Session requested | A session object held by the session manager | The session appears in the session list | That the remote side accepted the credentials |
| Connect dispatched | An asynchronous attempt on the VPN backend | Status changes arrive for that session | That an interface was configured |
| Tunnel configured | An interface, routes and DNS settings | The network service reports success and routes appear | That traffic reaches the peer |
Қосылу шақыруы туннель пайда болмай тұрып қайтады
Қосылу шақыруы сізге бақылауға сессия береді және қайтады, сондықтан сырттай сәтті шақырудан кейін үнсіздік келуі қарама-қайшылық емес, қалыпты аралық күй. Интерфейс әлі де күй өзгерістерін қадағалап, кез келген өзара әрекет сұранысына жауап беруі керек. Куәлік қажет етіп, жауап алмаған профиль дәл ілініп қалған серверлік бөлікке ұқсайтын күйде күтеді. Бұл күту күйі танылуға лайық, өйткені ол адамдарды дұрыс емес құрамдасқа жібереді.
Әрекет жүріп жатқанда, сессиялар тізімін және интерфейстің өз журналын сол профиль үшін қадағалаңыз. Бастапқы күйінен ешқашан шықпайтын сессия тоқтаған құрамдасты атайды, ал журнал оны әдетте алғашқы жолдарда атайды. Профиль атауын қолда ұстаңыз, өйткені журнал пәрмені сессия жолын емес, профильді алады, бұл жолды қайта пайдаланудың орнына тізімді қайта оқуға тағы бір себеп.
openvpn3 sessions-list
openvpn3 log --config <profile> --level 6Бір құрамдастың журналын сессия ашпай оқу
Интерфейс пайдалы ештеңе хабарламаған кезде, жаңа қосылым бастаудың орнына ақауды журналға жазған құрамдасқа өтіңіз. Конфигурацияланған systemd-journald тіркеушісімен әкімшінің шектелген журнал көрінісі бір құрамдастың оқиғаларын шина саясатына тиіспей және сессия ашпай оқиды, бұл маңызды, өйткені өлшенетін жүйені өзгертетін диагностика өте аз дәлелдейді. Бірлік бойынша сүзіңіз, syslog тегі бойынша емес: жекелеген қызмет бірліктері ортақ идентификаторға кепілдік бермейді, сондықтан тег бойынша сұрау бос бет қайтаруы мүмкін, ал бірліктің өзі ақауды жазып қойған.
Біреуден көмек сұрамас бұрын төрт өрісті жазып алыңыз: қатенің толық атауы, қатысты қызмет пен нысан, уақыт белгісі және орнатылған пакет нұсқалары. Бұл — қолдаушыға қажет нәрсе, және олардың ешқайсысы профильді немесе куәлікті өтінішке қоюды талап етпейді. Қатені үнсіз қалдыру үшін шинаға қатынау саясатын кеңейту диагностика емес, ол құрамдасты сіз үшін атаған шекараны өшіреді. Профильдердің жеке мазмұны куәліктер сияқты себеппен ортақ есептерден тыс қалады.
journalctl -u 'openvpn3-service-*' -n 50 --no-pager
openvpn3-admin journal --service <name>Бас тартқан шекараны түзету
Картаның әр жолының өз түзетуі бар, және жолдар бірін-бірі алмастырмайды. Профильдегі қабылданбаған операция — саясат пен иелік туралы сұрақ, ал белсендірілмейтін серверлік бөлік — қызметтер мен пакеттеу туралы сұрақ. Аутентификацияны қабылдамайтын сервер екеуі де емес, сондықтан қайталанатын құпиясөз өзгертулері жергілікті белсендіру мәселесін түзете алмайды. Дұрыс емес түзетуді таңдау — саясат мәселесінің қайта орнатуға айналу жолы.
Пакет өзгергеннен кейін ескі екілік файлды орнына көшірудің орнына келісілген және қолдау көрсетілетін орнатуды тексеріңіз. Бақыланатын кері қайтару — расталған регрессияға заңды жауап, егер пакеттер үйлесімді болып қалса және қолдау көрсетілетін сүйемелдеуге қайту жолы болса. Бұл жолды қызмет іске қосылуды тоқтатпас бұрын орнатыңыз, кейін емес.
Басқа платформа Linux-тың шиналық қызметтерін бөліспей-ақ сол негізгі VPN кітапханасын бөлісе алады, сондықтан Windows-тағы ұқсас ақау бұл туралы ештеңе айтпайды. D-Bus шолуы конфигурациялар мен сессиялар үшін ұсынылатын нысан жолдарын құжаттайды, және бұл диагностика дәл сол архитектура бөлігіне сүйенеді. Оны бір рет оқыңыз, ал келесі қате оған әлдеқашан байланған құрамдаспен келеді.