Вопрос или проблема
Я следую этому руководству, чтобы настроить свой собственный vpn-сервер. Но в конце, выполняя команду: sudo openvpn /etc/openvpn/client/client.conf
я получаю это:
2022-05-11 15:18:13 Неизвестный параметр или отсутствует или лишний параметр(ы) в /etc/openvpn/client/client.conf:19: block-outside-dns (2.5.1)
2022-05-11 15:18:13 OpenVPN 2.5.1 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] собрана 22 мар 2022
2022-05-11 15:18:13 версии библиотеки: OpenSSL 1.1.1l 24 авг 2021, LZO 2.10
2022-05-11 15:18:13 Шифрование канала управления: Шифр 'AES-256-CTR' инициализирован с ключом 256 бит
2022-05-11 15:18:13 Шифрование канала управления: Используя 256 битный хеш сообщения 'SHA256' для аутентификации HMAC
2022-05-11 15:18:13 Шифрование канала управления входящих соединений: Шифр 'AES-256-CTR' инициализирован с ключом 256 бит
2022-05-11 15:18:13 Шифрование канала управления входящих соединений: Используя 256 битный хеш сообщения 'SHA256' для аутентификации HMAC
2022-05-11 15:18:13 TCP/UDP: Сохраняю недавно использованный удалённый адрес: [AF_INET]154.72.168.219:1194
2022-05-11 15:18:13 Буферы сокета: R=[212992->212992] S=[212992->212992]
2022-05-11 15:18:13 UDP-ссылка локальная: (не привязана)
2022-05-11 15:18:13 UDP-ссылка удалённая: [AF_INET]154.72.168.219:1194
2022-05-11 15:19:13 Ошибка TLS: Не удалось произвести согласование ключа TLS в течение 60 секунд (проверьте подключение к сети)
2022-05-11 15:19:13 Ошибка TLS: Не удалось завершить рукопожатие TLS
2022-05-11 15:19:13 SIGUSR1[soft,tls-error] получен, процесс перезапускается
2022-05-11 15:19:13 Пауза перед перезапуском, 5 секунд
Сообщения продолжают появляться, но мое внимание здесь: Неизвестный параметр или отсутствует или лишний параметр(ы) в /etc/openvpn/client/client.conf:19: block-outside-dns (2.5.1)
Я думаю, что если я решу эту проблему, всё будет в порядке. Вот мой конфигурационный файл:
client
proto udp
explicit-exit-notify
remote 154.72.168.219 1194
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_OOQt9gddm6Urx1I9 name
auth SHA256
auth-nocache
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Предотвратить утечку DNS в Windows 10
verb 3
<ca>
-----BEGIN CERTIFICATE-----
MIIB2DCCAX2gAwIBAgIUaebTDbg0OAAvaZpKFVn4o8QQn08wCgYIKoZIzj0EAwIw
bla blaa
r8EfuIWxE43eAiEAqmivO3Pcxzi2Az3LCc1h2IUO//bx1BRgtD84feZuiIo=
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
MIIB3jCCAYSgAwIBAgIRAO6eGQVKtbv9C4zD2FVZPBswCgYIKoZIzj0EAwIwHjEc
MBoGA1UEAwwTY25fQnhxTmdwTE
bla bla
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgEqd6QepY3nvgBD/J
fgvJWf/zVJwxhC8TVbA30ThP+yahRANCAARsASOeP+QTRFPq1utozH+8Cr4iUbhv
F5a1ABanAjO+T3FF1y+LDR7GW1Wr63GiZ/8Bq89koQ1UWrkbLT+gycf+
-----END PRIVATE KEY-----
</key>
<tls-crypt>
#
# 2048 битный статический ключ OpenVPN
#
-----BEGIN OpenVPN Static key V1-----
4b1dc16e4b3c65a48853222ce0ea2812
bla bla bla
-----END OpenVPN Static key V1-----
</tls-crypt>
Я нашел этот пост: Поэтому я отредактировал свой файл конфигурации, закомментировав строку 19.
# setenv opt block-outside-dns # Предотвратить утечку DNS в Windows 10 #line_19
Мой vpn все еще не работает, но этой ошибки больше нет.
Новое сообщение:
2022-05-11 15:56:17 OpenVPN 2.5.1 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] собрана 22 мар 2022
2022-05-11 15:56:17 версии библиотеки: OpenSSL 1.1.1l 24 авг 2021, LZO 2.10
2022-05-11 15:56:17 Шифрование канала управления: Шифр 'AES-256-CTR' инициализирован с ключом 256 бит
2022-05-11 15:56:17 Шифрование канала управления: Используя 256 битный хеш сообщения 'SHA256' для аутентификации HMAC
2022-05-11 15:56:17 Шифрование канала управления входящих соединений: Шифр 'AES-256-CTR' инициализирован с ключом 256 бит
2022-05-11 15:56:17 Шифрование канала управления входящих соединений: Используя 256 битный хеш сообщения 'SHA256' для аутентификации HMAC
2022-05-11 15:56:17 TCP/UDP: Сохраняю недавно использованный удалённый адрес: [AF_INET]154.72.168.219:1194
2022-05-11 15:56:17 Буферы сокета: R=[212992->212992] S=[212992->212992]
2022-05-11 15:56:17 UDP-ссылка локальная: (не привязана)
2022-05-11 15:56:17 UDP-ссылка удалённая: [AF_INET]154.72.168.219:1194
2022-05-11 15:57:17 Ошибка TLS: Не удалось произвести согласование ключа TLS в течение 60 секунд (проверьте подключение к сети)
2022-05-11 15:57:17 Ошибка TLS: Не удалось завершить рукопожатие TLS
Ответ или решение
Чтобы решить проблему с ошибкой "Unrecognized option or missing or extra parameter(s) in /etc/openvpn/client/client.conf" при запуске OpenVPN, важно тщательно рассмотреть конфигурационный файл и понять природу ошибки.
1. Причины ошибки
Ошибка, которую вы видите — это результат того, что OpenVPN не распознает опцию, заданную в конфигурационном файле. В вашем случае, ошибка связана с параметром block-outside-dns
, который появился после введения OpenVPN 2.4 и предназначен для предотвращения утечек DNS в Windows. Однако эта опция не поддерживается в Linux-версии OpenVPN.
2. Исправление конфигурации
Как вы уже заметили, правильным шагом является закомментирование строк в конфигурационном файле, содержащих опцию block-outside-dns
. Вот как это можно сделать:
# setenv opt block-outside-dns # Prevent Windows 10 DNS leak
Тем не менее, после этого вы столкнулись с новой ошибкой TLS, что означает, что ваше клиентское приложение не может успешно осуществить соединение с сервером. Такие ошибки могут быть связаны с рядом причин.
3. Проверка сетевого соединения
Ошибка TLS, которую вы получаете:
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
указывает на то, что клиент не может установить безопасное соединение с сервером. Здесь несколько советов, которые помогут решить эту проблему:
-
Проверьте соединение с сервером: Убедитесь, что сервер доступен по указанному IP-адресу (
154.72.168.219
) и порту (1194
). Используйте командуping
илиtelnet
для этой проверки:ping 154.72.168.219 telnet 154.72.168.219 1194
-
Настройки брандмауэра: Проверьте, не блокирует ли брандмауэр на сервере или клиенте порты, используемые OpenVPN. Убедитесь, что UDP-порт 1194 открыт и доступен.
-
Проверьте настройки сервера OpenVPN: Убедитесь, что сервер правильно настроен и запущен. Проверьте логи на серверной стороне на наличие ошибок.
4. Логи и отладка
Открытые журналы (логи) OpenVPN могут предоставить полезную информацию о том, что именно происходит во время соединения. Используйте следующие параметры для увеличения уровня логирования:
verb 4
Это позволит получить более подробные сообщения и понять, где именно происходит сбой соединения.
Заключение
Как только вы внесете изменения в конфигурацию, убедитесь, что у вас есть актуальные настройки сервера и клиента, и что все сетевые соединения настроены правильно. Если после этого ваша VPN не работает, предоставьте логи и текущую конфигурацию для дальнейшего анализа. Не забывайте регулярно проверять официальную документацию OpenVPN для получения информации о новых версиях и функциях, которые могут повлиять на работу вашего сервера.