Лайфхаки

Маленькие, полезные хитрости

Обхода блокировок много не бывает на роутерах Keenetic

28.08.2023 в 13:32

Обхода блокировок много не бывает на роутерах Keenetic

Прошло почти 3 месяца с моей предыдущей статьи , я решил написать ещё одну. Она частично будет повторять мою предыдущую статью и статью , на основе которой она была написана. Исходя из различных комментариев на форумах и под этими статьями, я попытался в этой инструкции показать, как можно использовать различные обходы блокировок. Для большинства специалистов по этой теме ничего нового тут не будет. А для остальных, думаю, будет что почитать и чем заняться на досуге. Сильно страшного в этой инструкции, как и в предыдущих, ничего нет, нужно просто двигаться по ней, не пропуская ни одного шага.

Итак, зачем нужен этот обход блокировок:

    Для захода на необходимые сайты, которые блокируются в любой конкретной стране.

    Для «обмана» сайтов из других стран, которые не хотят работать для граждан конкретной страны.

С помощью действий, описанных в этой статье, Вы сможете подключить все устройства домашней сети (телефоны, смарт-тв, компьютеры и ноутбуки и другие «домашние» устройства) к данному обходу блокировок, а также подключаться к Вашему роутеру не из дома и пользоваться его обходом блокировок для доступа к любимым сайтам и приложениям. Кроме того, из обеих этих сетей (домашней и через подключение к роутеру), из любого браузера можно будет пользоваться onion-сайтами.

В данной статье будет описана работа телеграм-бота, написанного на python. С его помощью будет возможна установка данного обхода с небольшими предварительными настройками, а также работа со списками блокировок.

Для каждого конкретного обхода блокировок, мы будем устанавливать свой список сайтов и ip адресов для обхода. Изменять любой из этих списков будет достаточно легко (через телеграм бот, либо вручную, но тоже несложно), потому не пугайтесь. Частью функционала Вы можете и не пользоваться — Ваше право. Весь код будет в открытом доступе, информация о Ваших данных будет храниться на локальном роутере.

Статья разбита на 2 части. Первая для тех, кому «побыстрее чтоб работало», и для тех, кто хочет покопаться в настройках и понять как это всё работает. Так что не пугайтесь размеров статьи

Необходимо

    Любой Keenetic с поддержкой USB;

    Актуальная версия KeeneticOs (на данный момент 3.8.3);

    Flash-накопитель размером от 1Гб;

    Не побояться прочитать инструкцию;

    Около 30 минут времени, попивая кофе. Основная часть работы это будет время ожидания установки.

Подготовка Flash-накопителя, роутера и установка Entware

    Используем инструкцию на сайте Keenetic. Для корректной работы телеграм-бота нам необходим будет файл подкачки. Возможно на «старших» моделях роутера это будет и необязательно, тогда можно воспользоваться предыдущей инструкцией (без файла подкачки), но на моём Keenetic Extra 1711 файл подкачки необходим. На флешке необходимо создать два раздела, один Linux Swap, второй — Ext4. Можно вместо Ext4 использовать NTFS, но для этого необходимо будет установить соответствующий компонент . Для работы с разделами в данной статье используется   MiniTool Partition Wizard . Если что на всем известных сайтах можно найти взломанную версию, хотя, может, и бесплатная сработает.

    Для установки Entware воспользуемся инструкцией на официальном сайте Keenetic.

    Скачиваем mipsel .

    Вставляем отформатированную флешку в роутер.

    Заходим в раздел Управление – Приложения и выбираем нашу флешку.

    В настройках роутера предварительно должно быть включено приложение « Сервер SMB » для доступа к подключаемым USB-дискам по сети.

      Keenetic VPN для определенных сайтов. Настраиваем свой VPN-сервер на Keenetic

      Сервер позволяет подключить к другой сети, роутеру (все лучшие VPN для роутеров любой фирмы), или маршрутизатору Keenetic. Это обеспечивает возможность удаленного доступа через смартфон, планшет или с любого другого устройства, даже если пользователь находится не дома.

      Вход в настройки и включение DDNS

      Подключить к локальной сети Keenetic можно двумя способами:

      • Кабелем через локальный порт;
      • По Wi-Fi.

      Для использования интерфейса в браузере нужно ввести IP-адрес роутера (192.168.1.1) или адрес сайта - my.keenetic.net . Остается авторизоваться в системе, используя логин и пароль (если не были изменены, то их можно найти на коробке с устройством).

      Смысл сервера – в доступе к нему извне. Подключение производится через внешний адрес маршрутизатора. Однако есть нюансы. Провайдеры выдают два адреса:

      • Белый динамический;
      • Серый статический.

      Обязательно, чтобы провайдер выдал внешний фиксированный (белый) адрес. Если нет – на новых прошивках KeenDNS есть возможность подключиться к статистическому IP. Создается облачный DDNS, работающую напрямую или через облако. При взаимодействии с последними сборками прошивки:

      • Перейдите в параметр "Доменное имя" и вводим любое название, нажимаем "Зарегистрировать".
      • Если имя не занято – роутер уведомит об этом и выдаст 3 поддомена (можно выбрать любой).
      • Для серого IP перейдите в "Общие настройки" и активируйте "Keenetic Cloud".
      • На экране появится диалоговое окно – дождитесь, пока оборудование загрузит SSL-сертификаты. Затем выберите "Режим работы": через облако – для серого IP, прямой доступ – для белого адреса.

      Если на роутере старая прошивка, то с серым IP ничего не сделать. Можно только подключиться к другому провайдеру или купить новую модель Keenetic. Для пользователей с белым IP – нужно аналогично настроить DDNS:

      • Зайдите в параметр "Интернет", затем в "DDNS".
      • Изучите список серверов. В стандартном варианте доступны: Dyn, No-Ip и DNS-Master.
      • Зайдите на сайт этих серверов, зарегистрируйте и сформируете DDNS.
      • Зайдите обратно в настройки и введите параметры DDNS.

      Настройка WireGuard-сервера

      Из-за особенностей протокола обозначения "клиент" и "сервер" становятся условными. Возможность организовать WireGuard-туннель появилась в версии ПО KeeneticOS 3.3 — функция работает только на новых устройствах. Подключение работает в формате "Site-To-Site VPN". Если у одного из интернет-центров есть белый IP — лучше настроить его как сервер. WireGuard можно использовать только для связи двух сетей (обычно роутеров) в одну локальную.

      Другой важный нюанс – настройка производится на обоих устройствах сразу. К примеру, параметры сервера обозначены с компьютера, а клиента – со смартфона ( лучшие VPN для телефона смотрите отдельно). При этом можно организовать туннель между роутерами в разных точках мира. Например, если подключается связь к серверу VPN-сервиса.Для настройки зайдите в компоненты и добавьте WireGuard. Затем:

      Keenetic VPN allows you to connect to a specific website. You can set up your own VPN server on Keenetic.

      Keenetic router allows you to connect to another network, router (best VPN for any company), or Keenetic router. This provides remote access through a smartphone, tablet, or any other device, even if the user is not at home.

      Connecting to the Local Network

      You can connect to the local network in two ways:

      1. Using the Web Interface: Enter the router's IP address (192.168.1.1) or the website - my.keenetic.net. Log in to the system using your login and password (if not changed, you can find them on the device packaging).
      2. External Connection: The server's purpose is to provide access from outside. Connection is made through the external address of the router. However, there are nuances. Providers give two addresses:

      Fixed (White) Address: Make sure your provider gives you a fixed (white) address. If not, new KeenDNS firmware versions allow you to connect to a static IP. A cloud DDNS is created, working directly or through the cloud. When interacting with the latest firmware versions:

      Old Firmware: If your router has old firmware, you cannot do anything with a static IP. You can only connect to another provider or buy a new Keenetic model. For users with a white IP, you need to set up DDNS analogously:

      WireGuard Tunnel: The possibility of organizing a WireGuard tunnel appeared in KeeneticOS 3.3 - the function works only on new devices. The connection works in the format "Site-To-Site VPN". If one of the internet centers has a white IP - it's better to set it up as a server. WireGuard can only be used for connecting two networks (usually routers) to one local network.

      • В названии укажите имя английскими буквами. Для примера: на одном устройстве (сервере) – Sev, на другом (клиенте) – CL. Оба должны быть открыты.
      • Кликните на "Генерацию пары ключей".
      • В строке с адресом впишите IP-туннель с bitmask (допускается указание любого спектра из частного диапазона). Если проще, частные адреса – это те, что действуют внутри локальной сети и не доступны в интернете. Для примера возьмем 172.16.82.1/24, номер порта – 16632 (через него и будет оформляться подключение устройств, роутер сам его откроет). Нажмите на "Добавить".
      • В роутере CL добавьте подключение с названием Sev и кликните на "Генерация пары ключей", затем сразу на "Сохранить публичный ключ в буфер обмена".
      • Вернитесь в параметре сервера, где появится страница с настройкой пиров. Введите туда данные (при этом нельзя закрывать настройки клиента): имя пира (как в клиенте), публичный ключ – из буфера обмена; разрешенные подсети (спектр локальных адресов клиента – в данном случае 172.16.82.2), настройка маски - /32. При этом нужно не забыть указать о спектре локальных клиентских сетей (192.168.100.0/24). В периодичности проверке аёктивности подключения выберите 15 секунд.

      Keenetic обход блокировок WireGuard. Как установить и настроить WireGuard VPN на сервере Debian и маршрутизаторе Keenetic

      В начале я расскажу как, ну а потом уже зачем использовать WireGuard для построения VPN туннелей. В этой статье я подробно опишу как «связать» между собой внешний сервер с операционной системой Debian и домашний маршрутизатор серии Keenetic.

      Как установить WireGuard на Debian или Ubuntu

      В репозиториях Debian 10 и Ubuntu 20.04 уже есть пакет WireGuard, поэтому для его установки вам достаточно выполнить одну команду:

      # apt install wireguard

      или

      $ sudo apt install wireguard

      в зависимости от ваших привилегий в операционной системе.

      Как создать публичный и приватный ключи WireGuard

      После того как демон (сервис) WireGuard установлен для организации VPN тоннеля необходимо для каждого устройства создать два ключа: приватный и публичный. В минимальной конфигурации из 2-х участников всего нам понадобятся 4 ключа.

      Ключи можно создать на любом устройстве как индивидуально только для него, так и для всех устройств сразу. Команда создания ключей одна, при каждом запуске она создает новый уникальный ключ (пару ключей).

      Публичный ключ создается на основе приватного.

      Ключ — это просто строка (набор символов), которую мы будем указывать в файлах конфигурации VPN WireGuard. Сгенерированные строки мы запишем в файлы с уникальными названиями, чтобы потом их (строки с набором символов) оттуда взять. Сами файлы ключей напрямую нигде не использутся.

      Создадим приватный и публичный ключи на сервере с операционной системой Debian

      Для удобства сделаем отдельную директорию для хранения файлов ключей:

      cd ~ mkdir wireguard cd wireguard

      А затем создадим ключи для сервера и сохраним их.

      wg genkey | tee unit1-private.key | wg pubkey > unit1-public.key

      Аналогичным способом создадим приватный и публичный ключи клиента.

      Команда создания приватного и публичного ключей для клиента ничем не отличается от указанной выше для сервера, изменим лишь имена файлов в которые сохраним сгенерированные ключи:

      wg genkey | tee unit2-private.key | wg pubkey > unit2-public.key

      Если к серверу планируется несколько подключений, то подобным способом можно создать ключи для остальных участников:

      wg genkey | tee unit3-private.key | wg pubkey > unit3-public.key wg genkey | tee unit4-private.key | wg pubkey > unit4-public.key

      Сгенерированные таким способом ключи клиента являются «серверными» для самого клиента. Важно понимать это при настройке устройств. Логичнее именовать файлы с ключами не используя привилегии клиент-сервер, а как в моем примере, unit1, unit2 и т.п. (unit — блок, узел).

      Файл конфигурации сервера WireGuard

      Создайте любым удобным для вас способом файл конфигурации сервера /etc/wireguard/wg0.conf со следующим содержимым. Я, как правило, использую для этого редактор файлового менеджера Midnight Commander .

      # IP-адрес сервера в виртуальной сети Address = 172.29.111.1/24 # порт, на котором ожидать подключения ListenPort = 64999 # приватный ключ сервера PrivateKey = SNN6DRlhGKuG/12345Vn1jAhvIhcMDVwvMUjDRPUU=

      # публичный ключ клиента PublicKey = 8obhd57GKCXPR5M8W1Q2D67890hw6hskAmQkIYZQ4= # назначить клиенту следующий IP-адрес AllowedIPs = 172.29.111.2/32

      Разделов в файле конфигурации WireGuard может быть несколько.

      Обратите внимание , что при построении VPN тоннеля WireGuard в файле конфигурации первого устройства мы указали приватный ключ сервера (unit1-private) и публичный ключ клиента (unit2-public).

      При конфигурации второго устройства VPN WireGuard мы должны использовать unit2-private в качестве ключа сервера, а unit1-public в качестве ключа клиента.

      Более наглядно покажу на рисунке:

      Общее правило: Для организации связи каждое устройство должно иметь свой приватный ключ и публичные ключи устройств с которыми нужно организовать VPN туннель.

      Файл конфигурации клиента WireGuard

      Если сервер с операционной системой Debian выступает в роли клиента туннеля WireGuard, то его файл конфигурации будет отличаться от приведенного выше тем, что в нем указывается IP адрес сервера.

      PrivateKey = Uni2-Private-key Address = 172.29.111.2/24 PublicKey = Unit1-Public-key #Адрес сервера и его порт Endpoint = SERVER_IP_ADDRESS:64999 AllowedIPs = 0.0.0.0/0

      Настройка маршрутизатора серии Keenetic в качестве клиента будет описана чуть ниже.