Использование клиента OpenVPN

В ОС NDMS v2.10.B0 был добавлен OpenVPN-клиент. Для его использования необходимы следующие действия:

Убедитесь, что установлен компонент с названием Клиент OpenVPN.
Скачайте файл конфигурации с сайта сервера OpenVPN, к которому планируете подключаться.
Например, на www.vpngate.net выберите сервер и нажмите на OpenVPN Config file.

opv01.png

Далее выберите одну из конфигураций этого сервера, например с использованием доменного имени DDNS и TCP 995.

opv02.png

При этом на компьютер скачается файл конфигурации с расширением .ovpn. Откройте его в текстовом редакторе Блокнот (Notepad) и скопируйте все содержимое в буфер обмена (Ctrl A, Ctrl C). После чего в веб-конфигураторе Keenetic зайдите в раздел Интернет и на вкладке PPPoE/VPN добавьте соединение. В его настройках поставьте галочку Включить, добавьте Описание (например, vpngate), выберите Тип (протокол) — OpenVPN, а в поле Конфигурация OpenVPN вставьте скопированную конфигурацию из буфера обмена (Ctrl V) и нажмите Применить.

opv03.png

На этом настройка окончена.
Проверьте, что соединение установлено в разделе Интернет на вкладке Подключения.

opv04.png

Если необходимо выходить через данное подключение в Интернет, поставьте соединению самый высокий приоритет, например 1000, как в нашем примере.

На некоторых сайтах с настройками OpenVPN, помимо файла конфигурации указывают логин и пароль. Например, на vpnbook.com.

opv05.png

В этом случае, прежде чем скопировать в буфер обмена из файла конфигурации, необходимо удалить строку:

auth-user-pass

и добавить секцию, вписав нужные значения логина и пароля:

<auth-user-pass>
vpnbook
bgxz34
</auth-user-pass>

opv06.png

 Другие провайдеры, например altvpn.com, предоставляют сертификаты и ключи в виде отдельных файлов. В этом случае понадобится:

1. Закомментировать строки с именами файлов сертификатов и ключа символом #:
#ca ca.crt
#cert xxxxxxxxxx.crt
#key xxxxxxxxxx.crt

2. В конец файла конфигурации добавить секции сертификатов и ключа и вставить в них содержимое соответствующих файлов:
<ca>
-----BEGIN CERTIFICATE-----
...                                     <--сюда вставить тело серификат из файла ca.crt
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
...                                     <--сюда вставить тело серификат из файла xxxxxxxxxx.crt 
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
...                                     <--сюда вставить тело ключа из файла xxxxxxxxxx.key
-----END RSA PRIVATE KEY-----
</key>

У провайдера 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>

Требования к конфигурации OpenVPN для использования в Keenetic:

Конфигурация должна быть выполнена в виде одного файла.

Сертификаты, ключи и т.п. должны быть включены в этот файл.

Как правило подходят файлы конфигурации с расширением .ovpn

Если провайдер предлагает файлы для различных роутеров или систем, в большинстве случаев можно воспользоваться файлом для OpenWRT.

В конфигурации необходимо использовать только опции, перечисленные здесь: https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage

Некоторые опции из описанных по ссылке выше могут не поддерживаться. Например, у нас не поддерживаются опции, относящиеся к IPv6.

Порядок следования опций и включенных сертификатов и ключей не имеет значения.

Примечание

Файл конфигурации OpenVPN не сохраняется в резервной копии конфигурации устройства startup-config.txt. Для получения резервной копии настроек интерфейса клиента OpenVPN его нужно сохранить отдельно.

Типовые ошибки и пути решения:

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.
На сервере OpenVPN настроена опция block-outside-dns, которая корректно обрабатывается только в ОС Windows. Ошибка в журнале 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
 
Добавьте в файл конфигурации клиента OpenVPN строку:
pull-filter ignore "block-outside-dns"

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".

Дополнительная информация:

Документация по OpenVPN 2.4
https://ru.wikipedia.org/wiki/OpenVPN

 

KB-5251

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 11 из 12

Еще есть вопросы? Отправить запрос

Комментарии

Комментариев: 11
  • хотелось бы иметь такой клинет и на keenetic extra

  • Для Keenetic Extra новые версии релизов не планируются, но новые возможности, в том числе и OpenVPN, можно найти в тестовых версиях (начиная с 2.10) с форума Keenetic Community.

  • А почему именно доменное имя DDNS и TCP значением 995? Можно любой другой или обязательно 995?

  • Можно с другим значением номера порта TCP. Мы в качестве примера использовали конфигурацию с портом TCP 995.

  • Можно увидеть пример конфигурации?

    Взял конфигурацию из ovpn файла, который работает на windows и android, тут пишет нет соединения

  • Примеры конфигурация можно скачать с www.vpngate.net. Важно, что бы:
    1. Все логины/пароли, ключи и сертификаты были включены в текстовый файл конфигурации, а не хранились в виде отдельных файлов.
    2. Использовались только параметры OpenVPN 2.4 описанные на сайте :
    https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage

  • askpass не работает или я что-то неправильно делаю? файл с паролем в /opt/etc -rwxrwxrwx

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

  • Доброго дня. При таком решении весь трафик пойдет через VPN или через него пойдут только закрытые ресурсы? И еще - при доступе, например, к торрент трекеру содержимое торрента пойдет также через VPN или нет?
    Спасибо.

  • Как правило все VPN провайдеры выдают маршрут по умолчанию, поэтому при включении "Получать маршруты от удаленной стороны" в настройках OpenVPN, весь трафик, включая трафик встроенного transmission, пойдет через VPN.
    Если этого не требуется, можно не включать эту настройку, а прописать маршруты до сетей, доступ к которым необходим через VPN, в разделе Интернет на закладке Прочее.

  • Петр, приведите пожалуйста пример, что именно надо прописать в Прочем для того, чтобы траффик только до определенных узлов (IP или доменов) шел через VPN :)

Войдите в службу, чтобы оставить комментарий.