Установка и подключение к OpenVPN на OpenWrt

1. Установка OpenVPN-клиента в OpenWrt
2. Импорт конфигураций в OpenVPN-клиент в OpenWrt
3. Настройка маршрутизации OpenVPN в OpenWrt
Данная справка описана на основе ОС OpenWrt 22.03.2. Доступность OpenVPN-пакетов для более ранних версий OpenWrt уточняйте на официальном сайте.
Все действия описанные в данной статье производятся в Web-интерфейсе OpenWrt.
Устройство с OpenWrt должно иметь выход в интернет.

1. Установка

Для установки OpenVPN-клиента в OpenWrt необходимо перейти в меню System -> Software, где, нажав кнопку Update lists..., сперва обновить списки доступных пакетов. После чего, введя в поле фильтра openvpn, следует выбрать и установить пакеты openvpn-mbedtls и luci-app-openvpn.
В оригинальной статье на официальном сайте OpenWrt описывается установка пакета openvpn-openssl, который позволит подключаться только к RSA-конфигурациям. Предлагаемый же в этой статье вариант с openvpn-mbedtls делает доступным подключения как к RSA-конфигурациям, так и конфигурациям на основе эллиптической криптографии (ECC).
После успешной установки необходимо обновить страницу web-интерфейса устройства с OpenWrt, появится новый пункт в главном меню – VPN.

2. Импорт конфигураций

Перед подключением необходимо скачать OpenVPN-конфигурации. Для этого следует открыть в браузере страницу с конфигами OpenVPN и выбрать подходящий конфиг в папках single или double.
Все конфигурации OpenVPN можно скачать разом в одном архиве, также можно скачать архив со всеми конфигурациями только одиночных цепей (SingleVPN) или со всеми конфигурациями только двойных цепей (DoubleVPN). После скачивания архивов, их следует распаковать.
Импорт конфигураций производится в меню VPN -> OpenVPN. Внизу страницы, под заголовком OVPN configuration file upload, следует вписать название VPN-цепи и выбрать соответствующий файл конфигурации для загрузки.
После успешного импорта конфиг следует отредактировать нажав Edit в строке конфигурации. Откроется форма из двух текстовых полей, где в первой части сама конфигурация, а ниже нее пустое поле. В нижнее поле необходимо вписать имя пользователя на первой строке и пароль на второй. Далее следует вернуться к первой части и дописать в строке с параметром auth-user-pass путь до файла с данными для авторизации (путь до этого файла указан в строке между двумя текстовыми полями в скобках), после чего сохранить изменения нажав Save.
Имя пользователя и пароль полностью совпадают с именем пользователя и паролем от Кабинета DeepWebVPN.
Например, если при импорте указано имя VPN-цепи как DoubleECC_PL1_RU1, то путь до файла с данными для авторизации будет /etc/openvpn/DoubleECC_PL1_RU1.auth, в таком случае строку с параметром auth-user-pass необходимо отредактировать как показано ниже.
auth-user-pass /etc/openvpn/DoubleECC_PL1_RU1.auth
В завершении импорта следует вернуться в меню VPN -> OpenVPN, где отметить Enabled в строке с добавленным конфигом, а затем сохранить и применить внесенные изменения нажав Save & Apply.

3. Настройка маршрутизации

После сохранения и применения внесенных настроек в конце предыдущего шага устройство под управлением OpenWrt автоматически должно попытаться установить OpenVPN-соединение. Однако, для раздачи доступа к сети из-под VPN-туннеля необходимо в меню Network -> Firewall под заголовком Zones выбрать зону wan без пары (обычно wan => REJECT) и отредактировать ее, нажав Edit. В открывшемся окне следует перейти во вкладку Advanced Settings, где в выпадающем меню Covered devices отметить Ethernet Adapter: "tun0" и, нажав Save, сохранить.
Вернувшись в меню Network -> Firewall, после закрытия окна, необходимо также сохранить и применить настройки нажав Save & Apply.