Настройка vpn на роутере keenetic start

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

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

Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie

Обычно беспроводные роутеры используются для предоставления доступа к Интернет различным домашним устройствам. Но иногда требуется решить и в определенном смысле противоположную задачу – реализовать удаленный доступ к размещенным в домашней сети сервисам и системам. Традиционный вариант решения этой задачи обычно состоит из трех шагов – использовать сервис динамического DNS для автоматического определения внешнего IP-адреса роутера, назначить в параметрах сервиса DHCP роутера выделение фиксированного адреса для нужного клиента и создать правило трансляции портов для требуемого сервиса на этом клиенте. Заметим, что удаленный доступ в большинстве случаев возможен только при наличии «белого»/«внешнего» адреса на WAN-интерфейсе роутера (подробнее см. в статье), а DDNS может не требоваться, если ваш провайдер предоставляет фиксированный IP-адрес.

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

Помочь справиться с этими вопросами помогут технологии VPN – виртуальных частных сетей. Они позволяют создать безопасное соединение между удаленным клиентом или локальной сетью и сразу всей сетью за роутером. То есть вам будет достаточно один раз настроить этот сервис и при подключении к нему клиент будет вести себя так, как будто он находится в локальной сети. Заметим, что эта схема тоже требует внешнего адреса на роутере и, кроме того, имеет некоторые ограничения связанные с использованием имен систем и других сервисов.

В прошивках многих современных роутеров среднего и верхнего сегмента предусмотрен встроенный сервер VPN. Чаще всего он работает с протоколами PPTP и OpenVPN. Первый является популярным вариантом, который был разработан более 15-ти лет назад при участии крупных ИТ-компаний, включая Microsoft. Его клиент встроен во многие современные ОС и мобильные устройства, что упрощает реализацию. Однако считается, что в этом решении не очень хорошо решаются вопросы безопасности. Скорость защищенного соединения для этого протокола в зависимости от производительности платформы роутера обычно составляет 30-50 Мбит/с, на самых быстрых устройствах мы встречали и 80 Мбит/с (см. например статью).

OpenVPN является свободной реализацией VPN сходного возраста и выпускается по лицензии GNU GPL. Клиенты для него есть для большинства платформ, включая мобильные. Серверы можно встретить во многих альтернативных прошивках для роутеров, а также в оригинальных версиях от производителей оборудования. Минусом этого протокола является требование значительных вычислительных ресурсов для обеспечения высокой скорости работы, так что 40-50 Мбит/с можно получить только на решениях верхнего сегмента (см. например).

Еще один вариант, который чаще связывают с «серьезными» решениями безопасных сетевых коммуникаций, –  IPsec (см. статью). Его история началась немного раньше и сегодня его можно встретить во многих продуктах удаленного доступа корпоративного уровня.

Тем не менее, относительно недавно его реализация появилась и в таком явно массовом оборудовании, как роутеры серии Zyxel Keenetic. Используемый в них программный модуль позволяет реализовать безопасные сценарии удаленного доступа, а также объединения сетей без сложных настроек. Кроме того, он совместим с решениями серии ZyWall. К плюсам этого производителя стоит отнести удобную базу знаний с подробными статьями о реализации типовых сценариев. По данной теме можно обратить внимание на статьи по объединению двух сетей и подключению клиента с Windows. Приводить подробные скриншоты настроек не имеет смысла, поскольку они есть по указанным ссылкам. Отметим только что все просто и понятно.

Учитывая ресурсоемкость используемых в данном сценарии алгоритмов, важным является вопрос производительности такого решения. Для его изучения были выбраны три модели роутеров последнего поколения – топовые Keenetic Ultra II и Keenetic Giga III, а также бюджетный Keenetic Start II. Первые два имеют процессоры MediaTek серии MT7621, по 256 МБ оперативной памяти и по 128 МБ флэшпамяти, гигабитные сетевые порты, два диапазона Wi-Fi, поддержку 802.11ac, порт USB 3.0. При этом в старшей используется чип с двумя ядрами, работающими на частоте 880 МГц, а во второй – такой же чип, но только с одним ядром. А третий роутер оборудован 100 Мбит/с портами (причем в количестве двух штук – один WAN и один LAN) и однодиапазонным беспроводным модулем. Процессор в нем используется MT7628N с одним ядром и частотой 575 МГц, а объем оперативной памяти составляет 64 МБ. С точки зрения программных возможностей, связанных с IPsec, устройства не отличаются.

На все три роутера были установлены прошивки из ветки бета версий v2.07(xxxx.2)B2. Режим подключения к сети Интернет на всех устройствах выбирался самый простой – IPoE. Работа с другими вариантам, скорее всего, приведет к снижению результатов. На следующих двух графиках приводятся результаты тестирования пар с разными настройками параметров соединения – Ultra II и Giga III, Ultra II и Start II. В первой устройства в целом сравнимы по скорости (правда у старшего два ядра), а во второй ограничения будут от младшей модели. Направление указано относительно второго устройства. Использовались сценарии передачи, приема и одновременной передачи и приема данных между подключенными к роутерам клиентами.


  

Как мы видим, скорости здесь достаточно низкие и даже не дотягивают до 100 Мбит/с. При этом нагрузка на процессор во время активного обмена данными очень высока, что может иметь негативные последствия и для других решаемых устройством задач.

Однако, как мы помним по другим сходным ресурсоемким сценариям (например, обработке видео), существенный рост производительности на специализированных задачах можно получить благодаря использованию выделенных блоков чипов, «заточенных» на эффективную работу с определенными алгоритмами. Что интересно, в современных SoC от MediaTek такие как раз присутствуют и программисты компании в недавних обновлениях прошивок реализовали эту возможность.

 

При этом максимальный эффект можно получить на чипах MT7621 и RT6856, а на MT7628 поддерживаются не все режимы. Посмотрим, что изменится при использовании данного блока. Для его включения используем команду в консоли, как на скриншоте.

 

Старшая пара показывает скорость в 200 Мбит/с и более, что еще раз подтверждает правильность идеи создания специализированных блоков для определенных стандартных алгоритмов, которые существенно производительнее универсальных ядер.

 

Для младшей однокристальной системы эффект менее заметен, но и здесь можно отметить увеличение скорости в два раза для некоторых конфигураций.

Посмотрим теперь, насколько хорошо устройства справятся с обслуживанием подключений с достаточно быстрого компьютера с процессором Intel Core i5 и ОС Windows 8.1 x64 (описание настройки соединения доступно по ссылке выше). В роли условных серверов (в соединениях IPsec участники в определенном смысле равноправны) выступили старший Keenetic Ultra II и младший Keenetic Start II.

 

Топовый роутер в некоторых конфигурациях разгоняется более чем до 300 Мбит/с. Так что видимо второе ядро процессора помогает и в этом сценарии. Впрочем, на практике для достижения этих результатов вам понадобится и соответствующие Интернет-каналы.

 

Результаты Keenetic Start II по понятным причинам практически не отличаются от того, что мы видели выше.

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

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

Пока я проводил тесты, оказалось, что компания в последних отладочных прошивках серии 2.08 для энтузиастов реализовала еще одну полезную возможность, позволяющую использовать сервис IPsec с мобильными клиентами. Описанный выше сценарий создания профиля соединения требовал постоянных IP-адресов с двух сторон соединения, что для смартфонов в обычных ситуациях не встречается. Подробности и инструкции можно прочитать в этих ветках: Android, iOS/OS X, Windows (Cisco VPN Client).

В настоящий момент этот режим не полностью поддерживается в Web-интерфейсе, однако это не помешало провести несколько быстрых тестов с Keenetic Giga III. С Apple iPhone 5S реальная скорость составила 5-10 Мбит/с в зависимости от направления, а Xiaomi Mi5 оказался побыстрее – 10-15 Мбит/с (оба устройства подключались через Wi-Fi). Штатный клиент Cisco IPsec в OS X 10.11 на современной системе показал 110 Мбит/с на передачу и 240 Мбит/с на прием (при использовании гигабитной локальной сети и с учетом описанной выше операции по настройке роутера в консоли). Windows с известным, хотя и уже не поддерживающимся клиентом Cisco VPN Client, работала также достаточно быстро – 140 Мбит/с на передачу и 150 Мбит/с на прием. Таким образом, данная реализация IPsec явно может быть интересна широкому кругу пользователей для реализации быстрого и безопасного удаленного доступа к своей локальной сети с мобильных устройств и компьютеров из любой точки мира.

Во многих организациях сотрудникам в целях экономии бюджета обеспечивается удаленный доступ к рабочим местам. Для этого необходимо использовать защищенный канал связи, основанный на технологии Virtual Private Net, или VPN. Рассмотрим подробнее, как корректно произвести настройку VPN на Zyxel Keenetic.

Содержание

  • Подготовка роутера
  • Настройка VPN-подключения
  • Приоритеты подключений
  • VPN-туннель IPSec
  • Несколько слов про OpenVPN

Подготовка роутера

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

Подключаем девайс к сети электропитания. «Патч-корд» одним разъемом вставляем в роутер, а вторым – в сетевой адаптер на компьютере, с которого будет производиться настройка. Кабель, проведенный провайдером, подключается к специальному разъему WAN на сетевых устройствах Zyxel. Схематически должна получиться такая картина:Схема

На следующем этапе открываем браузер и настраиваем соединение с интернетом. Подробные инструкции о том, как настроить доступ к «мировой паутине» на разных моделях роутеров, представлены на нашем сайте. Здесь мы рассмотрим, как настроить VPN на Zyxel всех моделей Keenetic.

После того как доступ к интернету получен, проверяем наличие актуальной версии прошивки для операционной системы. При необходимости производим обновление внутреннего ПО до последней версии, так как только роутеры Zyxel серии Keenetic с микропрограммой NDMS V2.04.B2 и выше поддерживают функцию VPN.Проверка обновлений

Второй важный пункт: оборудование должно иметь «белый» IP-адрес в «глобальной сети». Это необходимо для того, чтобы при активации удаленного подключения клиент мог однозначно идентифицировать свой VPN Server Keenetic на разных моделях Zyxel. Получают его у провайдера за дополнительную ежемесячную оплату.

Настройка VPN-подключения

Если все вышеуказанные условия соблюдены, переходим к настройке VPN на маршрутизаторе Zyxel Keenetic.

  • Заходим через главное меню в раздел «Система», далее — «Компоненты». Отмечаем, что требуется активация опции «VPN-сервер»:VPN-сервер
  • В зависимости от модели Zyxel потребуется перезагрузка для применения внесенных изменений. После этого на вкладке «Приложения» появится новая панель «Сервер VPN»:Новая панель «Сервер VPN»
  • Далее заходим в нее, выставляем следующие параметры:Параметры VPN
  • Активируем VPN-сервер на Zyxel Keenetic, отмечаем, чтобы на каждого пользователя создавался новый канал связи для повышения надежности передачи данных.
  • Подключение происходит с шифрованием, это поднимает уровень безопасности канала связи. Поэтому используется протокол MPPE. Соответственно, пропускаем третий пункт.
  • Поле «Транслировать адреса клиентов (NAT)» активируем, чтобы пользователи подключались через внешнюю сеть.
  • В следующем подразделе – «Доступ к сети» – указывается наименование канала связи, по которому будет производиться выход в интернет. Как пример указана домашняя сеть клиента. Через нее будет осуществляться PPTP-подключение.
  • Следующие два пункта отвечают за перечень IP-адресов, предоставляемые ВПН-сервером для вновь подключившихся. Количество участников зависит от модели роутера: например, Zyxel Keenetic GIGA разрешает максимум 10 соединений.
  • В первом пункте выбираем начальное значение пула IP-адресов, а во втором указываем максимально возможное количество. Таким образом, на роутере зарезервируется десять адресов, которые будут выдаваться PPTP-клиентам.
  • Список IP-адресов для VPN не должен совпадать с пулом адресов DHCP-сервера сетевого устройства. Например, Zyxel раздает IP-адреса в диапазоне 192.168.0.10 – 192.168.0.100. Соответственно, для VPN рекомендуется задать пул, начиная с 192.168.0.150.
  • После внесения всех изменений нажимаем кнопку «Применить», переходим к следующему разделу – «Конфигурации учетных записей пользователей», находящихся ниже параметров VPN:Конфигурации учетных записей пользователей
  • Нажимаем левой кнопкой мыши на имени Admin.Admin
  • Выбираем пункт «Разрешить доступ к VPN». Применяем изменения:Разрешить доступ к VPN
  • Добавить клиентов к перечню разрешенных через меню «Система», раздел «Пользователи»:Пользователи
  • Указываем имя, придумываем пароль и выставляем права доступа:Настройка учетной записи пользователя
  • В нашем случае надо обязательно отметить пункт «VPN-сервер». Далее нажимаем «Сохранить».

На этом настройка роутера Zyxel Keenetic завершена, разрешено устанавливать VPN-связь.

Приоритеты подключений

Начиная с версии 2.0, встроенное ПО роутеров компании Zyxel поддерживает функцию распределения приоритетов. По сравнению с первой версией присутствует возможность комбинирования соединений разными способами.

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

На скриншоте наивысший приоритет отдан интерфейсу ISP. Это стандартная настройка для доступа к интернету по сетевому кабелю.

Следующим идет Yota: подключение по беспроводному каналу связи. Если первый вариант перестанет работать, роутер автоматически перейдет на указанный режим. Таким образом настраиваются резервные каналы связи и VPN-соединения.

VPN-туннель IPSec

Некоторые модели от Zyxel Keenetic поддерживают создание защищенного канала связи через протокол IPsec. Как и в ситуации, описанной выше, его необходимо предварительно проинсталлировать на оборудовании. Заходим через веб-панель в «Систему», далее — «Обновление»:Обновление

Выбираем опцию «Показать компоненты». Отмечаем пункт IPsec, как показано на скриншоте ниже:IPsec

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

  1. Активируем сам протокол шифрования.
  2. Со второго пункта снимаем галочку, так как данное соединение не будет использоваться для прямого доступа в интернет.
  3. Поле «Описание» заполняем произвольным именем, оно необходимо только для идентификации процесса по названию.
  4. Тип протокола оставляем, как есть.
  5. В следующем разделе указываем интернет-соединение, используемое роутером для доступа к «мировой паутине».
  6. Прописываем имя «юзера» и пароль для него.
  7. Секретный ключ придумываем самостоятельно. Например, Test.
  8. Метод проверки подлинности оставляем, как показано на скриншоте.
  9. Адрес сервера составляется Zyxel автоматически. Как правило, используется наименование сервиса. Например, msk.test.ru.
  10. Сетевые настройки (IP-адрес и DNS-серверы) оставляем в автоматическом режиме.
  11. Отмечаем галочкой последний пункт.

Завершаем процесс создания нажатием кнопки «Применить». Теперь соединение появится в перечне доступных подключений. Оно используется для создания защищенного канала связи по протоколу IPsec. Android или iOS-совместимые мобильные устройства работают по данной технологии.

Несколько слов про OpenVPN

Протоколы, используемые на сетевых оборудованиях Zyxel, осуществляют две функции:

  • PPTP и L2TP – VPN-доступ к серверам провайдера.
  • IPSec и OpenVPN – помогают конфигурировать отдельные серверы для создания защищенных каналов связи под личные «нужды».

Про первый вариант было рассказано выше, здесь остановимся на втором. Способ является дополнительной опцией, доступен не на всех моделях Zyxel. Компонент был добавлен в ОС роутеров, начиная с версии NDMS v2.10.B0. Чтобы проверить его совместимость с моделью роутеров Zyxel, заходим в раздел «Компоненты» и смотрим по наличию. КомпонентыТакже пользуемся информацией на официальном сайте вендора.

OpenVPN часто применяют как альтернативное подключение к «мировой паутине». Пользователь проверяет, установлен ли он в ОС роутера.

Далее скачиваем с сайта https://www.vpngate.net/en/ конфигурацию сервера OpenVPN, загружаем ее в сетевое устройство. Скачать конфигурацию сервера OpenVPNПосле этого сохраняем, а затем перезапускаем Zyxel.

Более подробно о настройке OpenVPN будет рассказано в отдельной публикации.

Технический эксперт

Подгорнов Илья Владимирович

Всё статьи нашего сайта проходят аудит технического консультанта. Если у Вас остались вопросы, Вы всегда их можете задать на его странице.

  • Настройка vpn клиент на роутере asus
  • Настройка usb порта на роутере
  • Настройка tp link tl wr741nd как роутер
  • Настройка vpn на роутере keenetic speedster
  • Настройка upnp на роутере ростелеком