Запустіть той самий профіль із термінала, і повідомлення, яке більшість копіює, — це попередження, а не причина зупинки клієнта. Тут відмовляють три незалежні рівні: надіслана директива, яку збірка Linux не реалізує, права, потрібні для створення пристрою tun, і помічник резолвера, який перетворює з’єднання на робочий DNS. Проходьте їх по черзі, бо кожен може приховувати наступний.

Збережіть завантаження таким, яким воно прийшло, і редагуйте копію, щоб нове завантаження мовчки не скасувало ваші зміни.

Прочитайте попередження, перш ніж звинувачувати його

block-outside-dns блокує DNS у Windows через платформу фільтрації Windows, а клієнту Linux нема до чого його прив’язати. Коли сервер надсилає його, клієнт друкує рядок про невідому опцію для цього надісланого запису й продовжує, бо надіслана опція не вважається фатальною. Але той самий рядок у вашому власному файлі — інша справа: там парсер зупиняється. Вирішіть, який із двох у вас, перш ніж щось чіпати, бо лише один із них завершує запуск.

Щоб прибрати шум, відфільтруйте його до розбору: запис pull-filter ignore для цього імені або --ignore-unknown-option, коли рядок міститься в локальному файлі. Обидва заглушують рядок, який ви вже прочитали; жоден не виправляє збій, який ви не діагностували.

Права відмовляють раніше за все інше

Пристрій tun і маршрути, що його супроводжують, — це привілейовані об’єкти, і звичайний обліковий запис не може їх створити. Опція --user пояснює цей поділ: демон відмовляється від своїх привілеїв лише після того, як привілейовану роботу виконано. Запустіть його як root або через unit, який запускає його так, а потім шукайте помилку прав, перш ніж дивитися на сертифікати. Послаблення прав файлу профілю не дає процесу прав, яких йому бракує.

Помилка TLS означає, що клієнт пройшов цей рівень. Скарга на пристрій або маршрут означає, що він так і не досяг рівня вище.

Що робить GUI, а термінал — ні

Успішне підключення, коли кожен запит усе ще не вдається, — це третій рівень. NetworkManager сам виконує роботу резолвера, тому імпорт із робочого столу може роздавати DNS навіть тоді, коли up-скрипт профілю жодного разу не відпрацював успішно. Команда openvpn --config виконує те, що називає --up, і якщо цього помічника немає, інтерфейс з’являється, а запити далі йдуть до попередніх серверів. Порівняйте скрипти двох шляхів, перш ніж щось встановлювати.

Використовуйте спакований помічник для вашого дистрибутива; скрипт, скопійований із запису в блозі, зазвичай націлений на інший резолвер. Інтеграція, що постачається для systemd-resolved, — не універсальний скрипт у стилі vpnc, і кожна очікує власних аргументів і змінних від клієнта. Користувацькі up-скрипти також потребують script-security 2, перш ніж клієнт узагалі їх виконає.

Розділіть рівні під час наступного запуску

Запустіть один раз із --verb 4 і читайте журнал у тому порядку, як усе відбувалося: створення пристрою, маршрути, рукостискання TLS, потім вивід up-скрипта. Перший збій у цій послідовності й варто виправляти; усе після нього зазвичай наслідок. Тунель, який встановлюється, коли резолвер цього не робить, ставить вас на третій рівень, де сертифікат не має значення. Залиште завантажений профіль недоторканим, поки порівнюєте.

Щойно кожне коригування оператора дає ще один відхилений рядок, файл націлений на іншу платформу. Запросіть експорт для Linux замість того, щоб будувати постійний список фільтрів.

Занотуйте, який рівень відмовив і що його змінило, інакше наступна людина, яка отримає той самий файл, теж зупиниться на попередженні.

Схожі статті