Что понадобится и предварительные действия
ZyXEL Keenetic с USB-портом, любой кроме моделей 4GII/III - одна штука
Usb Flash - одна штука
Флешка может быть любой. В моем случае это поддельный Kingston, в котором из 8Гб реально нашлось только 256Мб
Проверяем версию прошивки в дешбоарде. Для установки Entware нужна версия прошивки NDMS v2.07 (2.08) и выше. Если у вас она такова - сразу переходите к пункту 2. Установка Entware
Мой опытный образец Zyxel Keenetic DSL с прошивкой 2.05. Без повышения версии прошивки установка Entware на нём преждевременно прекращается с сообщением Opkg::Manager: /opt/etc/init.d/doinstall: FATAL: kernel too old.
Поэтому
Обновляем прошивку на версию 2.11 из канала legacy
Соединяемся с роутером
telnet your_router_ip
вводим логин/пароль админ юзераПереключаем канал на legacy:
components sync legacy
- для прошивок до 2.06components list legacy
- для прошивок 2.06 и вышеВ веб-интерфейсе идем System -> Update
Проверяем, что в поле "Use" появилось значение "Debug version". Жмем кнопку "Update" и ждём.После установки роутер ребутнётся. Проверяем в дешбоарде версию.
NDMS version: 2.11.D.9.0-1 - Значит, всё получилось.
Установка Entware
Качаем установщик для Keenetic DSL, LTE, VOX, DSL (KN-2010), DUO (KN-2110) ( http://bin.entware.net/mipssf-k3.4/installer/mips-installer.tar.gz)
для остальных интернет-центров Keenetic - mipsel-installer.tar.gzБерём любую чистую флешку. Я форматировал в FAT32. У флешки обязательно должна быть метка тома (любая, кроме пустой). Вставляем её в роутер.
Проверяем что в System->Update установлены компоненты FTP и OPKG. Если нет - устанавливаем
Если у вас еще не настроен FTP, то заходим в Applications->FTP, включаем FTP сервер, разрешаем анонимный доступ (или не разрешаем, тогда нужно указать, каким пользователям роутера разрешено пользоваться FTP)
Заходим по FTP на роутер (анонимно или нет - см п 2.4), далее в каталог с именем метки нашей флешки (cм п 2.2)
Создаём каталог install и заходим в него
Копируем установщик из п 2.1 в каталог install
Заходим в Applications->OPKG, Ставим галку "Enable", в "Use external storage" выбираем метку нашей флешки, жмём кнопку "Apply"
Переходим в System->Log, ждём сообщения
"installer[5/5] Установка системы пакетов "Entware" завершена! Не забудьте сменить пароль и номер порта!"
Теперь можно логиниться на порт 22 или 222 с логином root и паролем keenetic
Не забываем сменить пароль и номер порта ;)
порт - в файле/opt/etc/config/dropbear.conf
пароль - командойpasswd
Если FTP сервер не нужен - не забываем его выключить.
Ну, по крайней мере, закрыть анонимный доступ :)
Установка DNSCrypt2
Проверяем DNS на утечку перед установкой (в данном случае утечка - это когда ваш браузер лазит к вашему провайдеру чтобы резолвить DNS. И это пока еще нормально, но скоро мы от этого вылечимся)
https://dnsleaktest.com/
https://browserleaks.com/dns
https://whatleaks.com/
или аналогичныеЗаходим в Entware по SSH
Устанавливаем DNSCrypt2
opkg update
opkg install dnscrypt-proxy2
Устанавливаем немного дополнительных пакетов
opkg install ca-certificates cron iptables
Редактируем
/opt/etc/dnscrypt-proxy.toml
нас интересует строкаlisten_addresses = ['127.0.0.1:53']
разрешаем слушать любые адреса:listen_addresses = ['0.0.0.0:53']
Стартуем DNSCrypt2
/opt/etc/init.d/S09dnscrypt-proxy2 start
Подменяем DNS резолвер прошивки
ВНИМАНИЕ! Здесь мы подключаемся к роутеру через telnet (не в Entware по SSH) - см п 1.1 и там выполняемopkg dns-override
system configuration save
Идём в вебморду Home Network -> Segments
Ищем сегмент со своим Wifi подключением, редактируем в секцию DHCP server: прописываем в
DNS 1 IP роутера
DNS 2 оставляем пустымИдем в вебморду Internet -> Connections Выбираем своё исходящее подключение: прописываем в
DNS 1 IP роутера
DNS 2 и 3 оставляем пустымиИдем в вебморду Internet -> Extra Проверяем, чтобы в секции DNS servers не было никаких других серверов кроме IP нашего роутера. Если есть - удаляем.
Переподключаемся к роутеру (по WiFi или проводу) Заодно перепроверяем настройки подключения к роутеру своих устройств, чтобы в них не было принудительно установленных DNS-серверов
Здесь всё (почти работает). Но утечки всё еще возможны. Поэтому мы сейчас запретим весь трафик, который уходит наружу через 53 порт.
Для чего логинимся в Entware по ssh и создаем скрипт/opt/etc/ndm/netfilter.d/10-ClientDNS-Redirect.sh
ВНИМАНИЕ! Замените 10.1.1.1 на IP вашего роутера#!/bin/sh
[ "$type" == "ip6tables" ] && exit 0
[ "$table" != "nat" ] && exit 0
[ -z "$(iptables -nvL -t nat | grep "to:10.1.1.1:53")" ] && iptables -t nat -I PREROUTING -p udp --dport 53 -j DNAT --to-destination 10.1.1.1:53
exit 0
Это можно сделать, например, вот так:
ВНИМАНИЕ! Замените 10.1.1.1 на IP вашего роутераecho -e '#!/bin/sh\n[ "$type" == "ip6tables" ] && exit 0\n[ "$table" != "nat" ] && exit 0\n[ -z "$(iptables -nvL -t nat | grep "to:10.1.1.1:53")" ] && iptables -t nat -I PREROUTING -p udp --dport 53 -j DNAT --to-destination 10.1.1.1:53\nexit 0' >> /opt/etc/ndm/netfilter.d/10-ClientDNS-Redirect.sh
Делаем 10-ClientDNS-Redirect.sh исполняемым:
chmod +x /opt/etc/ndm/netfilter.d/10-ClientDNS-Redirect.sh
Ребутим роутер (без этого пункта https://browserleaks.com/dns периодически светил мои родные DNS сервера)
Проверяемся на утечки.
Отныне используемые DNS сервера будут находится рандомно по всему миру, а трафик к ним будет шифроваться.
Ссылки по теме
https://forum.keenetic.net/announcement/5-где-взять-тестовые-сборки/ https://help.keenetic.com/hc/ru/articles/115002060049
https://forum.keenetic.net/topic/4299-entware/?do=findComment&comment=50640
https://forum.keenetic.net/topic/4755-защищаем-dns-запросы-с-помощью-dnscrypt-proxy2-бонусом-блокировка-рекламы/