Что понадобится и предварительные действия
-
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 updateopkg 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-overridesystem 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-бонусом-блокировка-рекламы/
ссылка на оригинал статьи https://habr.com/ru/post/556536/
Добавить комментарий