NOTE: В данной статье показана настройка версий ОС NDMS 2.11 и более ранних. Настройка актуальной версии ПО представлена в статье "Клиент OpenVPN".
В ОС NDMS v2.10.B0 был добавлен OpenVPN-клиент. Для его использования необходимы следующие действия:
Убедитесь, что установлен компонент с названием Клиент OpenVPN.
Скачайте файл конфигурации с сайта сервера OpenVPN, к которому планируете подключаться.
Например, на www.vpngate.net выберите сервер и нажмите на OpenVPN Config file.
Далее выберите одну из конфигураций этого сервера, например с использованием доменного имени DDNS и TCP 995.
При этом на компьютер скачается файл конфигурации с расширением .ovpn. Откройте его в текстовом редакторе Блокнот (Notepad) и скопируйте все содержимое в буфер обмена (Ctrl A, Ctrl C). После чего в веб-конфигураторе Keenetic зайдите в раздел Интернет и на вкладке PPPoE/VPN добавьте соединение. В его настройках поставьте галочку Включить, добавьте Описание (например, vpngate), выберите Тип (протокол) — OpenVPN, а в поле Конфигурация OpenVPN вставьте скопированную конфигурацию из буфера обмена (Ctrl V) и нажмите Применить.
На этом настройка окончена.
Проверьте, что соединение установлено в разделе Интернет на вкладке Подключения.
Если необходимо выходить через данное подключение в Интернет, поставьте соединению самый высокий приоритет, например 1000, как в нашем примере.
На некоторых сайтах с настройками OpenVPN, помимо файла конфигурации указывают логин и пароль. Например, на vpnbook.com.
В этом случае, прежде чем скопировать в буфер обмена из файла конфигурации, необходимо удалить строку:
auth-user-pass
и добавить секцию, вписав нужные значения логина и пароля:
<auth-user-pass>
vpnbook
bgxz34
</auth-user-pass>
Другие провайдеры, например 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
pull-filter ignore "block-outside-dns"
3. Ошибка при соединении с серверами PrivateTunnel.
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
Комментарии
хотелось бы иметь такой клинет и на 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 :)
Понадобится добавить в Keenetic маршрут вот такого вида:
ip route X.X.X.X Y.Y.Y.Y OpenVPN0, где
X.X.X.X Y.Y.Y.Y - адрес и маска сети, которые должны быть доступны через OpenVPN0
Важно, что маршрут это добавляется не в настройках OpenVPN, а в настройках самого Keenetic через командную строку или через веб-интерфейс.
Войдите в службу, чтобы оставить комментарий.