Настройка прокси сервера на роутере 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 с гита

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

В данной статье мы расскажем вам о том, как правильно настроить прокси-сервер на роутере Zyxel Keenetic.

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

Шаг 1: Войдите в веб-интерфейс вашего роутера Zyxel Keenetic, введя IP-адрес роутера в адресной строке вашего браузера и авторизовавшись.

Шаг 2: Перейдите в раздел «Настройки сети» и выберите вкладку «Прокси-сервер».

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

Содержание

  1. Шаг 1: Вход в панель администрирования роутера
  2. Шаг 2: Настройка соединения с прокси-сервером
  3. Шаг 3: Создание правила прокси на роутере

Шаг 1: Вход в панель администрирования роутера

Для начала процесса настройки прокси на роутере Zyxel Keenetic, вам необходимо войти в панель администрирования устройства. Для этого выполните следующие действия:

  1. Откройте веб-браузер на любом устройстве, подключенном к роутеру.
  2. В адресной строке браузера введите IP-адрес роутера. По умолчанию адрес может быть 192.168.1.1 или 192.168.0.1. Если вы изменили адрес роутера, используйте новый адрес.
  3. Нажмите клавишу Enter или просто перейдите по введенному адресу.
  4. Откроется страница авторизации. Введите свои учетные данные (логин и пароль), которые были указаны при первоначальной настройке роутера.
  5. Нажмите кнопку Войти, чтобы получить доступ к панели администрирования.

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

Шаг 2: Настройка соединения с прокси-сервером

После того, как вы настроили доступ к веб-интерфейсу роутера Zyxel Keenetic, перейдите во вкладку «Настройки».

В разделе «Интернет» выберите необходимое соединение, к которому вы хотите применить прокси-сервер, и нажмите на кнопку «Настроить».

В открывшемся окне перейдите на вкладку «Прокси-сервер».

В поле «Тип прокси-сервера» выберите тип прокси, который вы хотите использовать (HTTP, HTTPS, SOCKS4 или SOCKS5).

Введите IP-адрес прокси-сервера в поле «IP-адрес».

Если прокси-сервер требует аутентификации, введите имя пользователя и пароль в соответствующие поля.

Если прокси-сервер работает на нестандартном порту, укажите его в поле «Порт».

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

Теперь ваш роутер Zyxel Keenetic будет использовать прокси-сервер для подключения к интернету.

Шаг 3: Создание правила прокси на роутере

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

Для создания правила прокси на роутере, выполните следующие действия:

  1. Откройте веб-интерфейс роутера, введя IP-адрес роутера в адресную строку браузера.
  2. Введите логин и пароль для доступа к настройкам роутера.
  3. На главной странице веб-интерфейса найдите и выберите раздел «Настройки» или «Settings».
  4. В меню настроек найдите раздел «Сеть» или «Network».
  5. В разделе «Сеть» найдите подраздел «Маршрутизация» или «Routing».
  6. В подразделе «Маршрутизация» выберите пункт «Правила маршрутизации» или «Routing Rules».
  7. На странице с правилами маршрутизации нажмите кнопку «Добавить» или «Add» для создания нового правила.

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

Параметр Значение
Имя правила Введите уникальное имя для правила прокси.
Протокол Выберите протокол, через который будет проходить прокси-трафик. Обычно это TCP.
Тип Выберите тип правила. Для прокси-сервера это должно быть «DNAT».
Внешний IP-адрес Введите внешний IP-адрес вашего роутера.
Внешний порт Укажите внешний порт, через который будет доступен прокси-сервер.
Внутренний IP-адрес Введите внутренний IP-адрес вашего прокси-сервера.
Внутренний порт Укажите внутренний порт, на котором работает прокси-сервер.

После заполнения всех параметров сохраните изменения и перезагрузите роутер для применения новых правил.

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

Что нам даст настройка прокси с помощью роутера?
На самом деле, весьма полезный функционал который многими недооценен. У этого функционала есть множество причин, почему его стоит настраивать. Базовые преимущества:

Появляется вариант прямого подключения к заблокированным веб-ресурсам, сразу несколькими девайсами(Комьютеры, телефоны и т.д.), настроенных на работу с маршрутизатором.
Отсутствует необходимость индивидуальной настройки каждого из используемых устройств, которые подключены к роутеру. Достаточно будет провести настройку один раз. После настройки прокси на роутере, все пользователи автоматически начнут использовать эти настройки. Благодаря этому администратор сильно сокращает траты во времени для достижения результата.
Поддержка активного прокси соединения. За счет того что прокси соединение постоянно поддерживается, подключение к нему будет совершаться автоматически при каждой попытке выхода в сеть. При этом содержимое всех ваших личных данных и переданных пакетов будет под должным уровнем защиты.
Прокси соединение со стороны роутера улучшает качество защиты ваших личных данных от попытки взлома и их кражи. Такое соединение намного эффективнее чем замудрённые пароли, которые могут поддаваться опытным взломщикам. Хотя сложный пароль — в любом случае обязательное условие.

Пошаговая инструкция по настройке прокси-сервера на вашем роутере:
Конечно же, самым первым и понятным пунктом станет покупка надежных прокси серверов. Без них любые действия по настройке будут бессмысленны, мягко говоря. Для работы с большинством сервисов подойдут прокси серверы протокола IPv6, но в некоторых ситуациях возможны и протокола IPv4. Тут уже больше вопрос к непосредственно вашим нуждам и целям.
Сначала нам нужно конфигурировать сам роутер под подключение к интернету, согласно инструкции. В основном этим занимается представитель самого провайдера, при подключении ваших апартаментов к сети интернет. Дальнейшие примеры будут производиться на примере настроек роутера Zyxel Keenetic. В целом, для других роутеров принцип действий не меняется, он на 90% аналогичен нашему алгоритму.

  • 1. Подключаемся к маршрутизатору. Берем сетевой кабель, и подключаем один конец в сетевой разъем компьютера, второй конец кабеля подключаем к роутеру в один из 4 LAN разъемов.

Маршрутизатор должен быть подключен к питанию. После этого мы открываем любой из доступных нам браузеров для того чтобы зайти в настройки, в адресной строке нам нужно вписать айпи адрес маршрутизатора 192.168.1.1 или 192.168.0.1, после этого мы переходим по нужному адресу нажав клавишу Enter. После проделанных действий нам отобразится окно с вводом данных для авторизации. В основном, подходят данные admin admin (логин и пароль). Вообще эти данные должны быть указаны снизу устройства или идти в документации, в комплекте, что реже.

  • 2. В панеле конфигураций, внизу есть иконка в виде земного шара. После её нажатия открываем закладку IPoE. На открывшейся странице выбираем ISP Broadband Connection.

  • 3. В настройках подключения к сети нужно “Настройка параметров айпи” перевести на ручной режим. После этого в области айпи адреса, Маска подсети, Основной шлюз и DNS1 вписать необходимые данные. По завершению нужно “применить” все действия при помощи нажатия соответствующей кнопки.

  • 4. В разделе меню “Домашняя сеть” нужно нажать на “Компьютеры”. В “Домашней сети” нам нужно перейти по вкладке IPMP Proxy, а там уже мы убираем лишнюю, для нас, галочку. Таким образом мы выключим эту функцию.

  • 5. Снизу панели “Система” будет расположен символ в виде шестеренки. Нажимаем по этому символу. После этого мы выбираем “Компоненты” или “Обновление”, после этого нам нужно поставить утилиту Proxy UDP HTTP, делая активным пункт, который нам необходим. Когда проведены все действия мы нажимаем кнопку “Обновить”.

  • 6. Снизу панели в меню нажимаем на пункт “Приложения”, а там уже на картинку с квадратами или же пункт “Домашняя сеть — Компьютеры”. В новом окне активируем “Включить сервер UPDXY”. Проставляем необходимые значения в “Номер порта, TimeOut, Интервал подписи”. В каналах связи выбираем Broadband Connection. В завершении применяем соответствующей кнопкой.

Прокси-сервер — это промежуточное звено между пользователем и веб-сайтом, которое позволяет улучшить безопасность и повысить скорость соединения. Keenetic — это маршрутизатор со множеством функций, включая возможность настройки и использования proxy-сервера.

Настройка proxy-сервера на Keenetic — это простой и эффективный способ обеспечить безопасность и конфиденциальность просмотра веб-страниц. С его помощью можно скрыть свой реальный IP-адрес, обеспечивая таким образом анонимность при использовании интернета.

Кроме того, proxy-сервер на Keenetic может улучшить скорость работы интернет-соединения. Благодаря кэшированию, он способен хранить локальные копии веб-страниц, что позволяет сократить время загрузки сайтов и экономить трафик. Это особенно полезно при работе с большим количеством одинаковых запросов или при использовании сайтов с медленной скоростью передачи данных.

Настроить proxy-сервер на Keenetic очень просто. Вам нужно всего лишь перейти в настройки маршрутизатора и выбрать соответствующий пункт меню. Далее вы сможете указать все необходимые параметры, такие как тип подключения (HTTP, HTTPS, SOCKS), порт и адрес сервера, а также логин и пароль, если они требуются. После сохранения настроек proxy-сервер будет готов к использованию. Вы сможете настроить его на отдельных устройствах или использовать на всей сети.

Использование proxy-сервера может значительно улучшить ваше взаимодействие с интернетом. Безопасность и анонимность просмотра веб-страниц, а также повышение скорости загрузки — всё это доступно с помощью proxy-сервера на Keenetic. Не упустите возможность получить все эти преимущества!

Содержание

  1. Обзор функций Proxy сервера на Keenetic
  2. Почему стоит использовать Proxy сервер на Keenetic
  3. Настройка Proxy сервера на Keenetic
  4. Выбор протокола для работы с Proxy сервером на Keenetic

Обзор функций Proxy сервера на Keenetic


Ниже перечислены основные функции и возможности, предоставляемые Proxy сервером на Keenetic:

  • Кэширование контента: Proxy сервер может кэшировать веб-страницы и другой контент, чтобы улучшить скорость загрузки и экономить трафик. Это особенно полезно при посещении часто используемых ресурсов.
  • Фильтрация контента: Proxy сервер позволяет вам настраивать правила для фильтрации контента, блокировки определенных сайтов или категорий сайтов. Это может быть полезно для родительского контроля или для повышения безопасности сети.
  • Контроль доступа: Proxy сервер позволяет ограничивать доступ к определенным ресурсам или сервисам с помощью правил. Вы можете настраивать доступ в зависимости от времени суток или уровня привилегий пользователей.
  • Отчетность и мониторинг: Proxy сервер предоставляет возможность просматривать журналы доступа и отчеты о использовании сетевого трафика. Это позволяет осуществлять мониторинг активности пользователей и выявлять потенциальные угрозы или нарушения безопасности.
  • SSL-прокси: Proxy сервер на Keenetic может работать как SSL-прокси, обеспечивая защищенную передачу данных между клиентом и сервером. Это может быть полезно при использовании банковских ресурсов или других сервисов, требующих безопасной связи.

Все эти функции и возможности делают Proxy сервер на Keenetic мощным инструментом для управления и защиты вашей домашней сети. Его настройка и использование позволит вам эффективно контролировать сетевой трафик и создать безопасное сетевое окружение для всех ваших устройств.

Почему стоит использовать Proxy сервер на Keenetic

Proxy сервер на Keenetic представляет собой полезный инструмент, который может принести множество преимуществ в вашей сети. Вот несколько причин, почему стоит использовать Proxy сервер:

  • Улучшенная безопасность: Proxy сервер может служить в качестве промежуточного узла между вашим устройством и интернетом, фильтруя и блокируя нежелательный трафик. Это помогает предотвратить атаки и защищает вашу личную информацию.
  • Контроль доступа: Использование Proxy сервера позволяет контролировать доступ к определенным веб-сайтам или приложениям. Вы можете ограничить доступ для определенных пользователей или групп пользователей, что может быть полезно в офисной или семейной сети.
  • Улучшенная производительность: Proxy сервер может кэшировать данные и ускорить доступ к популярным веб-сайтам. Это сэкономит время загрузки страниц и улучшит интернет-соединение.
  • Управление пропускной способностью: Proxy сервер позволяет управлять пропускной способностью интернет-соединения. Вы можете установить ограничения на скорость загрузки или скачивания для определенных пользователей или групп пользователей.
  • Фильтрация контента: Proxy сервер может помочь вам ограничить доступ к нежелательному или небезопасному контенту в интернете. Вы можете настроить фильтры, блокировать определенные категории веб-сайтов и защитить свою семью от вредного контента.
  • Экономия трафика: Использование Proxy сервера может помочь вам сэкономить трафик в интернете. Кэширование данных и блокировка нежелательного трафика может снизить количество передаваемых данных, что может быть особенно полезно, если у вас есть ограниченный интернет-трафик.

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

Настройка Proxy сервера на Keenetic

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

Для настройки Proxy сервера на Keenetic выполните следующие шаги:

  1. Войдите в веб-интерфейс маршрутизатора Keenetic, используя соответствующий IP-адрес и учетные данные.
  2. Перейдите в меню «Настройки» и выберите раздел «Прокси сервер».
  3. Активируйте прокси сервер, переключив соответствующую опцию в позицию «Вкл».
  4. Выберите тип прокси сервера: HTTP, HTTPS или SOCKS.
  5. Укажите порт, на котором будет работать прокси сервер.
  6. Опционально, вы можете настроить блокировку сайтов, прописав их адреса в поле «Заблокированные URL».
  7. Сохраните настройки.

После настройки Proxy сервера на Keenetic, вы можете использовать его в качестве промежуточного звена между вашим устройством и интернетом. Для этого настройте ваше устройство (компьютер, смартфон и т. д.) на использование прокси сервера, указав IP-адрес маршрутизатора Keenetic и порт, указанный в настройках прокси сервера.

Выбор протокола для работы с Proxy сервером на Keenetic

Keenetic поддерживает несколько протоколов для работы с Proxy сервером, и правильный выбор протокола может повлиять на производительность и безопасность вашей сети.

Один из самых распространенных протоколов — HTTP. Он поддерживает передачу данных между клиентом и сервером, используя запросы и ответы. HTTP протокол не шифрует данные, поэтому использование HTTPS протокола полезно в случаях, когда важно защитить передаваемую информацию от перехвата.

HTTPS — это криптографический протокол, который обеспечивает безопасность передачи данных через интернет. Он использует SSL/TLS сертификаты для шифрования информации и проверки подлинности серверов. Многие сайты и сервисы сегодня используют HTTPS протокол для обеспечения безопасности и конфиденциальности данных.

Другой протокол, который можно использовать на Keenetic, — SOCKS. SOCKS работает на уровне приложения и позволяет проксировать различные протоколы, включая TCP и UDP. Он особенно полезен для обхода ограничений и блокировок на уровне сети, так как может маршрутизировать трафик через удаленные серверы.

При выборе протокола для работы с Proxy сервером на Keenetic, важно учитывать конкретные требования и цели вашей сети. Например, если вы хотите обеспечить безопасность и конфиденциальность передачи данных, то лучше использовать HTTPS протокол. Если вам необходимо обойти блокировки и ограничения, то SOCKS может быть предпочтительным вариантом.

Имейте в виду, что настройка Proxy сервера на Keenetic может быть сложной задачей, поэтому рекомендуется обратиться к документации или пользоваться готовыми инструкциями. Также учтите, что неправильная настройка Proxy сервера может привести к нежелательным последствиям, таким как снижение скорости интернета или утечка информации.

Недавно я захотел выдать каждому девайсу с сервисом в моей сети по домену, как это сделать? Можно установить виртуалку с nginx и настроить reverse proxy там, но keenetic подумали о своих пользователях! Зачем ставить nginx за роутером, если на роутере уже есть nginx, подумали они (скорее всего).

Итак, как настроить reverse proxy на роутере keenetic, для начала нам нужно зайти по ssh или telnet в cli роутера (инструкция).

Создаем proxy item, вводим команду и меняем %name% на название приложения или домен 4-го уровня если используется keen-dns (пример для случая с keen-dns: допустим ваш домен pupkin.keenetic.link, тогда при создании записи с именем nas, мы получим адрес nas.pupkin.keenetic.link) или на поддомен для вашего домена. (В этом случае proxy item является поддоменом на уровень выше для адреса который будет указан командой domain static)


ip http proxy %name%

Настраиваем параметры авторизации (внутри будут использоваться логин и пароль пользователей роутера, с разрешенным использованием HTTP proxy)

Включаем basic http авторизацию:


auth

Выключаем basic http авторизацию


no auth

Следующий параметр тоже отвечает за авторизацию, но непосредственно в форме входа для управления роутером

Включаем авторизацию через интерфейс роутера


security-level private

Выключаем авторизацию через интерфейс роутера


security-level public

Задаем домен для приложения

Автоматически подтянуть домен 4-го уровня из keen-dns


domain ndns

Задай свой собственный домен (замените %domain% на свой домен)


domain static %domain%

Настраиваем proxy

Перенаправить http домен на %ip% и %порт%


upstream http %ip% %port%

Перенаправить https домен на %ip% и %порт%


upstream https %ip% %port%

Примеры:

Авторизуемся в cli роутера и вводим команды по очереди:

Пример настройки для проброса медиа сервера emby из внутренней сети через домен keendns (допустим ваше имя keendns — pupkin.keenetic.link) с предварительной авторизацией через учетную запись роутера по протоколу http на конечном сервере


ip http proxy emby
auth
security-level public
domain ndns
upstream http 192.168.1.100 80

На выходе получим рабочий сервис по адресу https://emby.pupkin.keenetic.link

Пример настройки для сайта www.somedomain.ru без авторизации учетной записью роутера по протоколу https на конечном сервере


ip http proxy www
no auth
security-level public
domain static somedomain.ru
upstream https 192.168.1.100 443

На выходе получим рабочий сайт по адресу https://www.somedomain.ru

Аналогичный пример для сайта somedomain.ru только без www


ip http proxy somedomain
no auth
security-level public
domain static ru
upstream https 192.168.1.100 443

На выходе получим рабочий сайт по адресу https://www.somedomain.ru

Другие наши интересноые статьи:

  • Настройка принтера через wifi роутер asus
  • Настройка роутер d link dap 1155
  • Настройка прокси на роутере zyxel keenetic
  • Настройка роутер tp link для видеонаблюдения
  • Настройка роутер asus интерактивное тв

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии