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

Жардамчы менен демон — ар башка объектилер

Чаташтырууну түшүндүрүү оңой: бир папкада жардамчы жараткан файл, демон окуган файл, кээде экөөнүн эски көчүрмөсү чогуу турат. Жардамчы — бул даярдоо скрипти. Ал пакеттерди орнотуп, бөлүк файлдарын жазып жана кардар профилин басып чыгарат, анан анын иши бүтөт. Калганы — кызмат менеджериндеги жазуу жана бир буйрук сабы.

systemd хостто папка тизмесинен эмес, активдүү бирдиктен баштаңыз. Аты таңгактоого жараша: Debian жана Raspberry Pi OS образдары адатта үлгү нускасын сунуштайт, мисалы openvpn-server@server, ал эми эски орнотуулар openvpn@server колдонот. Файл атынан божомолдоонун ордуна менеджерден кайсы иштеп жатканын сураңыз.

systemctl list-units --type=service --all | grep -i openvpn
systemctl cat openvpn-server@server

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

Демон чечкен конфигурация тизмегин көзөмөлдөңүз

OpenVPN параметрлер үчүн папканы скандабайт. Ал --config аркылуу берилген файлды окуп, ичиндеги ар кандай config директиваны аткарат, анан буйрук сабынын опцияларын колдонот. Нускама 2.6 ошол тартипти сүрөттөйт жана эки файл порт, түзмөк же шифрлоо боюнча макулдашпаганда бул маанилүү.

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

systemctl show -p ExecStart --value openvpn-server@server
grep -E '^(config|dev|proto|port|local|log|log-append|status|ca|cert|key|tls-auth|tls-crypt)' /etc/openvpn/server/server.conf

Үй папкасындагы .ovpn файлы кардардын артефакты. Сервер демону аны эч качан окубайт, ошондуктан сервер тараптагы кол алышуу бузулушун оңдоо үчүн ошол файлды оңдоо эч нерсе бербейт.

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

Журналды эсте калган катага эмес, процесске дал келтириңиз

Эки журнал максаты кеңири таралган, жана алардын бирөө гана journal. log-append коюлганда демон ошол файлга жазат, ал эми journal иштетүү саптарынан башка аз нерсе сактайт. Ансыз journalctl окуялардын булагы болуп саналат.

journalctl -u openvpn-server@server -n 80 --no-pager

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

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

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

Туннелди кайра куруу диагностикалык кадам эмес

Азгырган кыска жол — экинчи, жөнөкөй туннелди тургузуу: статикалык ачкыч, сертификаттар жок, кошумча аутентификация жок. Ал көп учурда туташат жана эки хосттун ортосунда UDP же TCP өткөрө аларын гана далилдейт. Сертификат менен аутентификацияланган жайылтуу эмне үчүн ийгиликсиз болорун айтпайт жана сактоо суралган коопсуздук моделин үнсүз алмаштырат.

Ушундай эле tls-auth же tls-crypt өчүрүүгө, verify-x509-name алсыздандырууга же жашыл статус үчүн экинчи фактордон баш тартууга тиешелүү. Текшерүү алынып салынгандыктан туташкан туннел — башка система, оңдолгон система эмес.

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

Кийинки адамга эмнени тапшыруу керек

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

Бөлүшүүдөн мурун купуя маалыматтарды жашырыңыз. Жеке ачкычтар, auth-user-pass файлдары, статикалык ачкыч материалы жана толук кардар топтомдору билетке тиешелүү эмес; опция аттары жана тизмек формасы адатта экинчи жуп көзгө жетиштүү.

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

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