Как стать автором
Обновить

Пошаговая стратегия или установка Entware и DNSCrypt на роутеры Zyxel Keenetic

Время на прочтение4 мин
Количество просмотров20K

Что понадобится и предварительные действия

  • 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.

Поэтому

  1. Обновляем прошивку на версию 2.11 из канала legacy

    1. Соединяемся с роутером
      telnet your_router_ip
      вводим логин/пароль админ юзера

    2. Переключаем канал на legacy:
      components sync legacy - для прошивок до 2.06
      components list legacy - для прошивок 2.06 и выше

    3. В веб-интерфейсе идем System -> Update
      Проверяем, что в поле "Use" появилось значение "Debug version". Жмем кнопку "Update" и ждём.

    4. После установки роутер ребутнётся. Проверяем в дешбоарде версию.
      NDMS version: 2.11.D.9.0-1 - Значит, всё получилось.

  2. Установка Entware

    1. Качаем установщик для 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

    2. Берём любую чистую флешку. Я форматировал в FAT32. У флешки обязательно должна быть метка тома (любая, кроме пустой). Вставляем её в роутер.

    3. Проверяем что в System->Update установлены компоненты FTP и OPKG. Если нет - устанавливаем

    4. Если у вас еще не настроен FTP, то заходим в Applications->FTP, включаем FTP сервер, разрешаем анонимный доступ (или не разрешаем, тогда нужно указать, каким пользователям роутера разрешено пользоваться FTP)

    5. Заходим по FTP на роутер (анонимно или нет - см п 2.4), далее в каталог с именем метки нашей флешки (cм п 2.2)

    6. Создаём каталог install и заходим в него

    7. Копируем установщик из п 2.1 в каталог install

    8. Заходим в Applications->OPKG, Ставим галку "Enable", в "Use external storage" выбираем метку нашей флешки, жмём кнопку "Apply"

    9. Переходим в System->Log, ждём сообщения
      "installer[5/5] Установка системы пакетов "Entware" завершена! Не забудьте сменить пароль и номер порта!"
      Теперь можно логиниться на порт 22 или 222 с логином root и паролем keenetic
      Не забываем сменить пароль и номер порта ;)
      порт - в файле /opt/etc/config/dropbear.conf
      пароль - командой passwd

    10. Если FTP сервер не нужен - не забываем его выключить.
      Ну, по крайней мере, закрыть анонимный доступ :)

  3. Установка DNSCrypt2
    Проверяем DNS на утечку перед установкой (в данном случае утечка - это когда ваш браузер лазит к вашему провайдеру чтобы резолвить DNS. И это пока еще нормально, но скоро мы от этого вылечимся)
    https://dnsleaktest.com/
    https://browserleaks.com/dns
    https://whatleaks.com/
    или аналогичные

    1. Заходим в Entware по SSH

    2. Устанавливаем DNSCrypt2
      opkg update
      opkg install dnscrypt-proxy2

    3. Устанавливаем немного дополнительных пакетов
      opkg install ca-certificates cron iptables

    4. Редактируем /opt/etc/dnscrypt-proxy.toml
      нас интересует строка
      listen_addresses = ['127.0.0.1:53']
      разрешаем слушать любые адреса:
      listen_addresses = ['0.0.0.0:53']

    5. Стартуем DNSCrypt2
      /opt/etc/init.d/S09dnscrypt-proxy2 start

    6. Подменяем DNS резолвер прошивки
      ВНИМАНИЕ! Здесь мы подключаемся к роутеру через telnet (не в Entware по SSH) - см п 1.1 и там выполняем
      opkg dns-override
      system configuration save

    7. Идём в вебморду Home Network -> Segments
      Ищем сегмент со своим Wifi подключением, редактируем в секцию DHCP server: прописываем в
      DNS 1 IP роутера
      DNS 2 оставляем пустым

    8. Идем в вебморду Internet -> Connections Выбираем своё исходящее подключение: прописываем в
      DNS 1 IP роутера
      DNS 2 и 3 оставляем пустыми

    9. Идем в вебморду Internet -> Extra Проверяем, чтобы в секции DNS servers не было никаких других серверов кроме IP нашего роутера. Если есть - удаляем.

    10. Переподключаемся к роутеру (по WiFi или проводу) Заодно перепроверяем настройки подключения к роутеру своих устройств, чтобы в них не было принудительно установленных DNS-серверов

    11. Здесь всё (почти работает). Но утечки всё еще возможны. Поэтому мы сейчас запретим весь трафик, который уходит наружу через 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

    12. Делаем 10-ClientDNS-Redirect.sh исполняемым:
      chmod +x /opt/etc/ndm/netfilter.d/10-ClientDNS-Redirect.sh

    13. Ребутим роутер (без этого пункта https://browserleaks.com/dns периодически светил мои родные DNS сервера)

    14. Проверяемся на утечки.

Отныне используемые 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-бонусом-блокировка-рекламы/

Теги:
Хабы:
+1
Комментарии2

Публикации

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн