- Обратный прокси на KeeneticOS (NDMS)
- Примеры:
- Выборочный обход блокировок на маршрутизаторах Keenetic
- Как блокируют доступ к сайту
- Как настроить обход блокировок на маршрутизаторах Keenetic
- Как проверить, что маршрутизация через VPN работает
- Минусы и плюсы выборочного обхода блокировок
- P.S.
- Роутер как прокси сервер. Как настроить?
Обратный прокси на KeeneticOS (NDMS)
Недавно я захотел выдать каждому девайсу с сервисом в моей сети по домену, как это сделать? Можно установить виртуалку с 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)
Настраиваем параметры авторизации (внутри будут использоваться логин и пароль пользователей роутера, с разрешенным использованием HTTP proxy)
Включаем basic http авторизацию:
Выключаем basic http авторизацию
Следующий параметр тоже отвечает за авторизацию, но непосредственно в форме входа для управления роутером
Включаем авторизацию через интерфейс роутера
Выключаем авторизацию через интерфейс роутера
Задаем домен для приложения
Автоматически подтянуть домен 4-го уровня из keen-dns
Задай свой собственный домен (замените %domain% на свой домен)
Перенаправить http домен на %ip% и %порт%
Перенаправить https домен на %ip% и %порт%
Примеры:
Авторизуемся в 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
Выборочный обход блокировок на маршрутизаторах Keenetic
Суть обхода любой блокировки (при условии что сам сайт работает) это посетить его с помощью другого (через другой) компьютера (сервера, шлюза) у которого есть доступ к необходимому сайту. Реализация задуманного как правило сводится к организации защищенного туннеля между вашим компьютером и сервером у которого есть доступ к нужному ресурсу.
В этой статье я опишу процесс выборочного обхода блокировок доступа к сайтам на примере маршрутизатора Keenetic Giga (KN-1010).
Наглядно процесс обхода блокировки доступа к сайту выглядит следующим образом.
Как блокируют доступ к сайту
Блокировки могут быть двух типов и я разберу их на примере поговорки «пустить козла в огород»:
- Блокировка по источнику. То есть не пускать конкретно кого-то. Суть первой блокировки не пускать козла.
- Блокировка по цели. То есть не пускать конкретно куда-то. Суть второй блокировки не пускать в огород.
Первым вариантом пользуются владельцы сайтов. Как правило блокируют доступ с IP адресов подозреваемых в хакерских атаках.
Вторым способом пользуются контролирующие органы со стороны государства, когда хотят ограничить доступ к той или иной информации. В данном случае блокировка осуществляется не с определенных адресов, а к определенным адресам.
В обоих случаях блокировок случаются ошибки и поэтому вы можете потерять доступ к нормальному сайту. Я ранее описывал свой случай, когда вся подсеть моего провайдера была заблокирована на каком-то шлюзе безопасности и у меня пропал доступ к сайту популярного интернет магазина М.Видео.
Прошу не считать этот пост ни рекламой, ни антирекламой М.Видео. Эта статья совсем о другом.
Как настроить обход блокировок на маршрутизаторах Keenetic
Первым делом нужно обзавестись VPN сервером у которого есть доступ к забокированному ресурсу. Это может быть свой собственный сервер (виртуальный, выделенный), платный VPN или совершенно бесплатный WARP.
Далее нужно настроить VPN тоннель между вашим маршрутизатором и VPN сервером. Тип туннеля особой роли не играет. Тут стоит отталкиваться от возможностей VPN сервера и ваших знаний.
Если вы настраиваете свой собственный сервер на Debian, то это может быть тоннель PPTP или WireGuard. Главное не забыть пустить подключившихся по VPN пользователей в интернет — https://moonback.ru/page/debian-vpn-client-to-inernet.
Либо воспользуйтесь VPN Warp от CloudFlare, о котором я рассказывал совсем недавно — https://moonback.ru/page/keenetic-warp. В большинстве случаев он отлично справляется с предоставлением доступа к заблокированным сайтам, хотя и не предназначен для этого.
Следующий шаг — это настройка статической маршрутизации в вашем роутере. То есть нужно настроить таблицу маршрутизации так, чтобы запросы к необходимому ресурсу шли не через вашего провайдера, а через VPN сервер.
На этом этапе нам понадобиться узнать все IP адреса интересующего нас сайта. В Windows это можно сделать с помощью команды nslookup . Ниже пример для сайта yandex.ru:
Подробнее как узнать все IP адреса сайта можно в этой статье — https://moonback.ru/page/kak-uznat-ip-adres-sayta.
После того как вы узнали IP адрес(а) необходимого сайта нужно зайти в веб-панель управления маршрутизатором в раздел «Сетевые правила > Маршрутизация» и добавить статический маршрут:
После чего маршрут должен появиться в списке:
В моем примере все адреса и названия из предыдущей статьи про Warp на маршрутизаторе Keenetic.
- Warp — название подключения (тоннеля);
- Адрес шлюза — адрес вашего тоннеля из его настроек;
- Адрес узла назначения — в моем случае это IP адрес сайта M.Video;
- Описание — любое описание понятное вам;
- Тип маршрута — если нужен маршрут к одному IP адресу, то выбираем «Маршрут до узла».
Если у сайта несколько IP адресов, то необходимо настроить статические маршруты для каждого адреса.
Как проверить, что маршрутизация через VPN работает
В Windows можно воспользоваться командой tracert . Пример прохождения пакетов без использования VPN:
После того как вы подключите статическую маршрутизацию через VPN список промежуточных узлов будет другой, и на втором месте будет уже не оборудование вашего провайдера, а адрес устройства из VPN тоннеля:
Обратите внимание на значение ping у второго устройства после вашего роутера. Общее время ответа конечного сервера через VPN так же будет больше.
После правильной настройки заблокированный сайт должен спокойно открываться в окне вашего браузера.
Минусы и плюсы выборочного обхода блокировок
Минус предложенного метода в том, что все операции нужно делать вручную. Что несложно сделать для одного или пары сайтов, даже если у них несколько IP адресов. Но если вам необходимо получить доступ к десяткам сайтов, то приготовьтесь к большой кропотливой работе.
Если сайт сменит свой IP адрес, то все настройки нужно будет повторить уже для нового адреса. Если сайт часто меняет адреса, то процедура настройки маршрутизации превратится в кошмар.
Плюс описанного метода в том, что вы сами полностью контролируете процесс маршрутизации.
Для реализации описанного метода обхода блокировки на роутере не нужно устанавливать дополнительно ПО в виде OPKG и т.п., достаточно свежей стабильной прошивки.
P.S.
Стоит ли весь трафик пускать через VPN? Нет не стоит. Скорость передачи данных через VPN в большинстве случаев меньше, чем напрямую через провайдера.
Роутер как прокси сервер. Как настроить?
Что нам даст настройка прокси с помощью роутера?
На самом деле, весьма полезный функционал который многими недооценен. У этого функционала есть множество причин, почему его стоит настраивать. Базовые преимущества:
Появляется вариант прямого подключения к заблокированным веб-ресурсам, сразу несколькими девайсами(Комьютеры, телефоны и т.д.), настроенных на работу с маршрутизатором.
Отсутствует необходимость индивидуальной настройки каждого из используемых устройств, которые подключены к роутеру. Достаточно будет провести настройку один раз. После настройки прокси на роутере, все пользователи автоматически начнут использовать эти настройки. Благодаря этому администратор сильно сокращает траты во времени для достижения результата.
Поддержка активного прокси соединения. За счет того что прокси соединение постоянно поддерживается, подключение к нему будет совершаться автоматически при каждой попытке выхода в сеть. При этом содержимое всех ваших личных данных и переданных пакетов будет под должным уровнем защиты.
Прокси соединение со стороны роутера улучшает качество защиты ваших личных данных от попытки взлома и их кражи. Такое соединение намного эффективнее чем замудрённые пароли, которые могут поддаваться опытным взломщикам. Хотя сложный пароль — в любом случае обязательное условие.
Пошаговая инструкция по настройке прокси-сервера на вашем роутере:
Конечно же, самым первым и понятным пунктом станет покупка надежных прокси серверов. Без них любые действия по настройке будут бессмысленны, мягко говоря. Для работы с большинством сервисов подойдут прокси серверы протокола 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. В завершении применяем соответствующей кнопкой.