OpenVPN иштебейт: конфигурацияны эмес, биринчи сапты окуңуз
Биринчи секундада өлгөн VPN'де жөндөө үчүн handshake жок. Журналдын биринчи сабы тармакты тандайт: порт бош эмес, бинар жок же конфигурация жок.
Биринчи секундада өлгөн VPN туташып, анан ийгиликсиз болгон VPN'ден башка жандык, жана адаттагы ката — экөөнү бирдей деп кароо. Бул жерде handshake да, сертификат алмашуу да, текшериле турган маршрут да жок. Журналдагы бир сап бири-бири менен байланышпаган бир нече оңдоонун кайсынысы колдонуларын чечет, жана аны өткөрүп жиберүү эч качан окулбаган конфигурацияны оңдоого жарым күн корот. Эң оболу ошол сапты окуңуз.
Үч гана-окуу командасы сизди ошол жерге жеткирет: адегенде journalctl -u openvpn@server -b --no-pager, андан кийин systemctl status openvpn@server, жана UDP угуучулары менен алардын ээлери үчүн ss -lunp.
Биринчи сап тармакты тандайт
Порт кагылышуусу да, жок бинар да иштетүүнү бир секунданын ичинде өлтүрөт, жана экөө ар башка биринчи саптарды калтырат. Дарек мурун эле колдонулууда деген билдирүү портту атайт; жок аткарылуучу файл эми жок жолду атайт; ийгиликсиз шарт же жок конфигурация файлы файлды атайт. Ошол үчөө ар башка оңдоолорго алып барат, жана алардын эч бири кардарды кайра орнотуудан жакшырбайт. Башка нерсени иштетүүдөн мурун биринчи ийгиликсиздикти жазууларыңызга көчүрүңүз.
Түпнуска сапты жашырган кайталап аракет кылуу циклинен этият болуңуз. Кайра иштетүү саясаты бар юнит биринчи ийгиликсиздикти ондогон окшошунун астына көмө алат, ошондуктан юнит боюнча чыпкаланып, жогорудан окулган journalctl -b куйруктан артык.
1194 портун дагы ким кармап турат
Күнөөлүү адатта бирөө атайын жөндөгөн экинчи сервер эмес. Башка терминалда дагы тирүү турган кол менен иштетилген кардарды, ошол эле портту кокустан тандаган экинчи профилди, же өз туннели 1194-тү кармап турган жеткирүүчүнүн топтомун күтүңүз. Сокеттин ээси ss -lunp ичинде көрүнөт; юнит жооптуубу, аны билүү үчүн ошол PID'ди systemctl status-ке бериңиз. Аны сигнал менен эмес, өзүнүн башкаруу жолу менен токтотуңуз.
Юнит башкарган процессске сигнал адатта кайра иштетүүнү пайда кылат, жана ошол эле ийгиликсиздик бир аздан кийин жаңы маселе болуп кайра чыгат. Юнит үчүн systemctl stop-ти, жеткирүүчүнүн орнотуусу үчүн топтомдун өз кызмат командасын, ал эми сигналды ошол shell'де өзүңүз кол менен иштеткен нерсеге гана колдонуңуз.
Жоюудан кийин калган юниттер
Жоюу бинарларды жок кылат; кол менен жазылган юнит файлдары, адатта /etc/systemd/system астында, андан аман калат. Анан Systemd эми жок жолду көрсөткөн юнитти кайра аракет кылат, жана билдирүү кечээки жоюу жөнүндө эмес, ошол жок файл жөнүндө. systemctl status юниттин фрагмент жолун жогору жагында көрсөтөт, ошондуктан бир нерсени жок кылардан мурун аны dpkg -S менен текшериңиз. Жетим кеткенден кийин systemctl daemon-reload жана systemctl reset-failed абалды тазалайт; болбосо кийинки ар бир абал текшерүү аны мураска алат.
which openvpn /usr/local астындагы нерсе менен жооп бергенде, иштеп жаткан бинар apt'тен эмес, жеткирүүчүнүн орноткучунан келген. Мындай орноткуч адатта өз угуучусун, өз жүктөө жазуусун жана өз конфигурация папкасын алып келет, ошондуктан көрүнүп турган команданы жок кылуу сокетти бош кылбайт.
Аны жеткирүүчү документтештиргендей жок кылыңыз, ss -lunp менен порттун бош экенин ырастаңыз, жана дистрибутив кардарды керек болсо гана кошуңуз.
Кайра аракет кылардан мурун абалды иретке келтириңиз
Андан тыянак чыгарардан мурун ийгиликсиз абалды тазалаңыз: systemctl reset-failed эсептегичтерди алып салат, анан systemctl status юниттин тарыхын эмес, азыркы абалын билдирет. Аны бир жолу иштетип, машинанын жыйынтык абалын эмес, ошол жүргүзүүнүн өз журналын окуңуз. Туннель эч нерсе ташыбаса да активдүү деп билдирген юнит өзүнчө маселе жана алда канча кеңири таралган. Экөө ката билдирүүлөрүндө биригип кетет, анткени экөө тең колдонуучунун «VPN иштебейт» деген сөзү менен бүтөт.
Тандаган тармагыңызды жазып коюңуз: порт кагылышуусу, жок бинар, жок конфигурация. Кийинки жолу таануу тезирээк болот.