Клиент OpenVPN

OpenVPN — один из самых популярных протоколов для организации VPN-соединения. С его помощью можно создать виртуальную частную сеть или объединять локальные сети. OpenVPN имеет открытый исходный код и бесплатно распространяется под лицензией GNU GPL. OpenVPN можно назвать одним из самых безопасных протоколов. Все передаваемые данные надежно защищены при помощи библиотеки шифрования OpenSSL и протоколов SSLv3/TLSv1, что обеспечивает высокую безопасность и анонимность.

В интернет-центре Keenetic интегрирована поддержка OpenVPN-клиента. Для настройки подключения OpenVPN обязательно нужно установить компонент системы "Клиент OpenVPN". С этим компонентом интернет-центр Keenetic можно использовать как клиент и как сервер OpenVPN. Подробное описание режима сервера вы найдете в статье "Сервер OpenVPN". Установить компонент системы можно на странице "Общие настройки" в разделе "Обновления и компоненты", нажав "Изменить набор компонентов".

 openvpn-c-01.png

NOTE: Важно! В интернет-центре Keenetic используются строгие требования к конфигурации OpenVPN. Ниже перечислены основные требования:

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

VPN-провайдеры могут предоставлять разные варианты конфигураций для OpenVPN-подключения. Ниже рассмотрим некоторые из них.

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

openvpn-c-02.png

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

openvpn-c-03.png

При этом на компьютер загрузится файл конфигурации с расширением .ovpn. Откройте его в любом текстовом редакторе (например, в Блокноте) и скопируйте всё содержимое в буфер обмена, нажав на клавиатуре последовательно комбинацию клавиш Ctrl A и Ctrl C.

После этого перейдите на страницу "Другие подключения" и в разделе "VPN-подключения" нажмите "Добавить подключение". В окне "Параметры VPN-подключения" в поле "Тип (протокол)" выберите значение "OpenVPN".
Затем в поле "Имя подключения" впишите имя соединения и в поле "Конфигурация OpenVPN" вставьте скопированную конфигурацию из буфера обмена, нажав Ctrl V. Сохраните настройки.

openvpn-c-04.png

Для настройки расписания работы или определения интерфейса, через который будет работать подключение, нажмите "Показать дополнительные настройки".

После создания подключения переведите переключатель в состояние Включено.
На этой же странице будет отображаться статус данного подключения.

openvpn-c-05.png

TIP: Совет: Если данное подключение нужно использовать для выхода в Интернет, назначьте этому соединению самый высокий приоритет. Информацию о приоритетах вы найдете в статье "Приоритеты подключений".

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

openvpn-c-06.png

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

CLI: auth-user-pass

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

CLI: <auth-user-pass>
vpnbook
r3d23xs
</auth-user-pass>

openvpn-c-07.png

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

3.1. Закомментировать строки с именами файлов сертификатов и ключа символом #:

CLI: #ca ca.crt
#cert xxxxxxxxxx.crt
#key xxxxxxxxxx.crt

3.2. В конец файла конфигурации добавить секции сертификатов и ключа, и вставить в них содержимое соответствующих файлов:

CLI: <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 при этом примет следующий вид:

CLI: 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>

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

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

 

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

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

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

Комментарии

1 комментарий
  • Мой корпоративный OpenVPN сервер в своих параметрах имеет вот такой фрагмент:

    push "dhcp-option DNS x.x.x.x"

    Он передаёт клиентам IP адрес локального DNS сервера для резолвинга доменных имён в локальной сети, к которой мы подключаемся. Клиенты Windows и Linux умеют обрабатывать этот параметр, а вот Keenetic OS - нет. В результате в логе мы видим:

    [E] May 30 14:35:39 OpenVPN0: Unrecognized option or missing or extra parameter(s) in configuration: (line 4): register-dns (2.4.6)
    [E] May 30 14:35:39 OpenVPN0: Exiting due to fatal error
    [E] May 30 14:35:39 ndm: Service: "OpenVPN0": unexpectedly stopped.

    Для решения этой проблемы необходимо в конфиг клиента OpenVPN на Keenetic добавить опцию

    pull-filter ignore "register-dns"

    1
    Действия с комментариями Постоянная ссылка

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