На чтение 3 мин Просмотров 755
Самостоятельная настройка прокси на роутере TP-Link требует специальных знаний в области программирования. Следуя пошаговой инструкции, базовая настройка занимает считаные минуты. Для выполнения работы понадобятся ПК с выходом интернет, маршрутизатор и рабочий сервер.
Содержание
- Зачем людям прокси на роутере
- Что необходимо для настройки proxy на своем роутере
- Keenetic с поддержкой USB
- Последняя версия KeeneticOS
- Flash-накопитель размером не менее 1 Гб
- Как правильно настроить работу Wi-Fi через proxy
- Настройка прокси-сервера на разных моделях роутеров
- Обзор
Зачем людям прокси на роутере
Proxy-сервер на роутере может быть полезным для следующих целей:
- Улучшения безопасности: защиты сети от внешних киберугроз, блокирования попыток несанкционированного доступа со стороны злоумышленников и шпионских программ.
- Повышения скорости. Благодаря кэшированию информации прокси-сервер ускоряет загрузку веб-страниц и другого контента, что может снизить количество повторных запросов на сервер.
- Управления трафиком. Происходит ручная установка правил и ограничений для приложений и сервисов. Исключаются нежелательные запросы, повышается стабильность соединения.
- Повышения анонимности. Proxy на маршрутизаторе может скрыть IP-адрес, способствовать сохранению конфиденциальности в сети.
Что необходимо для настройки proxy на своем роутере
Чтобы поставить прокси, потребуются современный роутер с прошивкой, подключение к интернету, внутренний IP-адрес компьютера. Перед настройкой прокси на роутере рекомендуется убедиться, что он работает с последней версией программного обеспечения. Для этого нужно зайти в «Личный кабинет» (стандартный логин и пароль: admin).
Keenetic с поддержкой USB
Первым делом необходимо приобрести маршрутизатор с USB-разъемом для подключения переносного устройства. Найти подходящее оборудование можно в ассортименте бренда-производителя Keenetic. Это гонконгская компания, специализирующаяся на разработке сетевого оборудования и точек доступа.
Последние модели роутеров идут вместе с USB-разъемом и поддерживают режим репитера.
Последняя версия KeeneticOS
Самой свежей версией прошивки для роутеров Keenetic на март 2023 г. является KeeneticOS 3.9.4.
Среди главных преимуществ ОС выделяют:
- Безопасность. Использование надежных стандартов шифрования WPA3, WPA3-Enterprise и OWE позволяет скрыть трафик и личную информацию пользователя от третьих лиц, противодействовать хакерским атакам.
- Режим ретранслятора — позволяет связывать несколько маршрутизаторов в единую локальную сеть, обеспечивая большее покрытие вай-фай.
Flash-накопитель размером не менее 1 Гб
Внешнее запоминающее устройство понадобится для установки файлов прокси-сервера на устройство. Для этого нужно заранее подготовить flash-карту с общим объемом памяти от 1 Гб. После этого загрузить установочные файлы на ПК и перекинуть их на флеш-накопитель. Подойдут USB-флешки версии 2.0 и 3.0.
Как правильно настроить работу Wi-Fi через proxy
Для настройки Wi-Fi требуется:
- Настроить proxy server на маршрутизаторе. Для этого зайти в веб-интерфейс устройства, перейти на страницу с настройками и ввести параметры (адрес и порт).
- Нажать кнопку «Применить» и перезагрузить Keenetic.
- Убедиться, что прокси-сервер установлен корректно. Проверить подключение к интернету на каждом устройстве (ПК, смартфон). Удостовериться, что настройки proxy правильные.
Если все было сделано правильно, то интернет будет работать на всех устройствах стабильно и без ограничения скорости.
Настройка прокси-сервера на разных моделях роутеров
Установка proxy server на всех моделях современных маршрутизаторов проходит одинаково. Для этого нужно зайти в веб-интерфейс роутера, введя IP-адрес в браузере, открыть раздел с настройками и ввести параметры порта и адреса. После сохранения изменений перезагрузить роутер.
Обзор
Что нам даст настройка прокси с помощью роутера?
На самом деле, весьма полезный функционал который многими недооценен. У этого функционала есть множество причин, почему его стоит настраивать. Базовые преимущества:
Появляется вариант прямого подключения к заблокированным веб-ресурсам, сразу несколькими девайсами(Комьютеры, телефоны и т.д.), настроенных на работу с маршрутизатором.
Отсутствует необходимость индивидуальной настройки каждого из используемых устройств, которые подключены к роутеру. Достаточно будет провести настройку один раз. После настройки прокси на роутере, все пользователи автоматически начнут использовать эти настройки. Благодаря этому администратор сильно сокращает траты во времени для достижения результата.
Поддержка активного прокси соединения. За счет того что прокси соединение постоянно поддерживается, подключение к нему будет совершаться автоматически при каждой попытке выхода в сеть. При этом содержимое всех ваших личных данных и переданных пакетов будет под должным уровнем защиты.
Прокси соединение со стороны роутера улучшает качество защиты ваших личных данных от попытки взлома и их кражи. Такое соединение намного эффективнее чем замудрённые пароли, которые могут поддаваться опытным взломщикам. Хотя сложный пароль — в любом случае обязательное условие.
Пошаговая инструкция по настройке прокси-сервера на вашем роутере:
Конечно же, самым первым и понятным пунктом станет покупка надежных прокси серверов. Без них любые действия по настройке будут бессмысленны, мягко говоря. Для работы с большинством сервисов подойдут прокси серверы протокола 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. В завершении применяем соответствующей кнопкой.
Время на прочтение
6 мин
Количество просмотров 9.2K
Если раздать Wi-Fi через VPN задача простая и решаемая, вот даже статья «WiFi-портал в Россию» недавно вышла, то с прокси дело обстоит чуть сложнее, нужно немного костылей и напильников, а так же замечательное ПО под названием tun2socks.
Но, в отличие от VPN, прокси дешевле, и если нужно тестировать мобильные устройства с разных геолокаций — то прокси будет неплохим выходом. Конечно, существуют готовые решения, такие как Double SSH Tunnel Manager и Raspberry с прошивкой «Linux Mars», но мы, как водится, пойдём своим путём, да и готовые решения выше предназначены для другого.
Disclaimer. Статья пишется больше для себя, как заметки на полях, поэтому подробного мануала тут не будет. Тем не менее, материал может быть полезен и неограниченному кругу лиц, кто захочет реализовать самостоятельно. Понадобятся небольшие знания по сетям и линуксам.
Немного за технологию
Для работы с прокси будем использовать такую славную вещь, как tun2socks. На хабре уже была статья про это ПО (настоятельно рекомендую к ознакомлению), где рассказывается как настроить шлюз через прокси на Linux или Windows машине. Я же расскажу чуть подробнее, как настроить такой шлюз на роутере.
Итак, нам понадобится:
-
Роутер на OpenWrt или роутер, который можно прошить в OpenWrt (я тестировал на незабвенном Tp-Link TL-MR3020 и на не менее незабвенном MikroTik hAP ac²). Помимо работы OpenWrt от роутера понадобится 128 и более мегабайт оперативной памяти и столько же места на внутреннем накопителе — или же возможность установить внешний.
-
Под внешний накопитель вполне подойдёт обычная usb-флешка или sd-карточка минимального размера. Я экспериментировал с древней флешкой на 4гб. Для ценителей — usb-модем с sd-карточкой:)
-
Прокси-провайдер (предпочтительнее socks5 c поддержкой udp)
-
Немного свободного времени
Прошивка роутера
Берём нашу модель и идём на сайт OpenWrt, дальше смотрим-курим поддержку и мануалы по установке. Например, для hAP ac² применимы стандартные методы прошивки для микротиков — https://openwrt.org/toh/mikrotik/common
Подробно расписывать я не буду, но небольшая памятка-TL;DR для микротиков — копируем лицензионный ключ к себе (на всякий случай) выставляем приоритет загрузки на сеть, по BOOTP при помощи например tftp32 грузим sysupgrade.bin, затем при помощи вебморды или ssh+scp прошиваем уже ось initramfs.bin. Если понадобилось вернуть RouterOS, то можно это сделать через netinstall, или через утилиту командной строки rbcfg.
Считаем что роутер у нас перепрошит в OpenWrt. Для роутеров с небольшой внутренней памятью (16мб в hAP ac²!) понадобится перенос системы на внешнюю флешку. Инструкцией в сети полно, поэтому опять же кратенько:
-
форматируем флешку — можно сделать сразу два раздела, под систему и swap. Под винду я использовал Minitool Partition Wizard. Выбор файловой системы — по вкусу, я вот взял ext4. По размерам — хватит минимального, я подкинул на swap 256мб, под систему — 1Гб
-
ставим в OpenWrt нужные пакеты (роутер надо будет выпустить в инет):
opkg update
opkg install block-mount kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-storage kmod-fs-ext4
-
Ротуер в ребут, через dmseg можно проверить, что флешка нашлась. Формируем fstab, можно через block-detect (block detect >> /etc/config/fstab), приводим fstab примерно к такому виду (честно стянуто с инета):
config 'global'
option anon_swap '0'
option anon_mount '1'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'
option from_fstab '1'
config 'swap'
option uuid 'b91e3bff-9e15-4fd0-82e7-25d75d889ce6'
option enabled '1'
config 'mount'
option target '/overlay'
option uuid '7ee9d192-239f-4401-b749-3fb60b4f8eaa'
option fstype 'ext4'
option options 'rw,sync'
option enabled '1'
-
переносим систему (конечно, на самом деле оверлей) на флешку:
mkdir /mnt/sda2
mount /dev/sda2 /mnt/sda2
tar -C /overlay -cf - . | tar -C /mnt/sda2 -xf -
umount /mnt/sda2
rm -rf /mnt/sda2
-
ребутаемся, убеждаемся через df -h что место есть и всё в порядке.
Теперь у нас есть роутер, на OpenWrt и с достаточным свободным местом. Едем дальше.
Магия tun2socks
Берём tun2socks под нужную нам платформу из гитхаба разработчика — https://github.com/xjasonlyu/tun2socks/releases. Например, для нашего hAP ac² нужна будет arm-архитектура. Я закинул бинарник сюда — /usr/bin/tun2socks
Ставим необходимые пакеты:
opkg update
opkg install ip-full kmod-tun
Создаём таблицу маршрутизации (в неё будем пихать весь трафик, который хотим завернуть в прокси):
echo -e '\n300 tun2socks\n' >> /etc/iproute2/rt_tables
Формируем файл для init.d, чтобы tun2socks работал как сервис. У меня он вышел примерно такой (/etc/init.d/tun2socks):
#!/bin/sh /etc/rc.common
START=90
USE_PROCD=1
#PROCD_DEBUG=1
#имя туннельного интерфейса
tun_name='t2s0'
#адрес туннельного интерфейса
tun_ip='10.254.1.1'
#самое главное - адрес прокси
proxy='socks5://192.168.88.201:123456'
loglevel='warn'
#запускаем tun2socks
tun2socks(){
procd_open_instance
procd_set_param command /usr/bin/tun2socks -device tun://$tun_name -proxy $proxy -loglevel $loglevel
procd_close_instance
}
#правила iptables при старте
rulesup(){
iptables -t mangle -N tun2socks
#отправляем всё, что с бриджа в прокси
iptables -t mangle -I PREROUTING -i br-lan -j MARK --set-mark 3
#отправляем https трафик в прокси
iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK --set-mark 3
#запускаем туннельный интерфейс
ip tuntap add dev $tun_name mode tun
ip addr add ${tun_ip}/24 dev $tun_name
ip link set dev $tun_name up
#формируем таблицу маршрутизации
ip route add default dev $tun_name table 300
ip rule add fwmark 3 lookup 300
#iptables -A forwarding_lan_rule -o $tun_name -j ACCEPT
}
#подчищаем правила, когда стопим сервис
rulesdown(){
ip rule del fwmark 3 lookup 300
iptables -t mangle -D PREROUTING -i br-lan -j MARK --set-mark 3
iptables -t mangle -D OUTPUT -p tcp --dport 443 -j MARK --set-mark 3
ip tuntap del dev $tun_name mode tun
}
start_service() {
rulesup
tun2socks
}
service_stopped() {
rulesdown
}
Теперь можно включить и запустить сервис, и наслаждаться вайфаем через прокси (настройку собственно вайфая на OpenWrt тоже пожалуй оставим за кадром):
/etc/init.d/tun2socks enable
/etc/init.d/tun2socks start
Из нюансов — для Tp-Link мне пришлось брать не самый свежий релиз tun2socks, свежий выпадал в ошибку. Зато если на роутере есть кнопка или переключатель — можно повесить на неё старт-стоп сервиса:) Для Tp-Link TL-MR3020 это может выглядеть, как скрипт /etc/hotplug.d/button/00-button :
#!/bin/sh
if [ $ACTION == "released" ] ; then
if [ $BUTTON == "BTN_1" ] ; then
/etc/init.d/tun2socks stop
#logger "Slider 3G"
elif [ $BUTTON == "BTN_0" ] ; then
/etc/init.d/tun2socks start
#logger "Slider WISP"
fi
elif [ $BUTTON == "BTN_0" ] || [ $BUTTON == "BTN_1" ] ; then
if grep -qe "sw1.*in hi" /sys/kernel/debug/gpio ; then
if grep -qe "sw2.*in hi" /sys/kernel/debug/gpio ; then
#logger "Slider AP"
fi
fi
fi
В принципе всё, за некоторым исключением, про которое поговорим отдельно.
Утечка DNS
Внимательный читатель заметит, что я зачем-то кидаю https-трафик от роутера в прокси тоже. Делается это по причине, чтоб не «подтекал» DNS, что обнаруживается всякими прокси-детекторами. Конечно, DNS работает по UDP:53.. А вот DoH (DNS over HTTPS) нет.
Поэтому не забудем включить поддержку DoH на нашем роутере, поставив соответствующий пакет:
opkg update
opkg install https-dns-proxy
В стандартных настройках используются DNS-серверы от Google и Cloudflare. Вы можете настроить на любой другой сервер, и, выбрав определённые IP серверов, маркировать трафик до них для отправки в прокси. Я же для простоты промаркировал весь https
Не хочу прошивать Микротик, он классный
С появлением RouterOS 7 и доработки функционала контейнеров в ней, можно и не сносить прекрасный RouterOS, а запихать tun2socks в контейнер. Оно работает, но с оговорками (поскольку создаётся tap-интерфейс, в процессе дебага может понадобится поребутать роутер). Контейнер можно приготовить на основе образа от разработчика — https://hub.docker.com/r/xjasonlyu/tun2socks , изменив в нём работу с таблицами маршрутизации и iptables по вкусу, и потом силами микротика и его nat (или route rule) отправлять нужный трафик в контейнер. Подробностей не будет, поскольку вариант хоть и занятный, но не каждый MikroTik умеет в контейнеры, да и задачу реализовывал ещё до поддержки контейнеров в ROS7, поэтому дальше так сказать MVP реализовывать не стал.
Но если кому захочется — документация о работе с контейнерами — https://help.mikrotik.com/docs/display/ROS/Container, в общем случае понадобится одна переменная среды — PROXY. Из коробки работать не будет, нужно адаптировать образ, ну и конечно понадобится флешка под хранилище — куда без неё:)
Статья вышла немного сумбурной, но надеюсь может быть полезной кому-то, кроме меня. Удачного проксирования!