- PVSM.RU - https://www.pvsm.ru -

Используем пакеты на основе OpenWRT в рутерах ZyXel Keenetic

image

Не так давно компания ZyXel с помощью модуля открытых пакетов поддержала OPKG — пакеты из популярной ОС OpenWRT, предназначенной для домашних маршрутизаторов. Это значит, что часть из них теперь можно ставить на ZyXel Keenetic. В этой статье я опишу процесс включения пакета, настройки репозитория Entware [1] с тысячами пакетов, а также настройки рутера как OpenVPN клиента.

На данный момент проект обитает и обсуждается на этом форуме [2].
Требования — любой кинетик с последней версией NDMSv2 и USB — портом, кроме моделей 4GII/III. Возможно, на некоторых устройствах для появления нужных компонентов потребуется перейти на бета-ветку прошивки.

Первым делом идём в настройки рутера, и там в обновлениях устанавливаем, выбрав нужные опции, компоненты Open Package support, IPv6, а также все компоненты из секции USB storage. IPv6 нужен для корректной работы netfilter, когда будем загонять трафик в туннель. Также потребуется компонент FTP на устройстве, если файлы конфигурации будут загружаться не на флешку напрямую, а по сети.

На флешке создать ext2/ext3 раздел с любой меткой на латинке (например, keendev), подключить к рутеру и на разделе с меткой keendev создать папку install.

Далее в эту папку надо закинуть файл установки:

— для Keenetic DSL, LTE, VOX — mips [3];

— для остальных Keenetic`ов — mipsel [4];

Потом на странице «Приложения > OPKG» поставить галку «Включить». Затем выбрать из списка нужный USB-носитель, в поле «Сценарий initrc:» вписать /opt/etc/init.d/rc.unslung и нажать «Применить».

Если все сделали правильно, то в системном журнале через некоторое время появится строчка "… Установка Entware-Keenetic завершена!"

Теперь можно зайти на кинетик по ssh, логин root, пароль zyxel.
Пароль никак не связан с паролем кинетика. Меняется он, если необходимо, командой passwd.

Первым делом обновим список пакетов: opkg update

Установка пакетов происходит командой opkg install %commandname%

Для работы OpenVPN — клиента необходимы следующие пакеты:

Нужные пакеты

dropbear — 2015.71-3
findutils — 4.6.0-1
iptables — 1.4.21-2
ldconfig — 1.0.13-4
libc — 1.0.13-4
libgcc — 5.3.0-4
liblzo — 2.09-1
libndm — 1.0.22-1
libopenssl — 1.0.2h-1
libpthread — 1.0.13-4
librt — 1.0.13-4
libssp — 5.3.0-4
libstdcpp — 5.3.0-4
ndmq — 1.0.2-1
openvpn-openssl — 2.3.10-1
opt-ndmsv2 — 1.0-4
terminfo — 6.0-1
zlib — 1.2.8-1

Узнать уже установленные можно с помощью opkg list-installed, неустановленные нужно доустановить, не указывая версию в конце, только имя пакета.

В папку /opt/etc/openvpn необходимо создать файл openvpn.conf, в помощь touch и vi, примерно следующего формата:

Пример формата файла конфигурации

client
dev tun
fast-io
persist-key
persist-tun
nobind
remote %serverIP% %port%

remote-random
pull
comp-lzo
tls-client
verify-x509-name Server name-prefix
ns-cert-type server
key-direction 1
route-method exe
route-delay 2
tun-mtu 1500
fragment 1300
mssfix 1450
verb 3
cipher AES-256-CBC
keysize 256
auth SHA512
sndbuf 524288
rcvbuf 524288
-----BEGIN CERTIFICATE-----
%сертификат%
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
%ключ rsa%
-----END RSA PRIVATE KEY-----

<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
%ключ%
-----END OpenVPN Static key V1-----
</tls-auth>
-----BEGIN CERTIFICATE-----
%сертификат%
-----END CERTIFICATE-----

Если ваш провайдер OpenVPN даёт файл router.ovpn, его также можно использовать. Тогда в скрипте запуска /opt/etc/init.d/S20openvpn нужно его указать в строке:
ARGS="--daemon --cd /opt/etc/openvpn --config router.ovpn"

Для указания в скрипте iptables, какие интерфейсы нужно использовать, нужно их выяснить с помощью команды ifconfig.
Ищем в списке интерфейс с inet addr, совпадающим с локальным адресом вашего рутера. Например, он будет br0.

Теперь нужно прописать скрипт iptables в папке cd /opt/etc/ndm/netfilter.d. Назовём его openvpnfil.sh:

Скрипт iptables

#!/bin/sh

[ "$table" != filter ] && exit 0
iptables -I FORWARD -i br0 -o tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -o br0 -j ACCEPT
iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE

Теперь рутер надо перезагрузить.

После перезагрузки идём опять по ssh и включаем OpenVPN, если он сам не включился при загрузке:

/opt/etc/init.d/S20openvpn start

В логах кинетика (уже в веб-конфигураторе) можно будет посмотреть, всё ли хорошо. Там же будет написано, где и в чём плохо, если что-то пойдёт не так.

Используем пакеты на основе OpenWRT в рутерах ZyXel Keenetic - 2

image

Создано по мотивам абы как структурированных данных на http://forums.zyxmon.org/ [5] и http://forum.keenetic.net/ [2]

Автор: crypby

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/openvpn/162414

Ссылки в тексте:

[1] Entware: https://github.com/The-BB/Entware-Keenetic

[2] этом форуме: http://forum.keenetic.net/

[3] mips: http://pkg.entware-keenetic.ru/binaries/keenbe/installer/installer-keenbe.tar.gz

[4] mipsel: http://pkg.entware-keenetic.ru/binaries/keenle/installer/installer-keenle.tar.gz

[5] http://forums.zyxmon.org/: http://forums.zyxmon.org/

[6] Источник: https://habrahabr.ru/post/306378/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best