keenetic






Клиент OpenVPN


Обновлено 18.11.2020ПОДПИСАТЬСЯOpenVPN — один из самых популярных протоколов для организации VPN-соединения. С его помощью можно создать виртуальную частную сеть или объединять локальные сети. OpenVPN имеет открытый исходный код и бесплатно распространяется под лицензией GNU GPL. OpenVPN можно назвать одним из самых безопасных протоколов. Все передаваемые данные надежно защищены при помощи библиотеки шифрования OpenSSL и протоколов SSLv3/TLSv1, что обеспечивает высокую безопасность и анонимность.
В интернет-центре Keenetic интегрирована поддержка OpenVPN-клиента. Для подключения OpenVPN реализованы такие возможности как режим TCP и UDP, аутентификация TLS, использование сертификатов и ключей шифрования для повышения уровня безопасности VPN-подключения.
Для настройки OpenVPN обязательно нужно установить компонент системы "Клиент OpenVPN". С этим компонентом интернет-центр Keenetic можно использовать как клиент и как сервер OpenVPN. Подробное описание режима сервера вы найдете в статье "Сервер OpenVPN". Установить компонент системы можно на странице "Общие настройки" в разделе "Обновления и компоненты", нажав "Изменить набор компонентов".
images/275-1.png
Важно! В интернет-центре Keenetic используются строгие требования к конфигурации OpenVPN. Ниже перечислены основные требования:

— Конфигурация должна быть выполнена в виде одного файла.
— Сертификаты, ключи и т.п. должны быть включены в этот файл.
— Как правило подходят файлы конфигурации с расширением .ovpn
— Если провайдер предлагает файлы для различных роутеров или систем, в большинстве случаев можно воспользоваться файлом для OpenWRT.
— В конфигурации необходимо использовать только опции, перечисленные в документе: https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
— В конфигурации не должны присутствовать директивы или неизвестные команды, которые не могут быть обработаны.
Некоторые опции, из описанных по ссылке выше, могут не поддерживаться. Например, в нашей реализации OpenVPN не поддерживаются опции, относящиеся к IPv6.
— Порядок следования опций и включенных сертификатов и ключей не имеет значения.
— Файл конфигурации OpenVPN не сохраняется в резервной копии конфигурации устройства startup-config. Для получения резервной копии настроек интерфейса клиента OpenVPN его нужно сохранить отдельно.

Важно! Число клиентских подключений ограничивается выделенным служебным размером раздела памяти объемом 24 Кбайта для хранения VPN-конфигураций. Особенно это актуально для OpenVPN-соединений, т.к. суммарный размер их конфигураций не должен превышать 24 Кбайта.
VPN-провайдеры могут предоставлять разные варианты конфигураций для OpenVPN-подключения. Ниже рассмотрим некоторые из них.
Вариант 1. Скачайте файл конфигурации с сайта сервера OpenVPN, к которому планируете подключаться.
Например, на www.vpngate.net выберите сервер и нажмите на "OpenVPN Config file".
images/275-2.png
Далее выберите одну из конфигураций этого сервера. Например, с использованием доменного имени DDNS и TCP 1781.
images/275-3.png
При этом на компьютер загрузится файл конфигурации с расширением .ovpn. Откройте его в любом текстовом редакторе (например, в Блокноте) и скопируйте всё содержимое в буфер обмена, нажав на клавиатуре последовательно комбинацию клавиш Ctrl A и Ctrl C.
После этого перейдите на страницу "Другие подключения" и в разделе "VPN-подключения" нажмите "Добавить подключение". В окне "Параметры VPN-подключения" в поле "Тип (протокол)" выберите значение "OpenVPN".
Затем в поле "Имя подключения" впишите имя соединения и в поле "Конфигурация OpenVPN" вставьте скопированную конфигурацию из буфера обмена, нажав Ctrl V. Сохраните настройки.
images/275-4.png
Для настройки расписания работы или определения интерфейса, через который будет работать подключение, нажмите "Показать дополнительные настройки".
После создания подключения переведите переключатель в состояние Включено.
На этой же странице будет отображаться статус данного подключения.
images/275-5.png
Совет: Если данное подключение нужно использовать для выхода в Интернет, назначьте этому соединению самый высокий приоритет. Информацию о приоритетах вы найдете в статье "Приоритеты подключений".
Вариант 2. На некоторых сайтах с настройками OpenVPN, помимо файла конфигурации указывают логин и пароль. Например, на vpnbook.com.
images/275-6.png
В этом случае, прежде чем скопировать содержимое в буфер обмена из файла конфигурации, необходимо удалить строку:
auth-user-pass
и добавить секцию, вписав нужные значения логина и пароля. Например:
<auth-user-pass>
vpnbook
r3d23xs
</auth-user-pass>
images/275-7.png
Вариант 3. Другие провайдеры, например altvpn.com, предоставляют сертификаты и ключи в виде отдельных файлов. В этом случае нужно:
3.1. Закомментировать строки с именами файлов сертификатов и ключа символом #:
#ca ca.crt
#cert xxxxxxxxxx.crt
#key xxxxxxxxxx.crt
3.2. В конец файла конфигурации добавить секции сертификатов и ключа, и вставить в них содержимое соответствующих файлов:
<ca>
-----BEGIN CERTIFICATE-----
... <--сюда вставить тело сертификата из файла ca.crt
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
... <--сюда вставить тело сертификата из файла xxxx.crt
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
... <--сюда вставить тело ключа из файла xxxx.key
-----END RSA PRIVATE KEY-----
</key>
Вариант 4. У провайдера privateinternetaccess.com в файле конфигурации присутствуют файлы ca.rsa.2048.crt и crl.rsa.2048.pem, содержимое которых нужно вставить между секциями <crl-verify></crl-verify> и <ca></ca> соответственно.
Конфигурационный файл openvpn при этом примет следующий вид:
client
dev tun
proto udp
remote sweden.privateinternetaccess.com 1198
resolv-retry infinite
nobind
persist-key
persist-tun
cipher aes-128-cbc
auth sha1
tls-client
remote-cert-tls server
<auth-user-pass>
xxxxx - тут указать ваш логин сервиса
xxxxx - тут указать пароль сервиса
</auth-user-pass>​
comp-lzo
verb 1
reneg-sec 0
disable-occ

<crl-verify>
-----BEGIN X509 CRL-----
... <--сюда вставить тело ключа из файла crl.rsa.2048.pem
-----END X509 CRL-----
</crl-verify>

<ca>
-----BEGIN CERTIFICATE-----
...<--сюда вставить тело сертификата из файла ca.rsa.2048.crt
-----END CERTIFICATE-----
</ca>
Типовые ошибки и пути решения:

1. auth-user-pass without inline credentials data is not supported
В файле конфигурации осталась строка для онлайн ввода логина/пароля, который не поддерживается Keenetic. Ошибка в журнале Keenetic:
OpenVPN0 auth-user-pass without inline credentials data is not supported
OpenVPN0 Exiting due to fatal error
Удалите или закомментируйте все строки вида:
auth-user-pass

2. Ошибка опции block-outside-dns
В журнале Keenetic сообщение об ошибке:
OpenVPN0 Unrecognized option or missing or extra parameter(s) in configuration: (line X): block-outside-dns (2.4.4)
OpenVPN0 Exiting due to fatal error
Подробную информацию об ошибке и её решение вы найдете в статье "Ошибка "Unrecognized option or missing or extra parameter(s) in configuration" при установке OpenVPN-подключения".

3. Ошибка при соединении с серверами PrivateTunnel
При попытке соединения выдается ошибка:
OpenVPN0 Unrecognized option or missing or extra parameter(s) in configuration: (line 3): client-ip (2.4.4)
Добавьте в файл конфигурации клиента OpenVPN строку:
ignore-unknown-option client-ip block-ipv6

4. При использовании опции askpass /storage/key.txt возникает ошибка:
Error: private key password verification failed

Это ограничение текущей реализации OpenVPN в Keenetic. Можно использовать только ключ без пароля или с фиксированным паролем: "password".

Содержание