Використовуйте пакети на основі OpenWRT у рутерах ZyXel Keenetic

Не так давно компанія ZyXel за допомогою модуля відкритих пакетів підтримала OPKG - пакети з популярної ОС OpenWRT, призначеної для домашніх маршрутизаторів. Це означає, що частину з них тепер можна ставити на ZyXel Keenetic. У цій статті я опишу процес включення пакета, налаштування сховища Entware з тисячами пакетів, а також налаштування рутера як OpenVPN клієнта.

На даний момент проект мешкає і обговорюється на цьому форумі.

Вимоги - будь-який кінетик з останньою версією NDMSv2 і USB - портом, крім моделей 4GII/III. Можливо, на деяких пристроях для появи потрібних компонентів потрібно перейти на бета-гілку прошивки.

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

На флешці створити ext2/ext3 розділ з будь-якою міткою на латинці (наприклад, keendev), з'єднати до рутера і на розділі з міткою keendev створити теку install.

Далі в цю теку треба закинути файл установки:

— для Keenetic DSL, LTE, VOX — mips;

- для інших Keenetic'ів - mipsel;

Потім на сторінці «Програми > 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

У логах кінетика (вже у веб-конфігураторі) можна буде подивитися, чи все добре. Там же буде написано, де і в чому погано, якщо щось піде не так.

logo