Как включить vpn на keenetic роутер

Всех горячо приветствую! Такая дичь написана на других сайтах по данному вопросу, что мне пришлось основательно подготовиться и написать свою инструкцию. Даже на официальной странице поддержки Keenetic не описаны некоторые моменты, что может привести к внезапному возгласу: «А почему не работает?!». Сегодня я расскажу вам, как правильно настроить VPN-сервер на роутере ZyXEL Keenetic, а также как к нему подключиться с разных устройств.

Если вам не нужно настраивать VPN-сервер, а нужно подключиться к публичному, то просто смотрите главу «ШАГ 4…» – подглава «Роутер ZyXEL Keenetic». Там же я оставил ссылку на бесплатные публичные VPN.

Если же вы хотите настроить сервер, а также подключиться, то я описал 3 способа подключения: PPTP, L2TP/IPSec и WireGuard. Первые два настраиваются достаточно просто, но подключение там идет прямое, и вы можете приконнектиться к серверу как с Windows, Android, iOS или с отдельного роутера любой модели (TP-Link, ASUS, D-Link и т.д.)

А вот WireGuard (Keenetic VPN) настраивается исключительно на новых маршрутизаторах – то есть у вас должно быть два роутера с последней прошивкой. В общем вы можете выбрать все варианты. На самом деле все делается просто, но в настройках есть много нюансов, о которых я подробно написал в статье. Некоторые сложности могут возникнуть с WireGuard. Именно поэтому я постарался описать все по шагам с картинками и пояснениями. Не торопитесь и читайте очень внимательно. В любом случае вы всегда можете обратиться ко мне в комментариях. Поехали!

Содержание

  1. ШАГ 1: Вход в настройки роутера
  2. ШАГ 2: Включение DDNS
  3. Новая прошивка
  4. Старая прошивка
  5. ШАГ 3: Настройка сервера
  6. VPN PPTP
  7. Новая прошивка
  8. Старая прошивка версии NDMS 2.11 и меньше
  9. VPN-сервер L2TP/IPsec
  10. VPN WireGuard
  11. ШАГ 4: Подключение к VPN
  12. Роутер ZyXEL Keenetic
  13. Windows
  14. Android
  15. iOS
  16. Задать вопрос автору статьи

ШАГ 1: Вход в настройки роутера

Сначала вам нужно подключиться к локальной сети маршрутизатора – это можно сделать двумя способами:

  • По кабелю, подключившись к локальному порту.
  • По Wi-Fi.

Далее открываем браузер и вводим в адресную строку один из адресов:

  • 192.168.1.1
  • my.keenetic.net

Далее авторизовываемся.

Если у вас есть проблемы со входом, то читаем эту инструкцию.

ШАГ 2: Включение DDNS

Наш план достаточно простой. Наш роутер Keenetic будет выступать в качестве VPN сервера. Причем не важно, какой именно сервер мы будет настраивать – будь это PPTP, IPSec или новый WireGuard. Смысл в том, что мы должны иметь доступ к этому роутеру извне – то бишь из интернета. У роутера есть внешний IP адрес. Конечно, мы можем использовать его. Но как правило, современные провайдеры по умолчанию выдают два вида адрес:

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

Нужно, чтобы ваш провайдер обязательно использовал белый IP адрес, в противном случае доступ к VPN-серверу будет недоступен. Про белые и серые IP, а также про то, как узнать какой адрес у вас – читаем эту инструкцию. На новых прошивках есть возможность подключаться и к серым IP, но при использовании KeenDNS (это облачный DDNS сервис, который работает напрямую, так и через облако, поэтому его можно использовать даже с серыми IP).

В общем на первом шаге мы подключим службу DDNS, если ваш IP не является статичным.

Более подробно про DDNS читаем тут.

Новая прошивка

  1. Для начала нам нужно настроить DDNS, можно использовать стандартный и бесплатный KeenDNS от Keenetic. Переходим в раздел «Доменное имя» и вводим любое наименование, которое мы будем использовать для подключения. Далее нажимаем «Зарегистрировать».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Если имя свободное, то роутер сообщит об этом и предложит вам 3 поддоменных имени – выберите любое.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Если у вас серый IP, то вам нужно перейти в «Общие настройки» и включить «Keenetic Cloud».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Высветится вот такое окошко, подождите пока роутер получит SSL сертификаты. После этого вам нужно выбрать «Режим работы»:
    1. Через облако – если у вас серый IP.
    2. Прямой доступ – если IP белый.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Старая прошивка

Понятно дело, используя внешний IP адрес, но что, если он динамический или серый. Хочу расстроить пользователей с серыми IP, тут ничего не поделаешь и единственный выход – это искать провайдера с белым IP. Второй вариант – это купить более новый роутер Keenetic, на котором есть облачная служба KeenDNS – она позволит прокинуть подключение даже с серым IP. Для тех, у кого белый IP, нам в любом случае нужно настроить DDNS, так как скорее всего у вас он конечно же белый, но динамический адрес, а поэтому, когда он поменяется – соединение просто отвалится.

В разделе «Интернет» перейдите в «DDNS» и посмотрите в список «Используемых серверов». По умолчанию у нас есть Dyn, No-Ip и DNS-Master – это все сторонние сервисы. Что вам нужно сделать? – вам нужно зайти на официальные сайты этих сервисов, зарегистрироваться и создать DDNS. Далее переходим сюда и вводим данные DDNS.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

ШАГ 3: Настройка сервера

Выберите один из вариантов подключения. Напомню, что для WireGuard у вас должно быть два роутера Кинетик с последней прошивкой.

VPN PPTP

При подключении по PPTP идет шифрование MPPE (Microsoft Point-to-Point Encryption).

Новая прошивка

  1. Теперь нужно установить компонент VPN-сервера – переходим в «Общие настройки» -«Обновления и компоненты» – кликаем по кнопочке «Изменить набор компонентов» и устанавливаем «PPTP VPN-сервер».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Переходим в «Приложения» и включаем наш сервер.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Откроются настройки. Давайте пройдемся по пунктикам:
    1. Множественный вход – когда один и тот же логин и пароль используют несколько клиентов. Небезопасно, зато удобно.
    2. Только шифрование – не убираем эту галочку, иначе канал связи будет не зашифрован и данные могут перехватить.
    3. NAT для клиентов – использование интернета.
    4. Доступ к сети – ставим «Домашняя сеть», ведь именно к этой сети мы будем иметь доступ.
    5. Начальный IP-адрес – это начальный пул адресов для клиентов. Очень важно, чтобы клиентские адреса и адреса ваших локальных машин не пересекались, поэтому лучше установить другие настройки IP.
    6. Пул IP-адресов – максимальное число 10.
    7. Пользователи – тут вы можете использовать одного или создать несколько учетных записей.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Старая прошивка версии NDMS 2.11 и меньше

Возможность настроить VPN сервер появилась с выходом версии операционной системы NDMS V2.04.B2. Также по PPTP к одному серверу можно подключить до 10 клиентов.

  1. Для начала нужно убедиться, что установлен компонент VPN-сервер. На главной нажмите по ссылке «Доступно» в разделе «Обновления».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Или вы можете перейти в раздел «Система», нажать по вкладке «Обновление» и далее ниже нажать «Показать компоненты».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Найдите VPN-сервер и выделите его.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Далее нажмите по кнопке «Обновить».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Теперь переходим в «Приложения» и открываем вкладку «Сервер VPN» (если такой вкладки нет, то вы не установили компонент). Включаем сервер. Ставим галочку «Одно подключение на пользователя». В строке «Доступ к сети» нужно указать наименование вашей локальной сети этого роутера – по умолчанию это «Home network». Ниже нужно указать начальный адрес пула – что это такое? Это пул адресов, который будут выдаваться клиентам подключенным к этому серверу. Нужно обязательно разделить разрешенный пул домашней сети «Home network» и пул адресов VPN сервера. На самом деле можно использовать одну подсеть, но разный пул. Например, для домашней сети пул будет 192.168.1.50-192.168.1.70. А здесь указать начальный пул 192.168.1.200. Или сделайте как я, просто указать другой начальный адрес 172.16.1 33 пула. И ниже указываем размер пула – так как максимальное число клиентов 10, то больше указывать не стоит. Для безопасности, вы можете указать меньшее число клиентов. «Транслировать адреса клиентов (NAT)» – эта галочка нужна для того, чтобы клиенты VPN-сервера могли выходить в интернет через этот роутер. Если вы хотите иметь только доступ к локальной сети, то уберите эту галочку.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Для удобства мы будем использовать учетную запись администратора, нажмите по ней.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Как видите в строке «Доступ разрешен» стоит значение «Нет» – это значит этот пользователь не может использоваться для VPN подключения. Давайте это исправим – нажимаем по этой учетке и включаем галочку «Разрешить доступ к VPN».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Admin пользователя можно использовать для нескольких подключений. Но если вам нужно несколько пользователей (для безопасности), то перейдите в раздел «Система» – «Пользователи» – нажмите по кнопке добавления.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Укажите логин, пароль клиента, а также не забудьте указать доступ к «VPN-серверу».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

VPN-сервер L2TP/IPsec

  1. Устанавливаем компонент: «Общие настройки» – «Обновления и компоненты» – «Изменить набор компонентов». Находим компонент «L2TP/IPsec VPN-сервер, ставим галочку и устанавливаем его, если он не установлен.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. В приложениях включаем наш VPN.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Теперь вводим данные:
    1. Общий ключ IPsec – указываем любой ключ.
    2. Множественный вход – для того, чтобы использовать одну учетную запись на разных компах.
    3. NAT для клиента – чтобы подключенные клиенты имели доступ к интернету в этой сети.
    4. Доступ к сети – указываем «Домашняя сеть».
    5. Начальный IP-адрес – это адреса локальной сети, которые будут выдавать VPN клиентам. Они не должны совпадать с теми адресами, которые уже зарезервированы в вашей локальной сети. Поэтому лучше указать другой пул частных адресов.
    6. Пул IP-адресов – максимальное число поддерживаемых клиентов 10.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. В поле «Пользователь» можно создать новых пользователей, которые и будут подключаться к VPN. Для теста можете использовать администратора (admin).

VPN WireGuard

WireGuard был добавлен в версии KeeneticOS 3.3 и работает только с новой прошивкой. Аналогично данная штуковина работает только между двумя роутерами Keenetic. Наше подключение еще можно назвать «Site-To-Site VPN». Если у вас у одного из роутера есть белый IP, то лучше использовать его в качестве сервера. По сути мы объединим две сети в одну виртуальную локальную сеть.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

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

  1. «Общие настройки» – «Обновления и компоненты» – кликаем «Изменить набор компонентов» и устанавливаем наш компонент.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Переходим: «Другие подключения» – «WireGuard» – нажимаем по кнопке добавления.
  2. В поле название нужно ввести английское наименование. Я в качестве примера введу на одном «WG-S» (Сервер), а на втором «WG-CL1» (Клиент). При этом оба окна должны быть открыты.
  3. Нажимаем «Генерацию пары ключей».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. В поле «Адрес» вписываем IP туннеля с bitmask указать можно любой пул из частного диапазона:

10.0.0.0 – 10.255.255.255 (маска 255.0.0.0 или /8)
172.16.0.0 – 172.31.255.255 (маска 255.240.0.0 или /12)
192.168.0.0 – 192.168.255.255 (маска 255.255.0.0 или /16)
100.64.0.0 – 100.127.255.255 (маска 255.192.0.0 или /10)

  1. Если коротко, то частные адреса – это те, которые используются только в локальной сети, и их нет в интернете. Я в качестве примера указал 172.16.82.1/24. Также указываем порт номер 16632, именно на него и будет идти подключение от клиента к серверу. Роутер сам автоматически его откроет, поэтому его пробрасывать не нужно. Кликаем по кнопке «Добавить».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Переходим на вкладку роутера-клиента (WG-CL1). Добавляем подключение, вводим название «WG-CL1», нажимаем «Генерация пары ключей» и тут же нажимаем «Сохранить публичный ключ в буфер обмена».
  2. Теперь нужно вернуться в настройки сервера там откроется окошко «Настройка пира» вводим данные (При этом ни в коем случае не закрывайте настройки клиентского роутера):
    1. Имя пира – указываем точное наименование, какое вы указали в клиенте.
    2. Публичный ключ – вставляем из буфера, тот который мы получили от клиента. Если вы настраиваете роутеры в разных местах, то ключ можно отправить по почте или с помощью мессенджера.
    3. Разрешенные подсети – сюда нужно вписать пул локальных адресов нашего клиента. То есть те адреса, которые смогут иметь доступ к серверу. То есть нам нужно указать адрес туннеля, который будет прописан в клиенте. В сервере мы указали 172.16.82.1. На клиенте мы потом укажем адрес 172.16.82.2, значит здесь же его и указываем. И в качестве настройки маски пишем еще /32. И не забываем указать пул локальных адресов клиента – 192.168.100.0/24.
    4. Проверка активности – ставим 15 секунд.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Это еще не все, нужно настроить «Межсетевой экран» – переходим в этот раздел. Открываем вкладку нашего подключения и добавляем правило для того, чтобы доступ к клиенту и серверу был разрешен извне.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Устанавливаем настройки как на картинке ниже – просто все разрешаем.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Теперь нужно прописать статический маршрут для нашего туннеля – «Маршрутизация» – «Добавить маршрут»:
    1. Тип маршрута – маршрут до сети.
    2. Адрес сети назначения – указываем пул клиентского роутера.
    3. Маска подсети – 255.255.255.0
    4. Интерфейс – указываем наше созданное подключение WG-S.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Вернитесь обратно в то подключение, которое мы создали и нажмите по кнопке, чтобы сохранить ключ – мы его будем вводить в настройки клиентского роутера.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Переходим на вкладку настройки клиентского роутера, вводим название. В поле адрес вписываем адрес туннеля. На серверной машине мы указали 172.16.82.1, тут указываем 172.16.82.2. И не забываем указать /24. Добавляем пир.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Настраиваем теперь пир:
    1. Имя пира – указываем то, что на сервере.
    2. Публичный ключ – вставляем тот, который получили, также от сервера.
    3. Адрес и порт пира – вот тут указываем внешний IP или тот DDNS, который мы ранее создали. Я использую KeenDNS. После этого ставим двоеточие и указываем порт, которые мы используем на сервере. Например: keenetic.link:16632
    4. Разрешенные подсети – указываем подсеть туннеля сервера 172.16.82.1/32. Еще не забываем указать пул адресов локальных машин сервера. У меня это 192.168.22.0/24.
    5. Проверка активности – также ставим 15.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Теперь нужно настроить межсетевой экран. Добавляем правило.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Тут настройки такие же как на сервере.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Теперь добавляем статический маршрут как на сервере. Все настройки такие же кроме:
    1. Адрес сети назначения – указываем начальный адрес пула локальных устройств сервера.
    2. Интерфейс – тут указываем интерфейс WG-CL1, через который мы и подключаемся к туннелю.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Если вы все сделали верно, то на вкладке «Wireguard» на обоих устройствах в колонке «Пир» вы увидите зеленый кружок с название второго роутера.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Роутер ZyXEL Keenetic

ПРИМЕЧАНИЕ! Если вы не настраивали VPN-сервер и хотите подключиться к публичному, то можете попробовать бесплатные ВПН от Японского университета – про него подробно написано тут. Там также есть конфигурация с настройками.

Проверьте, чтобы были установлены компонент «IPsec VPN», если вы настраивали L2TP/IPSec подключение. Если вы настраивали PPTP, то ничего делать не нужно, так как этот компонент уже установлен по умолчанию.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Переходим в раздел «Другие подключения» – «VPN-подключения», кликаем «Добавить подключение». Теперь вводим настройки:

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  • Имя подключения – указываем любое название.
  • Тип (протокол) – PPTP.
  • Адрес сервера – наш DDNS или ваш статический IP.
  • Имя пользователя и пароль – указываем учетную запись, которую мы используем для VPN.
  • У L2TP/IPsec нужно также указать секретный ключ, который мы создали.

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

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Windows

Есть небольшая проблема в том, что Keenetic использует тип шифрования MPPE с ключом 40 бит – это связано с законодательством в РФ, Белоруссии и Казахстане. А на ОС Windows используется ключ 128 бит. Если вы прямо сейчас приступите к настройке, то подключение не произойдет. Но есть два выхода. Первый – мы изменим некоторые настройки в роутере. Второй – поменяем конфигурацию в Windows.

ВНИМАНИЕ! Выберите только один из двух вариантов.

Изменение настроек роутера

  1. Нам нужно включить Telnet на Windows – для этого перейдите в «Панель управления». В Windows 10 нажмите на кнопки «Win» и «R» и введите команду:

control

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. «Программы и компоненты».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. «Включение или отключение компонентов Windows».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Включаем «Клиент Telnet».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Запускаем командную строку через поиск.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Вводим команду для входа в роутер.

telnet 192.168.1.1

  1. Далее введите пароль от админки роутера.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Вводим команды:

vpn-server mppe 128
system configuration save
exit

Изменение настроек в Windows

  1. Заходим в редактор реестра – нажимаем по кнопке «Win» и «R» и вводим команду:

regedit

  1. Копируем путь:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters

  1. И вставляем его в верхнюю строку. Или вы можете по нему пройти самостоятельно.
  2. Находим параметр «AllowPPTPWeakCrypto», открываем и меняем на 1.
  3. Нажимаем «ОК».
  4. Перезагружаем комп.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Теперь переходим к подключению.

Windows 10

  1. «Пуск» – «Параметры».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. «Сеть и Интернет».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. В разделе «VPN» нажимаем по кнопке с плюсиком.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Заполняем данные:
    1. Имя подключения – вводим любое наименование, оно будет отображаться только у вас в винде.
    2. Имя или адрес сервера – указываем наш DDNS или IP.
    3. Тип VPN – «PPTP» или «L2TP/IPsec с общим ключом».
    4. Общий ключ (только для L2TP/IPsec) – указываем тот самый ключ.
    5. Тип данных для входа – «Имя пользователя и пароль».
    6. Ниже вводим логин и пароль от учетки, которую мы создали в роутере. Можно использовать для проверки пользователя admin.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Нажимаем «Сохранить». Далее нажимаем «Подключиться».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Windows 7

  1. Кликаем ПКМ по подключению и заходим в центр управления.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Нажимаем «Настроить новое подключение…»

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. «Подключение к рабочему месту» – установите настройку «Нет, создать новое подключение». Идем далее и выбираем «Использовать мое подключение к Интернету (VPN)». Сначала вводим адрес роутера с VPN-сервера – это может быть DDNS или внешний IP. Имя указываем любое.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Вводим логин и пароль. Поставьте галочку «Запомнить этот пароль», чтобы его постоянно не вводить.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Теперь нам нужно установить тип PPTP – это конечно можно и не делать, но тогда подключение будет очень долгим, так как винда будет перебирать все возможные варианты. Для настройки нажимаем на + R и вводим команду:

ncpa.cpl

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Кликаем ПКМ по нашему подключению и заходим в «Свойства».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. На вкладке «Безопасность» установите тип VPN как PPTP или IPSec – смотря, какой тип сервера вы создавали в интернет-центре.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Там же перейдите в раздел «Сеть» и, выделив протокол TCPv4, перейдите в «Свойства» – «Дополнительно» – уберите галочку сверху.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Android

  1. «Настройки».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. «Сеть и интернет» – «Дополнительно» – «VPN».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Добавляем профиль.
    1. Название – вводим любое.
    2. Тип – указываем PPTP или L2TP/IPSec PSK.
    3. Адрес сервера – внешний IP или DDNS.
    4. Общий ключ IPsec – указываем наш ключик.
    5. И в самом низу вводим имя пользователя и пароль.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Подключаемся.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

iOS

  1. «Настройки» – «Основные» – «Добавить конфигурацию VPN».

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Вводим:
    1. Тип – указываем L2TP или PPTP.
    2. Описание – вводим любое название.
    3. Сервер – DDNS или IP нашего роутера.
    4. Учетная запись – это логин.
    5. Пароль – это пароль.
    6. Общий ключ – нужен только для IPSec.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

  1. Подключаемся.

Настройка VPN на роутере ZyXEL Keenetic: создание и подключение за 4 шага

Устанавливаем и настраиваем личный сервер с ВПН на роутере Кинетик. Подключаемся к собственному роутеру с сервером в любой точке мира.

Настраиваем свой 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. Затем:

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

Теперь остается настроить межсетевой экран. Откройте параметр подключение и сформулируйте правило для доступа извне. Далее:

  • Разрешайте все настройки.
  • Пропишите статический адрес для туннеля в разделе с маршрутизацией: тип маршрута – до сети, адрес – пул маршрутизатора CL, маска подсети — 255.255.255.0, в интерфейсе выберите подключение Sev.
  • Вернитесь в созданное подключение и сохраните ключ – он понадобится для клиента.
  • Перейдите в настройки CL и в параметре адреса укажите туннель 172.16.82.2 и маску /24.
  • Добавьте пир с именем как на сервере, вставьте ключ из буфера обмена, укажите внешний адрес или тот, что создан с DDNS, затем после знака «:» введите порт сервера. В разрешенных подсетях вбейте туннель 172.16.82.1/32 и укажите спектр локальных устройств. Проверка активности – аналогично на 15 секунд.
  • В межсетевом экране добавьте те же настройки, что и на сервере.
  • Создайте статистический маршрут как на сервере, но в адреса введите изначальный пул Sev, а в интерфейсе CL.

Если конфигурация проделана правильно, то в разделе «WireGuard» на роутерах в графе «Пир» будет зеленый кружек и указано название второго устройства.

Читайте также:

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

Вначале нужно установить компоненты OpenVPN (приведено в инструкции по настройки сервера PPTP/SSTP). Режим работы протокола определяется его файлом конфигурации. Рассмотрим самый простой вариант соединения двух роутеров с использованием общего секретного ключа.

  • Создайте секретный ключ (нужно скачать и установить OpenVPN с сайта). В примере используется сборка 2.4.6-I602 для Win.
  • Перезагрузите ПК. В директории, в которую установлен OpenVPN, найдите файл командной строки bin – откройте его от имени администратора и введите команду: Openvpn.exe —genkey —secret static.key.
  • Откройте файл с ключом в Блокноте и скопируйте из него текст, вставив его в места настройки файлов конфигурации обоих устройств.
  • Перейдите к параметрам первого роутера. Нажмите «Другие подключения» и добавьте соединение с протоколом «OpenVPN».
  • В графе с именем введите название подключения, а в строке конфигурации вставьте содержимое файла конфигурации и сохраните настройки.
  • Аналогично проделайте настройку второго роутера, но используйте конфигурацию клиента.

Также на стороне устройства-сервера в веб-интерфейсе нужно выполнить команду:

  • Interface OpenVPN0 no ip global
  • Interface OpenVPN0 security-level private

Для разрешения трафика между двумя роутерами с приватной безопасностью используется команда no isolate-private. Если сервер будет использован для доступа к Интернету, то понадобится использовать Ip nat 10.1.0.2 255.255.255.255. Проделанные настройки сохраняются командой system configuration save.

Остается открыть порт для соединения по протоколу: сформулируйте правило в Межсетевом экране для параметра «Провайдер» или для того, которое используется для выхода в интернет.

В правиле фильтрации, в графе «Действие» нужно выдать разрешение, а в строке «Протокол», значении «UDP» и «Номер порта назначение» выбрать 1194. На этом простейший вариант настройки соединения по OpenVPN. Для проверки сети можно провести диагностику через системный журнал.

Настройка PPTP/SSTP-сервера

Для работы сервера потребуются дополнение «PPTP VPN-сервер». Зайдите на страницу «Общие настройки» в графе «Обновление и компоненты», затем кликните на «Изменить набор компонентов». В окне «Приложения» найдите строку «VPN-сервер PPTP» и кликните по ссылке. Настройте сервер:

  • Графа «Множественный вход» позволяет организовать несколько одновременных подключения при использовании одинаковых данных. Это влияет на безопасность и усложняет мониторинг, но упрощает использование.
  • Пункт «Только с шифрованием» — оставьте галочку, иначе трафик не будет защищен;
  • «NAT для клиентов» — настройка доступа сервера в Интернет.
  • «Доступ к сети» — выбрать «Домашнюю сеть», если к ней подразумевается подключение.
  • «Начальный IP-адрес» — стандартный пул адресов для клиентов (не должны пересекаться с сервером, потому лучше изменить параметр);
  • Спектр адресов — до 10;
  • «Пользователи» — допускается создание разных учетных записей.

Подключить к серверу в качестве клиента можно через другой роутер, смартфон на базе Android (список лучших VPN для Андроид) или компьютер на базе Windows (смотрите все лучшие VPN для ПК с Windows).

Для настройки SSTP-сервера используется аналогичное дополнение — «SSTP VPN-сервер». В этом случае кроме активной службы KeenDNS, нужно выбрать имя в домене keenetic: .link, .pro или .name и выдать доступ извне при помощи протокола HTTPS:

  • Зайти в «Пользователи и доступ».
  • Открыть «Удаленный доступ» и разрешить настройку по протоколам «HTTP и HTTP» или «Только HTTPS».

В остальном настройка SSTP-сервера производится по аналогии с PPTP-сервером. Для подключения роутера к VPN-сервису:

  • Перейдите на страницу «Другие подключения».
  • Откройте раздел «VPN-подключения» и выберите «Добавить подключение».
  • В «Параметры VPN» найдите графу «Тип» и выберите значение «PPTP».
  • В «Имя подключения» впишите название соединения, а в качестве имени укажите доменное имя или IP-адрес сервера.
  • В разделе «Имя пользователя» и «Пароль» введите информацию об открытом профиле.

Необходимую информацию для доступа к серверу в качестве клиентов можно запросить у поставщика VPN услуг, если используется премиум-сервис. Подробнее о подключении роутера к VPN можно прочитать в нашей статье.

Настройка L2TP/IPsec-сервера и клиентский сервис

Установите компонент «VPN-сервер L2TP/IPsec» по инструкции выше. При регистрации сервера в параметре «Общий ключ IPsec» введите ключ безопасности. Настройте параметры соединения по аналогии с PPTP/SSTP-сервером. Подключение клиентов также производится по стандартному алгоритму: единственное, в «Параметры VPN» в поле «Тип» нужно выбрать «L2TP/IPsec».

Проверка работоспособности VPN на Keenetic

Для проверки VPN зайдите в настройки маршрутизатора, откройте параметр «Пользователя» — там есть вся информация о подключениях, клиентах и обмене трафика. В случае с OpenVPN выполните пинг обоих концов туннеля. Для сервера используйте команду:

  • ping 10.1.0.1
  • ping 10.1.0.2

Для клиента:

  • ping 192.168.1.1
  • ping 192.168.2.1

Если вы подключили Keenetic в качестве клиента к серверу VPN, то проверить работоспособность соединения вы можете на сайте ExpressVPN или NordVPN — система автоматически укажет, если защита трафика отсутствует. Также встроенные технологии укажут на утечку DNS.

Как настроить OpenVPN на роутере Keenetic

Пошаговая инструкция по подключению к VPN BlancVPN на роутерах Keenetic

Обновлено больше недели назад

Вам потребуется файл конфигурации .ovpn, логин и пароль. Вы получите их в боте BlancVPN после выбора локации или в личном кабинете BlancVPN.

Настройка состоит из трех этапов – установка клиента OpenVPN, получение и редактирование файла конфигурации и загрузка его в настройки роутера Keenetic.

Для настройки OpenVPN обязательно нужно установить компонент системы «Клиент и сервер OpenVPN«.

  1. Откройте веб-интерфейс вашего роутера. По умолчанию для этого в браузере нужно перейти по адресу 192.168.1.1 или my.keenetic.net. Введите логин и пароль от веб-интерфейса роутера (они могут быть написаны на наклейке на нижней части устройства).

  2. Перейдите в раздел «Общие настройки», нажмите кнопку «Изменить набор компонентов».

  3. Найдите компонент «Клиент и сервер OpenVPN» и установите его. В процессе установки интернет-соединение может временно пропасть.

Настройка файла конфигурации

  1. Скачайте из личного кабинета или бота BlancVPN файл конфигурации .ovpn для любой нужной вам локации.

  2. Откройте файл конфигурации любым текстовым редактором. Например, Блокнотом, Text или Notepad++ (кликните на файле правой кнопкой мыши и выберите «Открыть с помощью»).

  3. Найдите в тексте строку auth-user-pass и удалите её.

  4. Вместо неё впишите блок с логином и паролем, который предоставляется вам вместе файлом конфигурации:

<auth-user-pass>
blancvpn
4815162342
</auth-user-pass>

Первая строчка – в нашем примере это blancvpn – это логин. Вторая строчка – в нашем примере это 4815162342 – это пароль.

Файл сохранять не обязательно. Но пока не закрывайте.

Настройка VPN на роутере Keenetic

  1. Откройте веб-интерфейс вашего роутера. По умолчанию для этого в браузере нужно перейти по адресу 192.168.1.1 или my.keenetic.net. Введите логин и пароль от веб-интерфейса роутера (они могут быть написаны на наклейке на нижней части устройства).

  2. Перейдите в раздел «Другие подключения», в подразделе «VPN-подключения» нажмите кнопку «Добавить подключение».

  3. В открывшемся окне «Параметры VPN-подключения» в поле «Тип (протокол)» выберите «OpenVPN».

  4. Откройте изменённый файл конфигурации подключения, в который вы вписали ваш логин и пароль, выберите весь текст (например, нажав Ctrl+A) и копируйте его (например, нажав Ctrl+C).

  5. Вернитесь в настройки «Параметры VPN-подключения», перейдите в поле ввода «Конфигурация OpenVPN» и вставьте туда скопированный текст (например, нажав Ctrl+V).

  6. По желанию вы можете изменить имя подключения, чтобы было понятнее. Например, указав регион.

  7. По желанию вы также можете настроить расписание работы или определение интерфейса. Для этого нажмите «Показать дополнительные настройки».

  8. Если больше ничего менять не нужно, сохраните подключение, нажав соответствующую кнопку.

  9. Установите этому соединению самый высокий приоритет – тогда весь трафик будет защищён VPN-соединением. Перейдите в раздел «Приоритеты подключений», переместите VPN-подключение так, чтобы оно было над подключением провайдера, и сохраните изменения.

  10. В этом же разделе нажмите кнопку «+ Добавить политику».

    Дайте ей любое название и нажмите ОК

    Включите в эту политику подключений только ваше VPN подключение и сохраните.

  11. Затем в этом же разделе перейдите к подразделу «Применение политик». Перенесите в вашу недавно созданную политику доступа ваши устройства (Домашняя сеть).

    В вашей политике доступа должна содержаться как минимум «Домашняя сеть», если вы не настраивали этот пункт отдельно.

  12. Теперь вы можете включать и выключать VPN-подключение на роутере, просто переводя переключатель в разделе «Другие подключения» → «VPN-подключения» в соответствующее положение.

После подключения проверьте, изменился ли ваш IP-адрес. Для этого откройте наш сайт blancvpn.com и посмотрите на панель наверху страницы: там будет указан ваш новый IP-адрес и локация.

Если возникли сложности или что-то пошло не так – напишите нам в Telegram-бот https://t.me/FCK_RKN_bot, поможем!

  • Совет: можно настроить раздельное туннелирование трафика через политику приоритетов подключений, если требуется направлять через VPN только трафик определённых устройств. Например, игровые приставки и смартфоны – через VPN, а остальные (компьютер или NAS, качающий торренты) — через основной провайдерский Интернет. Кроме того, это открывает возможности балансировки нагрузки при использовании 3G/4G-модемов с лимитированным трафиком. Инструкция по настройке раздельного туннелирования указана в разделе «Приоритеты подключений» на сайте Keenetic.

  • Совет: если весь ваш трафик перенаправляется через VPN на роутере, не нужно включать VPN на отдельных устройствах, которые подключены к роутеру.

  • Совет: если после настройки VPN на роутере у вас не загружаются некоторые заблокированные сайта, поменяйте DNS подключений на 8.8.8.8. Для этого перейдите в раздел Другие подключения, Показать дополнительные настройки и нажмите на нужное VPN подключение, отредактируйте поле «DNS 1» и сохраните.

Типовые ошибки и пути решения:

  • Сильно снижается скорость при использовании VPN на роутере
    Протокол OpenVPN очень требователен к ресурсам. MIPS-процессор роутера при активном подключении к VPN «нагружается» постоянным шифрованием и дешифрованием трафика. Кроме того, в силу своей специфики OpenVPN – значительно более «тяжёлый» протокол, чем WireGuard, поэтому даже на флагманских моделях роутеров (включая Keenetic Giga и Ultra) он может ощутимо снижать скорость интернета.

    Если замедление критично, рекомендуем подключить протокол WireGuard – его также можно настроить на роутерах Keenetic (инструкция).

  • Ошибка auth-user-pass without inline credentials data is not supported
    Эта ошибка возникает, если в файле конфигурации осталась строка для ввода логина или пароля. В журнале Keenetic она отображается следующим образом:

    OpenVPN0 auth-user-pass without inline credentials data is not supported
    OpenVPN0 Exiting due to fatal error

    Для решения удалите или закомментируйте все строки вида:
    auth-user-pass


Другие статьи по теме

Как настроить OpenVPN на Android

Как настроить OpenVPN на Windows

Как настроить OpenVPN на роутере ASUS

Как настроить OpenVPN на iOS (iPhone, iPad)

Как настроить WireGuard на роутере Keenetic

Нашли ответ на свой вопрос?

Время на прочтение
23 мин

Количество просмотров 121K

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

Версия бота: 2.0 от 15.02.2023

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

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

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

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

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

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

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

Необходимо

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

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

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

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

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

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

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

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

  • Скачиваем mipsel.

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

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

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

  • Создаём папку install:

  • Ставим курсор на новую папку и импортируем туда файл mipsel с компьютера с помощью третьей иконки:

  • В настройках роутера заходим в раздел Управление – OPKG, выбираем нашу флешку и удаляем сценарий, если он есть и нажимаем кнопку Сохранить:

  • Примерно спустя минуту заходим обратно в Управление – Приложения и выбираем нашу флешку. Видим, что у нас установился entware по наличию некоторого количества папок. Можно также в Диагностике посмотреть ход установки:

  1. Установим необходимые компоненты роутера. В настройках роутера заходим в Общие настройки -> Изменить набор компоненты:

  • Поиском ищем следующие компоненты «Прокси-сервер DNS-over-TLS», «Прокси-сервер DNS-over-HTTPS», «Протокол IPv6», «SSTP VPN-сервер», «Подготовка открытых пакетов OPKG» и «Сервер SSH» затем, после обновления и перезагрузки роутера ещё следующие компоненты: «Модули ядра подсистемы Netfilter», «Пакет расширения Xtables-addons для Netfilter» и ещё раз перезагружаем роутер.

  • Заходим в «Сетевые правила» —> «Интернет-фильтр» и добавляем серверы DNS-over-TLS и DNS-over-HTTPS. У TLS адрес сервера 8.8.8.8:853, доменное имя TLS dns.google. У HTTPS сервер dns https://dns.google/dns-query. Должно получиться как на картинке:

  • UPD 02.01.2022: я рекомендую добавить все dns-over-http и *-tls, указанные в этой статье

  • Скачиваем Putty (на данный момент актуально putty-64bit-0.76-installer.msi) и запускаем её. Простенькие настроечки (если что их можно сохранить кнопкой Save):

При возможных предупреждениях соглашаемся (кнопка Accept).

  • Вводим логин «root» (без кавычек), нажимаем Enter, пароль «keenetic» (также без кавычек) (при вводе пароля курсор не двигается – это нормально), также Enter. Должно отобразиться:

P.S. здесь и далее — для копирование команды в командную строку необходимо скопировать текст на этом сайте и вставить в командную строку с помощью правой кнопкой мыши

  • Вводим команду:

passwd

и дважды вводим пароль. Курсор при вводе пароля также не двигается.

  • Обновим opkg:

opkg update

Установка необходимых компонентов

  1. Начинаем установку необходимых компонентов.

  • Вводим команду для установки необходимых компонентов Entware.

    Сначала устанавливаем необходимые пакеты opkg, затем скачиваем pip для python’a (почему-то он не устанавливается корректно через opkg) и устанавливаем с помощью скрипта. Некоторое время у Вас это займёт, дождитесь. В конце установим три пакета расширения python.

opkg install mc tor tor-geoip bind-dig cron dnsmasq-full ipset iptables wget wget-ssl obfs4 shadowsocks-libev-ss-redir shadowsocks-libev-config python3 python3-pip v2ray trojan
wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
python get-pip.py
pip install pyTelegramBotAPI
pip install telethon
  1. Устанавливаем и настраиваем бота. Он будет скачан с сайта гитхаба, это сделано для простоты обновления. Если что, там всегда будет крайняя версия скрипта. Внутри установочника некоторые файлы будут также скачиваться с сайта (по той же причине), но об этом позже.

wget https://raw.githubusercontent.com/tas-unn/bypass_keenetic/master/bot.py --no-check-certificate -O /opt/etc/bot.py
mcedit /opt/etc/bot_config.py 
  1. В редакторе нашего бота нам необходимо:

  • Установить api ключ, который даст вам бот BotFather (в поиске телеграма его можно найти), спросить его команду /newbot, выбрать свободное имя и скопировать необходимый ключ в поле token

  • Копируем Username (логин) телеграма. Он будет использоваться для администрирования. Можно добавить несколько администраторов:

  • И последние две обязательные настроечки берутся с сайта https://my.telegram.org/apps:

  • Обратите внимание, все свои настройки Вы вбиваете и сохраняете на своём роутере. В конце концов код можете посмотреть сами, если умеете это делать.

  • Все данные записываем в файл в нужные места:

  • Это были необходимые минимальные настройки. Дело в том, что бот за Вас будет запрашивать мосты для ТОРа. Вам в телеграм будут лишь приходить уведомления (отключите звук и другие оповещения, чтоб они Вас не раздражали).

  • Ключи для Shadowsocks, Vmess и Trojan необходимо устанавливать будет вручную

  • Чуть ниже этих строк есть настройки, которые можно оставить по умолчанию, но на всякий случай просмотрите их.

  1. Запускаем бота:

python /opt/etc/bot.py
  • Заходим в свой телеграм-бот, если необходимо нажимаем /start и выбираем сначала Установку и удаление, а затем Установку \ переустановку:

  • В программе Putty можете наблюдать внутренние команды, а в телеграм-боте ход установки, а также полученные ключи от двух ботов. ВНИМАНИЕ: при включенной двухфакторной авторизации телеграма, Вам необходимо будет ввести данные в Putty. Не пугайтесь, всё работает исключительно на Вашем роутере.

  • После фразы, что установка завершена нам необходимо чуть-чуть донастроить роутер.

    5. Отключение штатного DNS-сервера и перезагрузка маршрутизатора.

  • Запускаем командную строку в Windows (открываем пуск и начинаем писать «Командная строка» или «cmd»).

  • Пишем (ip роутера поменяете если другой).

    telnet 192.168.1.1
  • Логин с паролем вводим от роутера, а не entware (скорее всего admin, а пароль лично Ваш).

  • Вписываем поочерёдно 3 команды:

opkg dns-override
system configuration save
system reboot
  • Роутер перезагрузится и Вы сможете пользоваться ботом работы.

  • Внимание: если захотите переустановить флешку с нуля, то Вам необходимо в Putty ввести следующие команды и после перезагрузки роутера приступать к созданию флешки:

no opkg dns-override
system configuration save
system reboot

Описание работы телеграм-бота

  1. При старте бот имеет 3 кнопки «Установка и удаление», «Ключи и мосты «и «Списки обхода».

  2. Первой кнопкой мы частично пользовались при установке.

  3. Кнопка «Ключи и мосты» переустанавливает\устанавливает ключи Shadowsocks, Vmess, Trojan, а также мосты Tor. Для мостов Tor существует получение в автоматическом режиме с помощью телеграм.

  4. В пункте меню «Списки обхода» создаются кнопки, соответствующие названием файла и папки /opt/etc/unblock/. При изначальной установке там находятся 4 файла shadowsocks.txt, trojan.txt, vmess.txt и tor.txt, поэтому у нас будет 4 кнопки

  1. При нажатии на любую из них будет возможность показать конкретный список разблокировок, добавить сайт или ip адрес в список, либо его удалить оттуда.

  1. При добавлении существует возможность ЛИБО добавить обход блокировок соцсетей (скачивается вот отсюда и может редактироваться в случае необходимости), ЛИБО написать доменное имя сайта, либо IP-адрес боту:

  1. Для удаления просто вписываете необходимый адрес и отправляете его боту.

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

  • На устройствах из дома (wifi, по проводу) всё уже работает, но существует возможность подключаться к вашему роутеру и пользоваться теми же сайтами, которые Вы указали в списках разблокировок.

  • Для этого нужно воспользоваться вот этой инструкцией на сайте Keenetic.

  • А потом можно подключаться через Android, Windows, MacOS, IOs (только платный).

Установка обхода завершена! Можете пользоваться на здоровье!

  • Донаты приветствуются) куда переводить — можно найти в первых строчках бота в комментариях) но всё, естественно, по желанию.

  • Пишите в комментариях чего Вы хотите в следующих версиях.

О чём будет следующая часть статьи:

  1. Рассказ о внутренних особенностях установленной системы. Если кто-то хочет покопаться, либо дать совет в настройке — милости просим.

  2. Данный обход блокировок сейчас настроен на 2 сервиса — один Hi!Load VPN с помощью технологии Shadowsocks, второй — Тор, но Вы можете сами настроить необходимые Вам сервисы вручную, подключив их к своему телеграм-боту и он также сможет работать!

  3. Те люди, которые не хотят тратить на это время, могут этого не делать. Остальные — welcome :)

  4. Для тех, кто до сих пор пользуется программой teamviewer, есть способ чтобы он продолжил работать.

Детальная настройка и всё что с этим связано

  1. Для установки VPN сервисов, которые поддерживаются роутером Keenetic (OpenVPN, Wireguard, IpSec, PPTP, L2TP воспользуйтесь инструкциями на официальном сайте Keenetic. Shadowsocks и Tor уже были настроены с помощью установочника телеграм-бота, здесь будет лишь отписание.

  1. Через Putty заходим по SSH (см самое начало статьи).

  2. Инициализируем ipset, создание множества IP-адресов unblock (100-ipset.sh).

  • Проверьте, что в системе вашего маршрутизатора есть поддержка множества hash:net:

ipset create test hash:net
  • Если команда никаких ошибок и сообщений не выдала, значит поддержка есть, и просто следуйте инструкции дальше. В противном случае (есть ошибка) в следующем скрипте вам нужно заменить hash:net на hash:ip. При этом вы потеряете возможность разблокировки по диапазону и CIDR.

    Скорее всего ошибок не будет у Вас.

  • Создайте пустое множество адресов с именем unblock при загрузке маршрутизатора. Для этого создайте файл /opt/etc/ndm/fs.d/100-ipset.sh:

mcedit /opt/etc/ndm/fs.d/100-ipset.sh
  • Вставляем содержимое с помощью сочетания клавиш Shift+Insert. Далее в этой инструкции мы также будем использовать это сочетания клавиш.

  • Внимание: в данном файле мы создаём ровно столько множеств для обхода блокировок, сколько нам надо. В инструкции показано 3 обхода (shadowsocks, tor и какой-то VPN, подключенный исходя из инструкций на официальном сайте), но их может быть бесконечное множество. Если Вам нужно добавить ещё один обход VPN, то Вам нужно добавить ещё одну строку в следующем файле (по аналогии с 3-5 строками). Также можно удалить 1-2 строки, если будете использовать меньшее количество обходов.

    #!/bin/sh
    [ "$1" != "start" ] && exit 0
    ipset create unblocksh hash:net -exist
    ipset create unblocktor hash:net -exist
    ipset create unblocktroj hash:net -exist
    ipset create unblockvmess hash:net -exist
    #ipset create unblockvpn hash:net -exist #если нужно раскомментируем
    exit 0
  • Ссылка на скачивание (там будет храниться всегда актуальная информация).

  • После этого нажимаем сохранить (клавиша F2), соглашаемся (Enter) и выход (клавиша F10). Эти сочетания также будут использоваться далее.

  • Дайте права на исполнение:

chmod +x /opt/etc/ndm/fs.d/100-ipset.sh
  1. Настройка Shadowsocks на примере Highload-VPN. Не является рекламой. Пока там всё бесплатно, они обещают бесплатный доступ с небольшими ограничениями, а есть также платный доступ, доступ к российскому vpn (если например Вы из-за границы и хотите воспользоваться госуслугами или подобными сервисами). Вы можете использовать любой другой сервис, либо настроить самостоятельно Shadowsocks на своём сервере, например по этой инструкции. За основу этого пункта взята эта инструкция.

  • Используем телеграм-бота для получения ключа

  • Через некоторое время Вам в телеграм придёт ключ вида:

ss:/password@serverip:port/?outline=1

Есть 2 способа создать файл настроек. Первый через python, вставив полученный ключ в переменную k. Второй «ручками»:

  • В данном ключе есть 3 позиции, которые нам интересны: первая часть до значка собачки (красная), вторая — после собачки до двоеточия (синяя), третья цифры после двоеточия (зелёная).

  • Первая часть это пароль, который закодирован в кодировке base64, поэтому нам нужно её раскодировать. Можем использовать этот сайт. В верхнее поле вставляем первую («красную») часть нашей ссылки и нажимаем кнопку Decode. Появится декодированная строка. Нас будет интересовать пароль, который находится после двоеточия.

  • Возвращаемся в Putty и выполняем команду:

mcedit /opt/etc/shadowsocks.json
  • Редактируем наш файл. Изменяем строку server (в моём случае 5.5.5.5) на ip адрес (или доменное имя) из ключа, который мы получили на сайте (см вторую картинку наверх). Это «синяя» часть нашего ключа. «Зелёную» часть нашего ключа копируем в server_port (в моём случае 666). В поле password мы копируем пароль из декодированной строки. local_port изменяем на любой свободный порт. Можно оставить этот:

{
    "server":["5.5.5.5"],
    "mode":"tcp_and_udp",
    "server_port":666,
    "password":"mypass",
    "timeout":86400,
    "method":"chacha20-ietf-poly1305",
    "local_address": "::",
    "local_port": 1082,
    "fast_open": false,
    "ipv6_first": true
}

Сохраняем и выходим (напомню F2,F10).

  • Редактируем исполняемый файл Shadowsocks:

mcedit /opt/etc/init.d/S22shadowsocks
  • Меняем ss-local на ss-redir:

Сохраняем и выходим.

  1. Настройка Tor. Эта часть инструкции взята вот отсюда, включая саму статью и комментарии.

  • Удаляем содержимое конфигурационного файла:

cat /dev/null > /opt/etc/tor/torrc
  • Ищем мосты для Тора. Их можно найти вот тут или вот тут.

  • Открываем файл конфигурации Тор. Актуальный (только без актуальных мостов) можно всегда скачать отсюда.

mcedit /opt/etc/tor/torrc
  • Вставьте (Shift+Insert) содержимое (сразу не закрывайте, дочитайте ещё один пункт):

User root
PidFile /opt/var/run/tor.pid
ExcludeExitNodes {RU},{UA},{AM},{KG},{BY}
StrictNodes 1
TransPort 0.0.0.0:9141
ExitRelay 0
ExitPolicy reject *:*
ExitPolicy reject6 *:*
GeoIPFile /opt/share/tor/geoip
GeoIPv6File /opt/share/tor/geoip6
DataDirectory /opt/tmp/tor
VirtualAddrNetwork 10.254.0.0/16
DNSPort 127.0.0.1:9053
AutomapHostsOnResolve 1
UseBridges 1
ClientTransportPlugin obfs4 exec /opt/sbin/obfs4proxy managed
  • В конец этого файла вставляем мосты, полученные через сайт или через телеграм-бот. Перед каждым мостом (строкой) нужно написать слово «Bridge» и поставить пробел. Например:

Bridge obfs4 15.18.22.16:123 C06700D83A2D cert=q34/VfQ+hrUTBto/WhJnwB+BO9jFwBZhNfA iat-mode=0
Bridge obfs4 19.9.1.9:56789 CAF61C9210E5B7638ED00092CD cert=qMUhCi4u/80ecbInGRKAUvGU0cmsiaruHbhaA iat-mode=0
  • Сохраняем и выходим.

  1. Установочником бота создана папка /opt/etc/unblock. Там располагаются файлы со списками для наших различных обходов. Если Вы устанавливаете вручную, то нужна следующая команда для создания папки:

mkdir /opt/etc/unblock
  • Создаём сами списки. Их должно быть ровно столько, сколько обходов мы собираемся создавать. Именно их названия будут использоваться в телеграм-боте для создания списков разблокировок. Напомню, в нашем случае их 3 (вводим последовательно):

mcedit /opt/etc/unblock/shadowsocks.txt
mcedit /opt/etc/unblock/tor.txt
mcedit /opt/etc/unblock/trojan.txt
mcedit /opt/etc/unblock/vmess.txt
mcedit /opt/etc/unblock/vpn1.txt
  • В разные файлы мы можем вносить разные домены и ip-адреса. Предлагаю два из них заполнить только одним сайтом, который будет отображать ip адрес, а один из них наполнить основным списком адресов. В моём случае первый файл будет основным, а тор и vpn будет «запасными». В основной вводим свои сайты примерно в таком виде:

rutracker.org
kinozal.tv
2ip.ru
chess.com

#facebooktwitterinstagram
facebook.com
twitter.com
instagram.com
cdninstagram.com
cdnfacebook.com
facebook.net
ads-twitter.com
static.ads-twitter.com

###Пример разблокировки по IP (убрать # в начале строки)
#195.82.146.214
###Пример разблокировки по CIDR (убрать # в начале строки)
#103.21.244.0/22
###Пример разблокировки по диапазону (убрать # в начале строки)
#100.100.100.200-100.100.100.210
  • В таком виде фейсубокотвиттероинстаграммы должны открываться через браузер, как и другие сайты из этого списка. Если что мой актуальный список будет тут.

    Пока нет способа, который будет работать по маске. Кстати, чтобы узнать какие конкретные домены должны быть внесены в этот список, проще всего зайти через обычный тор-браузер, нажать F12 и зайти на нужный сайт. Во вкладке Network будет список различных доменов, которые используются. Это нужно для тех сайтов, где используется различные другие домены внутри основного сайта.

  • В другие два для проверки добавим по одному сайту: myip.ru и whatismyipaddress.com, а для тора ещё сайт check.torproject.org. В конце концов, изменить списки вы сможете всегда по Вашему желанию либо через Putty, либо через телеграм-бот.

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

teamviewer.com
217.146.28.192/27
37.252.239.128/27
213.227.180.128/27
188.172.221.96/27
131.100.3.192/27
162.250.7.160/27
188.172.251.192/27
162.220.222.192/27
188.172.214.128/27
162.250.2.192/27
162.220.223.160/27
94.16.21.192/27
185.228.150.128/27
188.172.245.32/27
188.172.192.160/27
213.227.162.64/27
217.146.23.96/27
37.252.227.128/27
185.116.99.128/27
37.252.230.160/27
178.255.155.224/27
213.227.181.64/27
188.172.222.0/27
188.172.223.160/27
217.146.13.96/27
94.16.102.128/27
213.227.178.128/27
94.16.26.64/27
213.227.185.192/27
188.172.235.192/27
37.252.245.96/27
213.227.167.160/27
188.172.201.160/27
217.146.11.128/27
37.252.229.192/27
188.172.203.64/27
37.252.244.192/27
37.252.243.160/27

Сохраняем списки и выходим. Создайте хотя бы пустые списки, иначе телеграм-бот их не увидит.

  1. Скрипт для заполнения множества unblock IP-адресами заданного списка доменов (unblock_ipset.sh) и дополнительного конфигурационного файла dnsmasq из заданного списка доменов (unblock_dnsmasq.sh).

  • Создадим скрипт /opt/bin/unblock_ipset.sh:

mcedit /opt/bin/unblock_ipset.sh
  • Обратите внимание, здесь код разделён на 4 части, т.к. у нас 4 обхода блокировок. Если что добавляем ещё подобные строки, заменяя названия ipset’ов и файлов со списком адресов:

#!/bin/sh

until ADDRS=$(dig +short google.com @localhost -p 40500) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done

while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')

  if [ ! -z "$cidr" ]; then
    ipset -exist add unblocksh $cidr
    continue
  fi

  range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$range" ]; then
    ipset -exist add unblocksh $range
    continue
  fi

  addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$addr" ]; then
    ipset -exist add unblocksh $addr
    continue
  fi

  dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblocksh "$1)}'

done < /opt/etc/unblock/shadowsocks.txt

while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')

  if [ ! -z "$cidr" ]; then
    ipset -exist add unblocktor $cidr
    continue
  fi

  range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$range" ]; then
    ipset -exist add unblocktor $range
    continue
  fi

  addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$addr" ]; then
    ipset -exist add unblocktor $addr
    continue
  fi

  dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblocktor "$1)}'



done < /opt/etc/unblock/tor.txt

while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')

  if [ ! -z "$cidr" ]; then
    ipset -exist add unblockvmess $cidr
    continue
  fi

  range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$range" ]; then
    ipset -exist add unblockvmess $range
    continue
  fi

  addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$addr" ]; then
    ipset -exist add unblockvmess $addr
    continue
  fi

  dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblockvmess "$1)}'



done < /opt/etc/unblock/vmess.txt

while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')

  if [ ! -z "$cidr" ]; then
    ipset -exist add unblocktroj $cidr
    continue
  fi

  range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$range" ]; then
    ipset -exist add unblocktroj $range
    continue
  fi

  addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$addr" ]; then
    ipset -exist add unblocktroj $addr
    continue
  fi

  dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblocktroj "$1)}'



done < /opt/etc/unblock/trojan.txt
#script0
  • В конце файла я оставил место под скрипты для доп. обходов (нашего vpn1), их нужно вставлять например вместо строки #script0, #script1 итд в зависимости от количества обходов. Актуальную часть скрипта можно отсюда, а на данный момент:

# unblockvpn - множество
# vpn1.txt - название файла со списком обхода

while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  cidr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/[0-9]{1,2}')

  if [ ! -z "$cidr" ]; then
    ipset -exist add unblockvpn $cidr
    continue
  fi
  
  range=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}-[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$range" ]; then
    ipset -exist add unblockvpn $range
    continue
  fi
  
  addr=$(echo $line | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')

  if [ ! -z "$addr" ]; then
    ipset -exist add unblockvpn $addr
    continue
  fi

  dig +short $line @localhost -p 40500 | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '{system("ipset -exist add unblockvpn "$1)}'


done < /opt/etc/unblock/vpn1.txt
  • Даём права на использование:

chmod +x /opt/bin/unblock_ipset.sh
  • Создадим скрипт /opt/bin/unblock_dnsmasq.sh:

mcedit /opt/bin/unblock_dnsmasq.sh
#!/bin/sh
cat /dev/null > /opt/etc/unblock.dnsmasq
while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue

  echo "ipset=/$line/unblocktor" >> /opt/etc/unblock.dnsmasq
  echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/tor.txt

while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue

  echo "ipset=/$line/unblocksh" >> /opt/etc/unblock.dnsmasq
  echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/shadowsocks.txt
while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue

  echo "ipset=/$line/unblockvmess" >> /opt/etc/unblock.dnsmasq
  echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/vmess.txt
while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue

  echo "ipset=/$line/unblocktroj" >> /opt/etc/unblock.dnsmasq
  echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/trojan.txt


#script0
#script1
#script2
#script3
#script4
#script5
#script6
#script7
#script8
#script9
  • Здесь аналогичная картина — код разбит на 4 частиDYBVF. При необходимости увеличиваем за счёт #script0 и т.д пока так (актуальную знаете где взять):

#vpn1 и unblockvpn меняем
while read line || [ -n "$line" ]; do

  [ -z "$line" ] && continue
  [ "${line:0:1}" = "#" ] && continue

  echo $line | grep -Eq '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' && continue

  echo "ipset=/$line/unblockvpn" >> /opt/etc/unblock.dnsmasq
  echo "server=/$line/127.0.0.1#40500" >> /opt/etc/unblock.dnsmasq
done < /opt/etc/unblock/vpn1.txt

Сохраняем и выходим.

  • Даём права на использование:

chmod +x /opt/bin/unblock_dnsmasq.sh
  • Запускаем скрипт и затем проверяем создался ли файл. Здесь 2 команды, вводим последовательно:

unblock_dnsmasq.sh
cat /opt/etc/unblock.dnsmasq

Картина будет примерно такая:

  1. Скрипт ручного принудительного обновления системы после редактирования списка доменов (unblock_update.sh). Создаём его:

mcedit /opt/bin/unblock_update.sh
  • Записываем содержимое, сохраняем и закрываем:

#!/bin/sh
ipset flush unblocktor
ipset flush unblocksh
ipset flush unblockttroj
ipset flush unblockvmess
#ipset flush unblockvpn # добавляем столько сколько надо и раскомментируем
/opt/bin/unblock_dnsmasq.sh
/opt/etc/init.d/S56dnsmasq restart
/opt/bin/unblock_ipset.sh &
  • Даём права на использование:

chmod +x /opt/bin/unblock_update.sh
  1. Скрипт автоматического заполнения множества unblock при загрузке маршрутизатора (S99unblock). Создаём его:

mcedit /opt/etc/init.d/S99unblock
  • Записываем содержимое, сохраняем и закрываем:

#!/bin/sh
[ "$1" != "start" ] && exit 0
/opt/bin/unblock_ipset.sh 
cd /opt/etc
python /opt/etc/bot.py &
  • Даём права на использование:

chmod +x /opt/etc/init.d/S99unblock
  1. Перенаправление пакетов с адресатами.

  • ВНИМАНИЕ! Эта часть кода сейчас не работает, если есть спецы в iptables, то милости просим! Если кроме тора, trojan, vmess и shadowsocks мы используем другие VPN, то нам нужно узнать их имена. Вводим команду:

ifconfig
  • Список будет большим (может потребоваться прокрутка), но по тем параметрам, которые видны, Вы должны догадаться какой выбрать. У меня это ppp1, поэтому в следующем файле будем использовать его.

.

.
  • Здесь будут отображаться все созданные Вами vpn (кроме shadowsocks и tor).

  • Создаём ещё один файл, который будет перенаправлять пакеты с адресатами:

mcedit /opt/etc/ndm/netfilter.d/100-redirect.sh
#!/bin/sh
[ "$type" == "ip6tables" ] && exit 0
ip4t() {
    if ! iptables -C "$@" &>/dev/null; then
        iptables -A "$@"
    fi
}
if [ -z "$(iptables-save 2>/dev/null | grep unblocksh)" ]; then
    ipset create unblocksh hash:net -exist
    iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
    iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
    iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
    iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
    iptables -t nat -A OUTPUT -p tcp -m set --match-set unblocksh dst -j REDIRECT --to-port 1082
fi


if [ -z "$(iptables-save 2>/dev/null | grep "udp \-\-dport 53 \-j DNAT")" ]; then
    iptables -w -t nat -I PREROUTING -i br0 -p udp --dport 53 -j DNAT --to 192.168.1.1
    iptables -w -t nat -I PREROUTING -i sstp0 -p udp --dport 53 -j DNAT --to 192.168.1.1
fi
if [ -z "$(iptables-save 2>/dev/null | grep "tcp \-\-dport 53 \-j DNAT")" ]; then
    iptables -w -t nat -I PREROUTING -i br0 -p tcp --dport 53 -j DNAT --to 192.168.1.1
    iptables -w -t nat -I PREROUTING -i sstp0 -p tcp --dport 53 -j DNAT --to 192.168.1.1
fi


if [ -z "$(iptables-save 2>/dev/null | grep unblocktor)" ]; then
    ipset create unblocktor hash:net -exist
    iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
    iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
    iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
    iptables -t nat -A OUTPUT -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141

    iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
    iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141
    iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblocktor dst -j REDIRECT --to-port 9141

fi


if [ -z "$(iptables-save 2>/dev/null | grep unblockvmess)" ]; then
    ipset create unblockvmess hash:net -exist
    iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
    iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
    iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
    iptables -t nat -A OUTPUT -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810

    iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
    iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810
    iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblockvmess dst -j REDIRECT --to-port 10810

fi

if [ -z "$(iptables-save 2>/dev/null | grep unblocktroj)" ]; then
    ipset create unblocktroj hash:net -exist
    iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
    iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
    iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
    iptables -t nat -A OUTPUT -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829

    iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
    iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829
    iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblocktroj dst -j REDIRECT --to-port 10829

fi


#script0
  • По аналогии внизу (вместо #script0 и т.д.) нам необходимо вставить дополнительный код (актуальный всегда тут). ВНИМАНИЕ! Эта часть кода сейчас не работает, если есть спецы в iptables, то милости просим! Тут аккуратненько) вместо ppp1 вставляем нужное нам название интерфейса (чуть повыше я писал):

if [ -z "$(iptables-save 2>/dev/null | grep unblockvpn)" ]; then
    ipset create unblockvpn hash:net -exist
    iptables -I PREROUTING -w -t nat -i br0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
    iptables -I PREROUTING -w -t nat -i br0 -p udp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
    iptables -t nat -A PREROUTING -i br0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
    iptables -t nat -A OUTPUT -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1

    iptables -I PREROUTING -w -t nat -i sstp0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
    iptables -I PREROUTING -w -t nat -i sstp0 -p udp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1
    iptables -t nat -A PREROUTING -i sstp0 -p tcp -m set --match-set unblockvpn dst -j MASQUERADE -o ppp1

fi
exit 0

Сохраняем и даём права на использование:

chmod +x /opt/etc/ndm/netfilter.d/100-redirect.sh
  1. Настройка dnsmasq и подключение дополнительного конфигурационного файла к dnsmasq.

  • Удалим содержимое конфигурационного файла dnsmasq и создадим вновь (команды вводим последовательно):

cat /dev/null > /opt/etc/dnsmasq.conf
mcedit /opt/etc/dnsmasq.conf
  • Записываем содержимое. При необходимости меняем ip роутера. Сохраняем и закрываем.

user=nobody
bogus-priv
no-negcache
clear-on-reload
bind-dynamic
listen-address=192.168.1.1
listen-address=127.0.0.1
min-port=4096
cache-size=1536
expand-hosts
log-async
conf-file=/opt/etc/unblock.dnsmasq
no-resolv
server=127.0.0.1#40500
server=127.0.0.1#40508
server=/onion/127.0.0.1#9053
ipset=/onion/unblocktor
  1. Добавление задачи в cron для периодического обновления содержимого множества unblock.

  • Откроем файл:

mcedit /opt/etc/crontab
  • В конец добавляем строку:

00 06 * * * root /opt/bin/unblock_ipset.sh
  • При желании остальные строчки можно закомментировать, поставив решётку в начале. Затем сохраняем и закрываем:

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/bin:/opt/sbin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
#*/1 * * * * root /opt/bin/run-parts /opt/etc/cron.1min
#*/5 * * * * root /opt/bin/run-parts /opt/etc/cron.5mins
#01 * * * * root /opt/bin/run-parts /opt/etc/cron.hourly
#02 4 * * * root /opt/bin/run-parts /opt/etc/cron.daily
#22 4 * * 0 root /opt/bin/run-parts /opt/etc/cron.weekly
#42 4 1 * * root /opt/bin/run-parts /opt/etc/cron.monthly
00 06 * * * root /opt/bin/unblock_ipset.sh
  1. После перезагрузки роутера у меня почему-то пропал доступ по 222 порту через putty по ssh. В итоге я подключаюсь по 22 порту через тот же putty, ввожу логин с паролем от роутера, пишу команду:

exec sh

а затем:

su - root

и можно использовать любые команды Entware по типу тех, которые мы вводили в данной инструкции.

Заключение

Надеюсь Вам всё понравилось) Пишите в комментариях что бы Вы хотели улучшить, Ваши замечания. «Спасибки» и прочее также приветствуются).

История версий

Версия 1.1

1) С помощью бота можно добавлять и удалять не один сайт, а несколько (каждый новый сайт с новой строки)
2) При показе списка бот выдаёт список в алфавитном порядке и в одном сообщении
3) Добавлен вывод ошибки в файл при зависании бота. Если будет ошибка — пришлите разработчику содержимое файла /opt/etc/error.log, но, возможно, ошибка исправлена
4) Исправлено создание файла /opt/etc/crontab. Раньше при повторной установки добавлялись дополнительные ненужные строки

Версия 1.2

Добавлена возможность вручную устанавливать ключи для Shadowsocks и мосты для Тора

Версия 1.3

1) Обновлена немного работа с ботом Highload’a (shadowsocks) из-за изменений их бота

2) Добавлена возможность получать ключи через бот с помощью сайта https://hi-l.im/. Для этого пункта необходимо однократно ещё ввести команду «pip install beautifulsoup4» перед запуском бота.

3) Немного доработан скрипт S99unblock

4) Доработан бот в части установочника. Теперь при установке запускается скрипт, создающий пустые множества. Иначе иногда переставал работать интернет полностью

5) В статье есть описание добавления DNS-over-HTTPS и DNS-over-TLS. Там есть небольшой апдейт от 02.10.2022. Рекомендую проделать действия из этого раздела

6) В боте есть обработка ошибок. Ошибки, связанные с работой, можно посмотреть в файле /opt/etc/error.log

Версия 2.0

1) Добавлена поддержка trojan и vmess

2) Удалён способ получение ключей Shadowsocks через телеграм. Это связано с тем, что я не успеваю следить за изменением их бота. Проще вручную получить ключ. Получение мостов Tor осталось на месте

3) Удалён способ получение ключа с помощью сайта H!Load-VPN так как на сайте больше нет это поддержки

4) Исправлен баг

Правило обновления до версии 2.0 с версий 1.*:

1) Скопировать весь код бота, который идёт после строки

# следующие настройки могут быть оставлены по умолчанию, но можно будет что-то поменять

2) Нажать запустить установку заново. ИЛИ!!!!!! с помощью Putty сделать следующие действия:

  • Установить два пакета

    opkg install v2ray trojan
  • Создать 2 файла в папке unblock, например командами. Их содержимое можно оставить пустым

mcedit /opt/etc/unblock/trojan.txt
mcedit /opt/etc/unblock/vmess.txt
  • Обновить файлы unblock.dnsmasq, unblock_ipset.sh, 100-redirect.sh, 100-ipset.sh, unblock_update.sh с гита

Настраиваем L2TP VPN сервер Keenetic

Не редко, требуется иметь полноценный доступ к внутренним ресурсам сети из любой точки, где имеется выход в Интернет. И тут на первое место выходит вопрос безопасности и защиты передаваемых данных по открытым каналам связи.

Для организации защищенных каналов я предпочитаю использовать OpenVPN, о настройке которого уже не раз рассказывал на страницах блога. Но что делать, если у вас нет возможности, желания или навыков поднимать OpenVPN-сервер? Для небольшого офиса, а уж тем более домашнего использования, подобное решение не всегда оправдано. Гораздо проще организовать безопасное подключение к ресурсам вашей сети используя готовый L2TP VPN-сервер на базе роутера Keenetic и сегодня я наглядно покажу как это делается.

Перед тем как начать, хотелось бы отметить, что PPTP VPN-сервер на Keenetic настраивается аналогичным образом, но в виду того, что соединения по протоколу PPTP не обеспечивают требуемого уровня безопасности, его настройку рассматривать не будем. В свежих версиях macOS поддержку PPTP вообще выпилили из системы.

Настройка L2TP-сервера на роутерах Keenetic

Со времени появления первых «кинетиков», проделана большая работа и теперь эти роутеры обладают весьма не плохим функционалом, оставаясь простыми в настройке (тут засылаю огромный булыжник в огород MikroTik). Для примера, взял роутер Keenetic Extra II с прошивкой версии 2.14.C.0.0-4.

Итак, расширение функциональности Keenetic OS, на которой работает роутер, достигается за счёт установки дополнительных компонентов. Как вы уже поняли, нам потребуется установить компонент L2TP/IPsec VPN-сервера:

  1. Заходим в панель управления и в боковом меню переходим Управление -> Общие настройки, где кликаем по кнопке «Изменить набор компонентов».
  2. Keenetic. Изменение набора компонентов

  3. В появившемся окне в разделе «Сетевые функции» отмечаем «L2TP/IPsec VPN-сервер» для установки.
  4. Keenetic. Установка L2TP/IPsec VPN-сервера

  5. Далее создаём пользователей, которым будет предоставлен удалённый доступ к сети. Делается это в соответствующем разделе Управление -> Пользователи.
  6. Осталось настроить сам L2TP-сервер. Переходим в Управление -> Приложения -> VPN-сервер L2TP/IPsec.
  7. Настройки шифрования L2TP/IPsec VPN-сервера Keenetic

    В поле Общий ключ IPsec пишем любой набор символов или секретную фразу, которая будет использоваться в качестве ключа шифрования (чем сложнее, тем лучше).

    Ставим галочку, напротив поля Множественный вход, если планируется использовать одну учётную запись пользователя для нескольких соединений одновременно. Здесь же можно указать количество выдаваемых IP-адресов клиентам и задать начальный IP-адрес, с которого роутер будет их отсчитывать.

    Нас избавили от решения вопросов маршрутизации, получаемой виртуальной сети, все необходимые правила роутер добавляет автоматически. Не забудьте только поставить галочку напротив пункта NAT для клиентов.

    Остаётся только отметить галочками пользователей (мы их создали в третьем пункте) и активировать L2TP VPN-сервер.

    Активация L2TP/IPsec VPN-сервера на роутере Keenetic

Настройка соединения L2TP/IPsec на Windows и маке

Настройка VPN L2TP соединений под macOS или Windows делается штатными средствами. Если требуется подробная инструкция по их настройке, пишите в комментариях. А не сегодня это всё. Не забывайте ставить лайки и подписываться.

Настройка соединения L2TP/IPsec на macOS

Подписывайтесь на канал

Яндекс.Дзен

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

  • Как включить upnp на роутере huawei
  • Как включить upnp в роутер keenetic
  • Как включить udp порты в роутере
  • Как включить telnet на роутере ростелеком
  • Как включить telnet на роутере asus