Прокси на MikroTik: пошаговая настройка RouterOS, mangle и policy-based routing для начинающих
Содержание статьи
- Введение: что вы получите в результате
- Предварительная подготовка
- Базовые понятия: прокси, mangle и маршрутизация простым языком
- Шаг 1: резервная копия и подготовка routeros
- Шаг 2: определяем, чей трафик пойдет через прокси
- Шаг 3: настраиваем web proxy и родительский мобильный прокси
- Шаг 4: направляем трафик клиентов в прокси
- Шаг 5: mangle - маркируем трафик для policy-based routing
- Шаг 6: таблицы маршрутизации и маршруты для помеченного трафика
- Шаг 7: защищаем настройку файрволом и закрываем утечки
- Проверка результата: чек-лист и тесты
- Типичные ошибки и решения
- Дополнительные возможности для продвинутых
- Faq: частые вопросы по настройке
- Заключение
Введение: что вы получите в результате
Эта статья - практический пошаговый гайд по настройке прокси на MikroTik. Мы будем работать только с RouterOS, штатной операционной системой роутеров MikroTik. Про Keenetic, OpenWrt и другие платформы в блоге есть отдельные материалы, здесь мы их не касаемся.
К концу инструкции у вас будет рабочая схема, в которой роутер сам решает, какие устройства в офисе или дома выходят в интернет напрямую, а какие - через мобильный прокси. Вы настроите встроенный Web Proxy в RouterOS с родительским прокси, научитесь маркировать трафик в разделе mangle и строить policy-based routing, то есть маршрутизацию по правилам, а не только по адресу назначения.
Конкретно вы получите:
- список устройств, трафик которых уходит через прокси, а остальные работают как раньше;
- настроенный Web Proxy на MikroTik, который передает запросы клиентов на внешний мобильный прокси;
- правила mangle, которые метят нужные соединения и маршруты;
- отдельную таблицу маршрутизации для помеченного трафика, чтобы направлять его через нужный интерфейс, например через второй WAN или LTE-модем;
- защиту схемы файрволом, чтобы никто снаружи не воспользовался вашим прокси;
- набор проверок и разбор типичных ошибок.
Для кого этот гайд
Гайд написан для маркетологов, арбитражников, разработчиков и владельцев небольших команд, которые работают с мобильными прокси и хотят вынести часть настройки с каждого компьютера на уровень роутера. Если у вас пять или пятнадцать рабочих мест с антидетект-браузерами, парсерами и рекламными кабинетами, удобнее один раз настроить прокси на MikroTik, чем каждый раз вручную прописывать параметры на новом ноутбуке.
Уровень - для начинающих. Мы не предполагаем, что вы раньше настраивали RouterOS. Каждый шаг показан и через графический интерфейс WinBox, и в виде команды для терминала. В конце есть отдельный блок для продвинутых: контейнеры, автоматическая выдача настроек прокси клиентам, скрипты переключения.
Что нужно знать заранее
Достаточно базовых вещей: что такое IP-адрес, порт, локальная сеть и шлюз. Вы должны уметь зайти в веб-интерфейс роутера или подключиться к нему программой WinBox. Все остальное объясним по ходу.
Сколько времени потребуется
Чистая настройка занимает около 40-60 минут. С учетом чтения, резервных копий, обновления прошивки и тестов закладывайте 1,5-2 часа. Если у вас два интернет-канала и вы будете настраивать policy-based routing между ними, добавьте еще 30 минут на проверки.
Предварительная подготовка
Прежде чем менять что-либо на роутере, соберем все необходимое. Это сэкономит время и убережет от ситуации, когда посреди настройки выясняется, что нет нужного доступа.
Необходимые инструменты и доступы
- Роутер MikroTik с RouterOS версии 7.x. Подойдут популярные модели hAP ac2, hAP ac3, hAP ax2, hAP ax3, RB4011, RB5009, а также любые CCR. Модели с портом USB или встроенным LTE-модулем дадут дополнительные возможности, но не обязательны.
- Программа WinBox актуальной версии (в 2026 году это WinBox 4, есть сборки для Windows, macOS и Linux). Альтернатива - веб-интерфейс WebFig по адресу роутера в браузере, там те же меню.
- Доступ администратора к роутеру: логин и пароль пользователя с полными правами.
- Данные мобильного прокси: адрес сервера (IP или доменное имя), порт HTTP-прокси, а также способ авторизации. Для схемы с Web Proxy на MikroTik нужна авторизация по IP-адресу, потому что встроенный прокси RouterOS не умеет передавать логин и пароль родительскому прокси. Практически все провайдеры мобильных прокси позволяют включить авторизацию по IP в личном кабинете.
- Внешний IP-адрес вашего роутера. Его нужно добавить в белый список у провайдера прокси. Как его узнать, покажем в первом шаге.
- Компьютер в локальной сети, на котором вы будете тестировать результат.
Системные требования
Схема с Web Proxy и mangle работает на любом устройстве с RouterOS 7. Оперативной памяти в 128 МБ достаточно для десятка активных клиентов, если отключить кэширование. Для продвинутого раздела с контейнерами понадобится модель с архитектурой ARM, ARM64 или x86 и минимум 256 МБ памяти, а лучше 1 ГБ и внешний накопитель.
Проверьте версию RouterOS: в WinBox откройте меню System, затем Resources. В поле Version должно быть 7.x. Если у вас 6.x, часть команд по маршрутизации будет отличаться, и лучше сначала обновиться.
Что нужно подготовить заранее
- Установите WinBox и убедитесь, что он видит роутер во вкладке Neighbors.
- Зайдите в личный кабинет провайдера мобильных прокси и найдите раздел с параметрами подключения. Выпишите адрес, порт HTTP и включите режим авторизации по IP.
- Составьте список устройств, которые должны работать через прокси. Запишите их имена и MAC-адреса или текущие IP.
- Решите, будет ли у вас второй интернет-канал. Если в роутере есть LTE-модуль или подключен USB-модем с SIM-картой, запишите имя интерфейса, обычно это lte1.
Резервная копия
Резервную копию делаем обязательно. Это первый практический шаг инструкции, и мы разберем его подробно. Пока просто запомните правило: никаких изменений в файрволе и маршрутизации без свежего бэкапа. Ошибка в правиле NAT или маршруте может лишить вас доступа к роутеру, и тогда придется сбрасывать его до заводских настроек.
Базовые понятия: прокси, mangle и маршрутизация простым языком
Тема кажется сложной из-за терминов. Разберем их без лишней теории, только то, что понадобится в шагах.
Прокси и мобильный прокси
Прокси-сервер - это посредник. Ваш браузер отправляет запрос не напрямую на сайт, а прокси-серверу, а тот идет на сайт от своего имени и возвращает ответ. Сайт видит адрес прокси, а не ваш. Мобильный прокси - это прокси, который выходит в интернет через сеть сотового оператора, поэтому сайты видят обычный адрес мобильного абонента. Такие адреса используются для работы с рекламными кабинетами, мультиаккаунтингом и парсингом, где важна репутация IP.
Роутер и прокси - разные вещи
Важно понимать: роутер не может сам по себе завернуть весь трафик в HTTP- или SOCKS-прокси. Маршрутизатор работает на уровне IP-пакетов, а прокси - на уровне приложений. Пакеты можно направить через тот или иной интерфейс, но чтобы приложение говорило через прокси, кто-то должен установить соединение с прокси-сервером по его протоколу. В RouterOS для этого есть встроенный Web Proxy - полноценный HTTP-прокси внутри роутера, который умеет пересылать запросы на вышестоящий, так называемый родительский прокси (parent proxy). Именно он станет мостом между вашей локальной сетью и мобильным прокси.
Address list
Address list в RouterOS - это именованный список IP-адресов или подсетей. Вместо того чтобы писать пять правил для пяти компьютеров, вы кладете их адреса в список proxy-clients и ссылаетесь на него в одном правиле. Добавили шестой компьютер в список - правило заработало и для него.
Firewall: filter, NAT и mangle
Файрвол RouterOS состоит из нескольких таблиц. Filter решает, пропустить пакет или отбросить. NAT подменяет адреса и порты, например заворачивает соединение с порта 80 на локальный порт прокси 8080. Mangle ничего не блокирует и не подменяет, он ставит на пакет или соединение метку. Метка живет только внутри роутера и позже используется другими подсистемами, в первую очередь маршрутизацией.
В mangle есть две метки, которые нас интересуют. Connection mark ставится на все соединение целиком: пометили первый пакет, и все последующие пакеты этого соединения автоматически считаются помеченными. Routing mark говорит маршрутизатору: для этого пакета используй не основную таблицу маршрутов, а вот эту.
Таблицы маршрутизации и policy-based routing
Обычный роутер решает, куда отправить пакет, глядя только на адрес назначения. Это таблица main. Policy-based routing (PBR, маршрутизация по политикам) добавляет второй критерий: откуда пакет, какого он типа, с какой меткой. Например: пакеты от компьютеров из списка proxy-clients отправлять через LTE-модем, а все остальное - через проводного провайдера. В RouterOS 7 для этого создается отдельная routing table, в нее добавляется свой маршрут по умолчанию, а mangle ставит на нужный трафик routing mark с именем этой таблицы.
Цепочки prerouting, output и forward
Правила файрвола привязаны к цепочкам. Prerouting обрабатывает пакеты, которые только пришли в роутер, до принятия решения о маршруте. Здесь удобно метить трафик от клиентов локальной сети. Output - пакеты, которые роутер генерирует сам, например обращения его Web Proxy к родительскому мобильному прокси. Forward - транзитные пакеты из локальной сети в интернет. Понимание этой разницы избавит вас от половины ошибок при настройке прокси на MikroTik.
Как это соберется вместе
Схема, которую мы построим, выглядит так. Компьютеры из списка proxy-clients обращаются к Web Proxy на роутере, порт 8080. Web Proxy пересылает запросы на мобильный прокси провайдера, который авторизует роутер по его внешнему IP. Обращения роутера к мобильному прокси помечаются в mangle и отправляются через нужный WAN-интерфейс. Остальные устройства работают как обычно и ничего не замечают.
Шаг 1: Резервная копия и подготовка RouterOS
Цель этапа: получить сохраненную копию текущей конфигурации, актуальную версию RouterOS и узнать внешний IP роутера для белого списка провайдера прокси.
Создаем резервную копию
- Откройте WinBox. В списке Neighbors выберите ваш роутер, введите логин и пароль, нажмите Connect.
- В левом меню нажмите Files. Откроется окно со списком файлов на роутере.
- Нажмите кнопку Backup в верхней части окна. В появившемся диалоге в поле Name введите понятное имя, например before-proxy. В поле Password можно задать пароль на архив, а можно оставить пустым. Снимите галочку Don't Encrypt, если хотите шифрование, или оставьте - для домашнего использования это не критично.
- Нажмите Backup. В списке появится файл before-proxy.backup.
- Перетащите этот файл мышью из окна Files на рабочий стол компьютера. Файл скачается на ваш ПК. Копия на самом роутере не спасет, если роутер придется сбрасывать, поэтому храните ее у себя.
- Дополнительно сделайте текстовый экспорт. Откройте New Terminal в левом меню и введите команду:
/export file=before-proxyВ Files появится файл before-proxy.rsc. Это обычный текст со всеми командами вашей конфигурации. Его удобно открывать в блокноте и сравнивать, что изменилось. Скачайте его тоже.
Обновляем RouterOS
- В левом меню откройте System, затем Packages.
- Нажмите Check For Updates. В поле Channel выберите stable.
- Если доступна новая версия, нажмите Download&Install. Роутер скачает пакет и перезагрузится. Это займет 2-5 минут, соединение с WinBox прервется - это нормально.
- После перезагрузки подключитесь снова, откройте System, затем RouterBOARD, и нажмите Upgrade, чтобы обновить загрузчик. Затем перезагрузите роутер через System, Reboot.
Внимание: не обновляйте роутер удаленно, если у вас нет физического доступа к нему или запасного канала управления. При неудачном обновлении вы можете потерять связь с устройством.
Узнаем внешний IP роутера
- Откройте New Terminal.
- Введите команду:
/tool fetch url=https://ifconfig.me/ip mode=https output=userВ ответе строкой data будет ваш внешний IPv4-адрес. Альтернатива - открыть IP, затем Cloud и включить DDNS Enabled: в поле Public Address отобразится текущий адрес. Запишите его.
- Зайдите в личный кабинет провайдера мобильных прокси, найдите настройки авторизации выбранного прокси и добавьте этот адрес в белый список. Обычно изменения применяются в течение минуты.
Совет: если у вашего провайдера интернета динамический внешний IP, уточните у поставщика прокси, есть ли возможность авторизации по нескольким адресам или через привязку к DDNS-имени. Иначе после смены IP схема перестанет работать, и придется обновлять белый список.
Проверка: на компьютере лежат файлы before-proxy.backup и before-proxy.rsc, в System, Resources указана актуальная версия RouterOS 7, в личном кабинете провайдера прокси добавлен внешний IP роутера.
Возможные проблемы
- Команда fetch возвращает ошибку. Проверьте, что роутер имеет доступ в интернет и настроен DNS: IP, DNS, поле Servers не пустое, стоит галочка Allow Remote Requests.
- WinBox не видит роутер. Подключитесь напрямую кабелем к порту ether2 и попробуйте вкладку Neighbors еще раз, либо введите адрес роутера вручную, по умолчанию 192.168.88.1.
Шаг 2: Определяем, чей трафик пойдет через прокси
Цель этапа: создать список адресов proxy-clients и закрепить за нужными устройствами постоянные IP, чтобы правила не сломались после переподключения.
Закрепляем IP-адреса за устройствами
По умолчанию DHCP-сервер роутера может выдать компьютеру завтра другой адрес. Чтобы правила работали стабильно, привяжем адреса к MAC.
- Откройте IP, затем DHCP Server, вкладку Leases. Вы увидите список текущих аренд: IP-адрес, MAC-адрес, имя хоста.
- Найдите нужный компьютер по имени хоста или MAC. Дважды щелкните строку.
- В открывшемся окне нажмите кнопку Make Static. Статус аренды сменится с D (dynamic) на пустой, адрес закрепится.
- При желании измените поле Address на более запоминающийся, например 192.168.88.101, и нажмите OK. Устройство получит новый адрес после переподключения к сети.
- Повторите для всех устройств, которые должны работать через прокси.
Команда для терминала, если вы знаете MAC заранее:
/ip dhcp-server lease add address=192.168.88.101 mac-address=AA:BB:CC:DD:EE:01 server=defconf comment="PC-marketing-1"Имя сервера defconf - это имя DHCP-сервера по умолчанию, посмотрите его во вкладке DHCP того же окна.
Создаем address list
- Откройте IP, Firewall, вкладку Address Lists.
- Нажмите синий плюс.
- В поле Name введите proxy-clients. В поле Address введите 192.168.88.101. Нажмите OK.
- Повторите для каждого адреса, каждый раз выбирая то же имя proxy-clients из выпадающего списка.
В терминале:
/ip firewall address-list add list=proxy-clients address=192.168.88.101 comment="PC-marketing-1"
/ip firewall address-list add list=proxy-clients address=192.168.88.102 comment="PC-marketing-2"Если через прокси должна работать целая подсеть, добавьте ее одной записью, например 192.168.88.128/25.
Совет: заведите сразу второй список с именем direct-clients для устройств, которые ни при каких условиях не должны идти через прокси: сервер видеонаблюдения, принтер, умный дом. Даже если список пока не используется, он пригодится при отладке и расширении схемы.
Проверка: во вкладке Address Lists есть записи с именем proxy-clients, в DHCP Leases у этих устройств нет флага D. Выполните на компьютере команду ipconfig в Windows или ip addr в Linux и убедитесь, что адрес совпадает с закрепленным.
Возможные проблемы
- После Make Static компьютер сохранил старый адрес. Отключите и снова подключите сетевой кабель или Wi-Fi, либо выполните ipconfig /release и ipconfig /renew.
- Устройства нет в Leases. Значит, у него статический адрес, прописанный вручную. Просто добавьте этот адрес в address list.
Шаг 3: Настраиваем Web Proxy и родительский мобильный прокси
Цель этапа: включить встроенный HTTP-прокси RouterOS, указать ему мобильный прокси как родительский и ограничить доступ только локальной сетью.
Включаем Web Proxy
- Откройте IP, затем Web Proxy. Появится окно Web Proxy Settings.
- Поставьте галочку Enabled.
- В поле Src. Address оставьте 0.0.0.0 или укажите адрес роутера в локальной сети, например 192.168.88.1. Второй вариант надежнее: прокси будет слушать только на локальном интерфейсе.
- В поле Port укажите 8080. Это порт, на который будут обращаться клиенты.
- В поле Parent Proxy введите IP-адрес мобильного прокси из личного кабинета провайдера. Если провайдер выдал доменное имя, сначала узнайте его IP через терминал командой :put [:resolve имя], и введите полученный адрес. Поле принимает только IP.
- В поле Parent Proxy Port введите порт HTTP-прокси, например 8000 или тот, что указан в кабинете.
- Поле Cache Administrator можно заполнить своим email или оставить как есть.
- Снимите галочку Cache On Disk. Кэш нам не нужен, он только тратит ресурсы и может отдавать устаревшие страницы.
- В поле Max. Cache Size выберите none. В поле Max. Cache Object Size тоже можно оставить по умолчанию, при отключенном кэше он не работает.
- Поставьте галочку Anonymous. Тогда прокси не будет добавлять заголовки Via и X-Forwarded-For с адресами вашей локальной сети. Для работы с рекламными кабинетами это важно.
- Нажмите Apply, затем OK.
В терминале все это делается одной командой:
/ip proxy set enabled=yes src-address=192.168.88.1 port=8080 parent-proxy=203.0.113.10 parent-proxy-port=8000 cache-on-disk=no max-cache-size=none anonymous=yesЗамените 203.0.113.10 и 8000 на реальные данные вашего мобильного прокси.
Ограничиваем доступ к прокси
Открытый прокси - подарок для злоумышленников: через него быстро начнут гонять чужой трафик, и ваш мобильный прокси сожжет лимиты за часы. Поэтому сразу настраиваем список доступа.
- В окне Web Proxy Settings нажмите кнопку Access. Откроется список правил Web Proxy Access.
- Нажмите плюс. В поле Src. Address введите 192.168.88.0/24 - это ваша локальная подсеть. Проверьте ее в IP, Addresses. В поле Action выберите allow. Нажмите OK.
- Нажмите плюс еще раз. Оставьте все поля пустыми, в Action выберите deny. Нажмите OK. Это правило запретит все, что не разрешено выше.
- Убедитесь, что правило allow стоит выше правила deny. Порядок можно менять перетаскиванием.
В терминале:
/ip proxy access add src-address=192.168.88.0/24 action=allow comment="LAN allow"
/ip proxy access add action=deny comment="deny all others"Если хотите разрешить прокси только устройствам из списка proxy-clients, а не всей подсети, добавьте вместо первого правила отдельные строки для каждого адреса: поле Src. Address в Web Proxy Access не поддерживает address list напрямую. Более гибкое ограничение мы сделаем файрволом в шаге 7.
Внимание: ни в коем случае не оставляйте Web Proxy без правил доступа и без блокировки порта 8080 со стороны WAN. Открытый прокси на MikroTik находят сканеры в течение суток.
Первая проверка из терминала
Проверить связку с родительским прокси можно, не трогая компьютеры. В терминале роутера введите:
/tool fetch url=http://ifconfig.me/ip http-method=get output=userЭта команда идет напрямую и покажет обычный внешний IP. Теперь откройте на компьютере из списка proxy-clients браузер, пропишите прокси 192.168.88.1 порт 8080 в настройках сети (в Windows: Параметры, Сеть и Интернет, Прокси-сервер, Использовать прокси-сервер вручную) и зайдите на любой сайт проверки IP. Вы должны увидеть адрес мобильного оператора, а не своего провайдера.
Проверка: в IP, Web Proxy кнопка Status показывает Running, счетчик соединений растет при открытии сайтов с клиента, а сайт проверки IP показывает адрес мобильного прокси.
Возможные проблемы
- Сайт не открывается, браузер пишет об ошибке прокси. Откройте Log в левом меню: строки с темой web-proxy подскажут, что происходит. Ошибка connection refused или timeout к родительскому прокси означает, что IP роутера не добавлен в белый список или неверный порт.
- Открывается, но IP остался старым. Скорее всего, поле Parent Proxy пустое или галочка Enabled не сохранилась. Откройте настройки повторно.
- HTTPS-сайты не открываются, HTTP работает. Проверьте, что в настройках браузера прокси прописан и для HTTPS, а не только для HTTP. Web Proxy RouterOS обрабатывает метод CONNECT и передает его родительскому прокси.
Шаг 4: Направляем трафик клиентов в прокси
Цель этапа: сделать так, чтобы клиенты из списка proxy-clients попадали на Web Proxy, а остальные - нет. Разберем два подхода: прозрачное перенаправление через NAT и явную настройку клиентов.
Подход А: прозрачное перенаправление HTTP через dst-nat
Прозрачный режим означает, что клиент ничего не настраивает: роутер сам перехватывает соединения на порт 80 и заворачивает их в свой прокси. У этого способа есть принципиальное ограничение: он работает только с незашифрованным HTTP. HTTPS-трафик, а это сегодня почти весь интернет, прозрачно завернуть через Web Proxy нельзя, потому что роутер не может расшифровать соединение и понять, куда его отправлять. Поэтому подход А используем как вспомогательный, а основным будет подход Б.
- Откройте IP, Firewall, вкладку NAT. Нажмите плюс.
- На вкладке General: Chain - dstnat, Protocol - 6 (tcp), Dst. Port - 80.
- На вкладке Advanced: Src. Address List - proxy-clients. Это ключевое условие: правило сработает только для устройств из списка.
- На вкладке Action: Action - redirect, To Ports - 8080.
- На вкладке General в поле Comment напишите Redirect HTTP to proxy. Нажмите OK.
- Перетащите правило вверх, выше правила masquerade, если оно оказалось ниже. Правила NAT выполняются сверху вниз, и порядок имеет значение.
В терминале:
/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 src-address-list=proxy-clients action=redirect to-ports=8080 comment="Redirect HTTP to proxy" place-before=0Параметр place-before=0 ставит правило первым в списке.
Подход Б: явная настройка прокси на клиентах
Это основной рабочий вариант для HTTPS. Клиент знает, что прокси есть, и сам отправляет ему запросы, включая CONNECT для зашифрованных сайтов. Плюс в том, что каждый браузер или антидетект-профиль можно настраивать отдельно.
- На компьютере с Windows откройте Параметры, Сеть и Интернет, Прокси-сервер. В разделе Настройка прокси вручную включите переключатель Использовать прокси-сервер.
- В поле Адрес введите 192.168.88.1, в поле Порт - 8080.
- В поле исключений добавьте 192.168.*.*, чтобы обращения к локальным ресурсам не шли через прокси. Нажмите Сохранить.
- На macOS: Системные настройки, Сеть, выберите подключение, кнопка Подробнее, раздел Прокси, включите Веб-прокси (HTTP) и Защищенный веб-прокси (HTTPS), укажите те же адрес и порт.
- В антидетект-браузере при создании профиля выберите тип прокси HTTP, адрес 192.168.88.1, порт 8080, поля логина и пароля оставьте пустыми: авторизацию выполняет роутер по IP.
Совет: чтобы не настраивать каждый компьютер вручную, можно раздавать параметры прокси автоматически через DHCP. Об этом рассказано в разделе для продвинутых, там же описан файл WPAD.
Почему нужны оба подхода
Прозрачное правило NAT страхует ситуацию, когда на компьютере из списка прокси-клиентов кто-то забыл прописать настройки: хотя бы HTTP-трафик пойдет через мобильный прокси, а не напрямую. Явная настройка обеспечивает работу HTTPS. Для строгих сценариев в шаге 7 мы дополнительно закроем прямой выход в интернет для proxy-clients файрволом, чтобы трафик мимо прокси стал невозможен.
Проверка: на компьютере из списка откройте сайт проверки IP по HTTPS с настроенным прокси - виден адрес мобильного оператора. Откройте IP, Firewall, NAT: счетчик Packets у правила Redirect HTTP to proxy увеличивается, когда вы заходите на HTTP-сайт. С компьютера, которого нет в списке, IP остается обычным.
Возможные проблемы
- Правило NAT не срабатывает, счетчики на нуле. Проверьте, что адрес компьютера действительно в списке proxy-clients, и что правило стоит выше masquerade.
- После включения редиректа перестал открываться веб-интерфейс роутера. Добавьте в правило redirect условие Dst. Address Type - !local на вкладке Advanced, чтобы обращения к самому роутеру не перехватывались.
Шаг 5: Mangle - маркируем трафик для policy-based routing
Цель этапа: пометить соединения так, чтобы маршрутизатор понимал, какой трафик должен уходить через альтернативный интерфейс. Это ядро policy-based routing на MikroTik.
Когда этот шаг нужен
Если у вас один провайдер и вы просто хотите, чтобы часть устройств работала через внешний мобильный прокси, шагов 3 и 4 может быть достаточно. Но mangle и PBR решают несколько важных задач:
- у вас два канала, например проводной провайдер и LTE-модем с SIM-картой, и вы хотите отправлять обращения к прокси-провайдеру или трафик отдельных устройств строго через один из них;
- вы хотите, чтобы устройства из списка proxy-clients выходили в интернет через LTE-интерфейс роутера, получая мобильный IP непосредственно, без внешнего прокси - это тоже сценарий работы с мобильными адресами;
- вам нужно жестко разделить трафик, чтобы даже случайные соединения мимо прокси не ушли через основной канал.
Дальше считаем, что основной канал - интерфейс ether1 с провайдером, а альтернативный - lte1. Если второго канала у вас нет, все равно прочитайте раздел: правила mangle из него пригодятся при отладке и в продвинутых сценариях.
Создаем таблицу маршрутизации заранее
В RouterOS 7 метку маршрутизации нельзя назначить, пока не существует таблица с таким именем. Поэтому сначала создаем таблицу, потом правило mangle.
- Откройте Routing, затем Tables. Нажмите плюс.
- В поле Name введите via-lte. Поставьте галочку FIB. Нажмите OK.
/routing table add name=via-lte fibПравило 1: метим соединения клиентов
- Откройте IP, Firewall, вкладку Mangle. Нажмите плюс.
- Вкладка General: Chain - prerouting. In. Interface - bridge (ваш локальный интерфейс, в конфигурации по умолчанию он называется bridge). Connection Mark - no-mark, чтобы не метить повторно уже помеченные соединения.
- Вкладка Advanced: Src. Address List - proxy-clients. Dst. Address Type - !local. Восклицательный знак означает отрицание: правило не должно срабатывать на трафик к самому роутеру, иначе клиенты потеряют доступ к его веб-интерфейсу и DNS.
- Вкладка Action: Action - mark connection. New Connection Mark - введите conn-lte. Галочку Passthrough оставьте включенной: пакет пойдет дальше по правилам и получит еще и routing mark.
- Comment: Mark connections from proxy clients. Нажмите OK.
Правило 2: метим маршрут по метке соединения
- Снова плюс. Chain - prerouting. In. Interface - bridge. Connection Mark - conn-lte.
- Вкладка Action: Action - mark routing. New Routing Mark - выберите via-lte из списка. Passthrough снимите: маршрут назначен, дальше обрабатывать нечего.
- Comment: Route marked connections via LTE. Нажмите OK.
Обе команды для терминала:
/ip firewall mangle add chain=prerouting in-interface=bridge src-address-list=proxy-clients dst-address-type=!local connection-mark=no-mark action=mark-connection new-connection-mark=conn-lte passthrough=yes comment="Mark connections from proxy clients"
/ip firewall mangle add chain=prerouting in-interface=bridge connection-mark=conn-lte action=mark-routing new-routing-mark=via-lte passthrough=no comment="Route marked connections via LTE"Правило 3: обращения самого роутера к мобильному прокси
Web Proxy работает внутри роутера, поэтому его соединения с родительским прокси рождаются в цепочке output, а не prerouting. Если вы хотите, чтобы роутер обращался к прокси-провайдеру через конкретный канал, добавьте отдельное правило.
- Плюс. Chain - output. Protocol - tcp. Dst. Address - IP мобильного прокси, например 203.0.113.10. Dst. Port - порт прокси, например 8000.
- Action - mark routing. New Routing Mark - via-lte или другая таблица, через которую должен идти этот трафик. Passthrough - снять.
- Comment: Router to parent proxy. OK.
/ip firewall mangle add chain=output protocol=tcp dst-address=203.0.113.10 dst-port=8000 action=mark-routing new-routing-mark=via-lte passthrough=no comment="Router to parent proxy"Внимание: порядок правил mangle важен. Правило mark-connection должно стоять выше mark-routing. Если вы добавляли их через терминал по очереди, порядок будет правильным. При добавлении через WinBox проверьте вкладку Mangle и при необходимости перетащите строки.
Совет: в mangle есть режим отладки без последствий. Создайте правило с Action - passthrough и нужными условиями, но без метки. Его счетчики покажут, сколько пакетов подходит под условия, и вы поймете, правильно ли задан фильтр, ничего не сломав.
Проверка: во вкладке Mangle счетчики Packets у обоих правил растут, когда клиент из списка открывает сайты. Откройте IP, Firewall, Connections: у соединений от адресов proxy-clients в столбце Connection Mark стоит conn-lte. Если столбца не видно, щелкните правой кнопкой по заголовку таблицы и включите его.
Возможные проблемы
- В списке New Routing Mark нет via-lte. Вы не создали таблицу маршрутизации или не поставили галочку FIB. Вернитесь в Routing, Tables.
- Клиенты потеряли доступ к роутеру и DNS. Вы забыли условие Dst. Address Type - !local. Добавьте его в первое правило.
- Счетчики нулевые. Проверьте имя локального интерфейса: в Interfaces он может называться не bridge, а bridge1 или bridgeLocal.
Шаг 6: Таблицы маршрутизации и маршруты для помеченного трафика
Цель этапа: объяснить роутеру, куда отправлять пакеты с меткой via-lte, и настроить NAT для альтернативного интерфейса, чтобы трафик реально выходил в интернет.
Добавляем маршрут по умолчанию в таблицу via-lte
- Откройте IP, затем Routes. Нажмите плюс.
- В поле Dst. Address введите 0.0.0.0/0 - это означает любое назначение.
- В поле Gateway введите имя интерфейса lte1. Для LTE-интерфейсов RouterOS принимает имя интерфейса вместо IP шлюза. Если ваш второй канал - проводной, укажите IP шлюза второго провайдера, например 10.20.0.1.
- В поле Routing Table выберите via-lte.
- В поле Check Gateway выберите ping. Роутер будет проверять доступность шлюза, и при его падении маршрут станет неактивным.
- Distance оставьте 1. Comment: Default via LTE for marked traffic. Нажмите OK.
/ip route add dst-address=0.0.0.0/0 gateway=lte1 routing-table=via-lte check-gateway=ping distance=1 comment="Default via LTE for marked traffic"Если вы используете проводного второго провайдера с шлюзом, при вводе IP шлюза RouterOS может попросить указать интерфейс через знак процента: 10.20.0.1%ether2. Это нужно, когда одинаковые подсети есть на нескольких интерфейсах.
Настраиваем NAT для второго интерфейса
Пакеты клиентов уйдут в lte1 с частными адресами 192.168.88.x, и оператор их отбросит. Нужна подмена адреса источника на адрес интерфейса, то есть masquerade.
- Откройте IP, Firewall, NAT. Посмотрите, есть ли правило masquerade с Out. Interface - lte1 или Out. Interface List - WAN, куда входит lte1.
- Если в конфигурации по умолчанию правило использует Out. Interface List - WAN, добавьте lte1 в список: Interfaces, вкладка Interface List, плюс, List - WAN, Interface - lte1.
- Если правило привязано к конкретному интерфейсу ether1, создайте второе: плюс, Chain - srcnat, Out. Interface - lte1, Action - masquerade.
/interface list member add list=WAN interface=lte1
/ip firewall nat add chain=srcnat out-interface=lte1 action=masquerade comment="NAT for LTE"Резервный путь, если LTE недоступен
Если lte1 отвалится, а маршрут в таблице via-lte станет неактивным, помеченные пакеты потеряют путь и трафик клиентов встанет. Решите, что вам нужно: либо пусть встанет (строгий режим, трафик мимо мобильного канала недопустим), либо пусть уходит через основной канал (мягкий режим). Для мягкого режима добавьте в ту же таблицу второй маршрут с большей дистанцией:
/ip route add dst-address=0.0.0.0/0 gateway=ether1 routing-table=via-lte distance=10 comment="Fallback via main WAN"Вместо ether1 укажите IP шлюза основного провайдера, если интерфейс не поддерживает имя в качестве шлюза. Для строгого режима резервный маршрут не добавляйте.
Совет: строгий режим - лучший выбор для работы с рекламными аккаунтами. Пусть лучше страница не откроется, чем аккаунт увидит ваш домашний IP. В мягком режиме обязательно настройте уведомление о падении LTE через Tools, Netwatch, чтобы вовремя остановить работу.
Проверка: в IP, Routes маршрут в таблице via-lte активен, у него нет флага X или синего цвета неактивности. В терминале выполните:
/ip route print where routing-table=via-lte
/tool traceroute 8.8.8.8 routing-table=via-lteТрассировка должна уходить через шлюз LTE-оператора, первые узлы будут отличаться от трассировки без параметра routing-table. С клиента из списка proxy-clients откройте сайт проверки IP без настроенного прокси - должен показаться адрес сотового оператора вашей SIM-карты.
Возможные проблемы
- Маршрут неактивен. Интерфейс lte1 не поднят или не получил адрес. Проверьте Interfaces, LTE, статус и настройки APN.
- Маршрут активен, но сайты не открываются. Нет masquerade для lte1. Проверьте NAT.
- Открываются, но IP основного провайдера. Правила mangle не срабатывают - вернитесь к шагу 5 и проверьте счетчики.
- DNS не работает у клиентов. Клиенты используют роутер как DNS, а обращения к роутеру мы исключили через !local, так что это нормально. Если клиенты используют внешний DNS, роутер отправит DNS-запросы через LTE, и это тоже допустимо.
Шаг 7: Защищаем настройку файрволом и закрываем утечки
Цель этапа: убедиться, что прокси недоступен из интернета, а устройства из списка proxy-clients не могут случайно выйти в сеть мимо прокси.
Закрываем порт прокси со стороны WAN
- Откройте IP, Firewall, вкладку Filter Rules.
- Найдите правила по умолчанию. В стандартной конфигурации есть правило с Chain - input, In. Interface List - !LAN, Action - drop. Оно уже блокирует все входящие снаружи, включая порт 8080. Если оно есть и включено, этого достаточно.
- Если стандартных правил нет или вы их меняли, добавьте явное: плюс, Chain - input, Protocol - tcp, Dst. Port - 8080, In. Interface List - WAN, Action - drop. Поставьте его выше любых правил accept для input.
/ip firewall filter add chain=input protocol=tcp dst-port=8080 in-interface-list=WAN action=drop comment="Block proxy from WAN" place-before=0Разрешаем прокси только клиентам из списка
Дополнительно ограничим доступ к порту 8080 внутри сети: пусть на прокси могут заходить только устройства из proxy-clients.
/ip firewall filter add chain=input protocol=tcp dst-port=8080 in-interface=bridge src-address-list=!proxy-clients action=drop comment="Proxy only for listed clients"Через WinBox: плюс, Chain - input, Protocol - tcp, Dst. Port - 8080, In. Interface - bridge, вкладка Advanced: Src. Address List - proxy-clients с включенным отрицанием (щелкните по квадратику слева от поля, появится восклицательный знак), Action - drop.
Запрещаем прямой выход для proxy-clients
Этот шаг для тех, кто выбрал строгий режим: устройства из списка должны ходить в интернет только через Web Proxy на роутере и никак иначе. Тогда даже приложение без настроек прокси не сможет выдать реальный адрес.
- Плюс. Chain - forward. Вкладка Advanced: Src. Address List - proxy-clients. Вкладка General: Out. Interface List - WAN.
- Action - reject, Reject With - icmp network unreachable. Reject лучше drop: приложение сразу получит ошибку, а не будет висеть в ожидании.
- Comment: Block direct internet for proxy clients. OK.
/ip firewall filter add chain=forward src-address-list=proxy-clients out-interface-list=WAN action=reject reject-with=icmp-network-unreachable comment="Block direct internet for proxy clients"Обратите внимание: если вы используете сценарий с LTE из шагов 5-6, где клиенты выходят через lte1 напрямую без Web Proxy, это правило нужно смягчить: добавить Out. Interface - ether1 вместо списка WAN, чтобы блокировался только основной канал.
Внимание: добавляйте блокирующие правила в forward только после того, как убедились, что прокси работает. Иначе вы заблокируете сами себе интернет на рабочем компьютере и решите, что сломался прокси, хотя проблема в порядке действий.
Что с DNS
При работе через HTTP-прокси с явной настройкой браузер не резолвит домены сам: он отправляет имя сайта прокси, а имя резолвит уже мобильный прокси на своей стороне. Это хорошо, утечки DNS нет. Но другие приложения на компьютере продолжают спрашивать DNS у роутера, и роутер идет к своим DNS-серверам через основной канал. Для рекламных сценариев это не критично, так как сайты видят только адрес прокси. Если вы хотите, чтобы и DNS-запросы устройств из списка уходили через LTE, они уже подпадают под правила mangle шага 5 при использовании внешних DNS-серверов на клиенте.
Проверка: с телефона через мобильный интернет попробуйте открыть адрес вида http://ваш-внешний-IP:8080 - соединение должно не устанавливаться. С компьютера, которого нет в proxy-clients, попытка прописать прокси 192.168.88.1:8080 должна закончиться ошибкой. С компьютера из списка, если включен строгий режим, любая программа без настроек прокси не должна выходить в интернет.
Как откатить изменения
Если что-то пошло не так, самый быстрый путь - отключить правила, а не удалять. В любой вкладке файрвола выделите правило и нажмите красный крестик Disable. Так вы вернете доступ, сохранив настройки для разбора. Полный откат: Files, выделите before-proxy.backup, нажмите Restore, подтвердите перезагрузку. Через две минуты роутер вернется к состоянию до начала гайда.
Проверка результата: чек-лист и тесты
Пройдитесь по списку целиком. Каждый пункт - отдельная проверка, отмечайте выполненные.
Чек-лист
- В Files лежат резервные копии, скопированные на компьютер.
- В IP, Web Proxy статус Running, указаны Parent Proxy и Parent Proxy Port, кэш отключен.
- В Web Proxy Access есть правило allow для локальной подсети и завершающее deny.
- В Address Lists есть список proxy-clients с адресами нужных устройств, адреса закреплены в DHCP.
- В NAT есть правило redirect порта 80 на 8080 для proxy-clients, оно выше masquerade.
- В Mangle есть правила mark-connection и mark-routing в правильном порядке, счетчики растут.
- В Routing, Tables есть таблица via-lte с FIB, в IP, Routes - активный маршрут 0.0.0.0/0 в этой таблице.
- В NAT есть masquerade для второго интерфейса.
- В Filter Rules порт 8080 закрыт со стороны WAN.
Как протестировать
- На компьютере из списка proxy-clients с настроенным прокси откройте два-три разных сайта проверки IP по HTTPS. Все должны показать один адрес мобильного оператора и его название в поле провайдера.
- На том же компьютере откройте любой сайт по HTTP без настроенного прокси. Он должен открыться через redirect, а в IP, Web Proxy, Connections появится запись с вашим адресом источника.
- На компьютере не из списка откройте сайт проверки IP. Адрес должен быть вашего обычного провайдера.
- В WinBox откройте Tools, Torch, выберите интерфейс lte1 или ether1 и нажмите Start. Вы увидите живой поток трафика: с какого адреса, на какой порт. Так наглядно видно, через какой интерфейс уходит трафик каждого клиента.
- Откройте Log и включите фильтр по теме web-proxy. Ошибок вида parent proxy connection failed быть не должно.
- Запустите на клиенте загрузку файла размером 100-200 МБ и посмотрите скорость. Она будет ограничена скоростью мобильного прокси, а не вашего канала - это ожидаемо.
Показатели успешного выполнения
- Сайты проверки стабильно показывают адрес мобильного оператора для устройств из списка.
- Прочие устройства не изменили поведение.
- Роутер не отвечает на порту 8080 снаружи.
- Загрузка процессора роутера при работе прокси не превышает 30-50 процентов (System, Resources, поле CPU Load).
- При отключении второго интерфейса помеченный трафик ведет себя так, как вы решили в шаге 6: останавливается или переходит на резервный путь.
Типичные ошибки и решения
Прокси на MikroTik включен, но клиенты получают ошибку соединения
Причина: роутер не может подключиться к родительскому прокси. Чаще всего внешний IP роутера не добавлен в белый список у провайдера или изменился после переподключения. Решение: выполните /tool fetch url=https://ifconfig.me/ip mode=https output=user, сравните адрес с тем, что в кабинете провайдера, обновите белый список. Проверьте порт Parent Proxy Port и то, что провайдер выдал именно HTTP-порт, а не SOCKS.
HTTP-сайты работают, HTTPS не открываются
Причина: прокси на клиенте прописан только для HTTP, либо вы рассчитываете на прозрачное перенаправление порта 443. Решение: в настройках системы или браузера включите прокси и для HTTPS. Прозрачно завернуть 443 через Web Proxy невозможно, не пытайтесь добавлять redirect для порта 443 - это сломает все зашифрованные сайты.
После добавления правил mangle клиенты потеряли доступ к роутеру
Причина: нет условия Dst. Address Type - !local, и обращения к веб-интерфейсу, DNS и DHCP роутера тоже получают метку и уходят в другую таблицу. Решение: добавьте условие в правило mark-connection. Соединения, которые уже помечены, очистите: IP, Firewall, Connections, выделите строки клиента, нажмите Remove.
Routing mark не появляется в выпадающем списке
Причина: в RouterOS 7 таблицы создаются заранее в Routing, Tables. Решение: создайте таблицу с галочкой FIB, затем вернитесь к правилу mangle.
Трафик помечен, маршрут активен, но интернета нет
Причина: отсутствует masquerade для интерфейса, через который идет помеченный трафик. Решение: добавьте lte1 в Interface List WAN или создайте отдельное правило srcnat с Out. Interface - lte1.
Сайт видит адрес мобильного прокси, но иногда проскакивает домашний IP
Причина: часть приложений или отдельный браузер на компьютере не использует прокси, а строгий режим файрвола не включен. Решение: включите правило reject в forward из шага 7 для proxy-clients, проверьте, что антидетект-профили используют прокси 192.168.88.1:8080, а не системные настройки.
Роутер тормозит, CPU 100 процентов
Причина: включено кэширование на диск или слишком много клиентов на слабой модели. Решение: отключите Cache On Disk, установите Max. Cache Size - none. Отключите логирование в Web Proxy Access, если включали его для отладки. Для десятков одновременных пользователей рассмотрите модель с процессором ARM64, например hAP ax3 или RB5009.
Неверный порядок правил NAT
Причина: правило redirect стоит ниже masquerade или ниже другого dstnat, которое перехватывает трафик раньше. Решение: перетащите redirect в начало списка. Помните, что цепочки srcnat и dstnat обрабатываются отдельно, но внутри dstnat порядок критичен.
После перезагрузки все сломалось
Причина: в mangle указан IP мобильного прокси, а провайдер прокси сменил адрес, либо интерфейс lte1 поднимается дольше, чем срабатывает check-gateway. Решение: проверьте адрес в кабинете провайдера, обновите Parent Proxy и правило output. Для LTE добавьте в System, Scheduler задачу с запуском при старте, которая через 60 секунд перезапускает интерфейс lte1 командой /interface lte set lte1 disabled=yes; :delay 5; /interface lte set lte1 disabled=no.
Дополнительные возможности для продвинутых
Автоматическая раздача настроек прокси через DHCP и WPAD
Чтобы не настраивать каждый компьютер вручную, можно опубликовать файл автоконфигурации wpad.dat. Это небольшой скрипт на JavaScript, который говорит браузеру: для таких адресов используй прокси, для остальных иди напрямую. Файл кладется на любой веб-сервер в локальной сети или на сам роутер в раздел Files и раздается штатным сервисом www RouterOS. Затем в IP, DHCP Server, Options создается опция с кодом 252 и значением - адресом файла, а опция привязывается к DHCP-сети. Windows и большинство браузеров подхватывают ее автоматически при включенном автоопределении прокси. Плюс подхода: новый ноутбук получает настройки при первом подключении к Wi-Fi.
Контейнеры: SOCKS5 и авторизация по логину и паролю
Встроенный Web Proxy понимает только HTTP-родителя и не передает логин с паролем. Если ваш мобильный прокси доступен только по SOCKS5 или только с авторизацией по логину, поможет пакет Container для RouterOS 7. На моделях ARM, ARM64 и x86 можно запустить легкий контейнер с программой вроде redsocks или gost, которая принимает прозрачно перенаправленный трафик и оборачивает его в SOCKS5 с авторизацией. Схема такая: контейнер получает адрес в отдельной сети veth, правило dstnat перенаправляет TCP-трафик от proxy-clients на порт контейнера, а контейнер уже общается с мобильным прокси. Настройка требует включения режима контейнеров через терминал с физическим подтверждением кнопкой на устройстве и внимательного отношения к памяти, поэтому подходит для тех, кто уже уверенно работает с RouterOS.
Несколько прокси для разных групп устройств
Web Proxy в RouterOS один, и родительский прокси у него тоже один. Если разным рабочим местам нужны разные мобильные прокси, используйте комбинацию: часть клиентов ходит через Web Proxy роутера, а для других групп создайте отдельные address list и отдельные таблицы маршрутизации с маршрутами через разные интерфейсы - второй LTE-модем, второй провайдер. В mangle каждая группа получает свою метку соединения и свой routing mark. Так на одном роутере можно развести три-четыре независимых выхода.
Скрипт смены родительского прокси по расписанию
Если провайдер выдает несколько адресов, а вам нужно менять их периодически, напишите короткий скрипт в System, Scripts, который меняет параметр parent-proxy командой /ip proxy set parent-proxy=новый-адрес, и повесьте его на System, Scheduler с нужным интервалом. Не забудьте, что каждый новый адрес прокси должен быть авторизован по вашему IP в кабинете провайдера, а правило mangle в output должно учитывать все возможные адреса - удобнее заменить в нем поле Dst. Address на address list с адресами прокси.
Мониторинг и уведомления
В Tools, Netwatch добавьте проверку доступности адреса мобильного прокси по TCP-порту с интервалом 30 секунд. В поле Down Script укажите команду отправки сообщения через /tool e-mail send или запись в лог с пометкой критичности. Так вы узнаете о проблеме раньше, чем ее заметят рекламные кабинеты.
Ограничение скорости и приоритеты
Мобильный прокси обычно медленнее проводного канала. Чтобы один клиент не забивал весь ресурс, создайте в Queues простую очередь Simple Queue на подсеть proxy-clients с лимитом, например 20 Мбит/с на весь список, или отдельные очереди на каждый адрес. Так парсер на одном компьютере не оставит без связи менеджера на соседнем.
Логирование для аудита
В Web Proxy Access можно включить поле Log у правила allow. Тогда в System, Logging при настроенном топике web-proxy будут писаться адрес клиента и адрес запрошенного ресурса. Для длительного хранения направьте лог на удаленный syslog-сервер через System, Logging, Actions. Помните о нагрузке: на слабых моделях логирование каждого запроса заметно съедает процессор.
FAQ: частые вопросы по настройке
Можно ли завернуть весь трафик компьютера в мобильный прокси без настройки на самом компьютере?
Для HTTP - да, через redirect в NAT. Для HTTPS штатными средствами RouterOS - нет, потому что Web Proxy не может прозрачно обрабатывать зашифрованный трафик. Полностью прозрачная схема возможна через контейнер с SOCKS5-переходником, это описано в разделе для продвинутых. В большинстве случаев проще один раз прописать прокси 192.168.88.1:8080 на клиенте или раздать настройки через WPAD.
Почему Web Proxy не принимает логин и пароль для родительского прокси?
В RouterOS такого поля просто нет. Поэтому обязательное условие схемы - авторизация по IP на стороне провайдера прокси. Если ваш тариф этого не позволяет, обратитесь в поддержку провайдера или используйте контейнер.
Обязательно ли настраивать mangle и таблицы маршрутизации, если у меня один провайдер?
Нет. Для одного канала достаточно шагов 3, 4 и 7. Mangle и PBR нужны, когда есть второй интерфейс или требуется жестко разделить пути трафика. Но освоить их полезно: это универсальный инструмент RouterOS, который пригодится и в других задачах.
Как понять, через какой интерфейс реально уходит трафик клиента?
Откройте Tools, Torch, выберите проверяемый WAN-интерфейс и включите фильтр по адресу источника. Если трафик клиента виден на lte1 и не виден на ether1 - policy-based routing работает. Второй способ - IP, Firewall, Connections: у нужных соединений должна стоять метка conn-lte.
Что будет, если у роутера сменится внешний IP?
Родительский прокси перестанет пускать роутер, клиенты получат ошибки. Обновите белый список в кабинете провайдера. Чтобы автоматизировать, включите IP, Cloud и настройте у провайдера прокси авторизацию по DDNS-имени, если он поддерживает такую опцию.
Можно ли использовать SOCKS-сервер, который есть в меню IP, SOCKS?
Этот раздел - SOCKS-сервер, а не клиент. Он позволяет другим устройствам подключаться к роутеру как к SOCKS-прокси, но не умеет пересылать трафик на внешний SOCKS-прокси. Для задачи из гайда он не подходит и его лучше держать выключенным.
Как добавить новый компьютер в схему?
Закрепите его адрес в DHCP Leases через Make Static, добавьте адрес в address list proxy-clients и пропишите на компьютере прокси 192.168.88.1:8080. Больше ничего менять не нужно - все правила ссылаются на список.
Можно ли исключить отдельные сайты из прокси для клиентов списка?
При явной настройке на клиенте добавьте домены в поле исключений прокси в системе или браузере. На стороне роутера для прозрачного HTTP можно добавить правило в Web Proxy Access с Dst. Host и Action - deny, но это заблокирует сайт, а не пустит его напрямую. Для маршрутизации через PBR добавьте адреса сайта в отдельный address list и правило mangle выше основного с Action - accept, тогда трафик к ним не получит метку.
Как полностью убрать прокси и вернуть все как было?
Быстрый вариант: отключить правила redirect, mangle и reject через Disable, снять галочку Enabled в Web Proxy. Полный вариант: восстановить бэкап before-proxy через Files, Restore.
Насколько это законно и безопасно?
Использование прокси для управления собственными рекламными кабинетами, тестирования и разграничения трафика - обычная техническая практика. Вы обязаны соблюдать правила площадок, с которыми работаете, и договор с провайдером прокси. С точки зрения безопасности главное - не оставлять прокси открытым в интернет и не хранить бэкапы без пароля в общедоступных местах.
Заключение
Вы прошли весь путь: сделали резервную копию, обновили RouterOS, закрепили адреса устройств, включили встроенный Web Proxy и связали его с мобильным прокси провайдера. Затем вы направили трафик клиентов в прокси через NAT и явные настройки, научились метить соединения в mangle, создали отдельную таблицу маршрутизации и настроили policy-based routing через второй интерфейс. Наконец, вы защитили схему файрволом и убедились, что все работает, по чек-листу.
Теперь прокси на MikroTik живет на уровне сети, а не на каждом отдельном компьютере. Новый сотрудник подключается к Wi-Fi, попадает в список, получает настройки - и работает с нужным IP без лишних объяснений. Одновременно остальная часть сети ничего не заметила.
Что делать дальше
- Настройте автоматическую раздачу параметров прокси через DHCP-опцию 252, чтобы новые устройства подключались без ручной настройки.
- Добавьте мониторинг доступности прокси через Netwatch и уведомления.
- Разделите устройства на несколько групп с разными address list и проработайте отдельные таблицы маршрутизации для каждой.
- Если вам нужен SOCKS5 или авторизация по логину, изучите пакет Container и попробуйте схему с переходником на тестовом роутере.
Куда развиваться
RouterOS - глубокая система, и mangle с маршрутизацией по политикам - лишь ее часть. Следующие темы, которые логично изучить после этого гайда: очереди и приоритизация трафика, скрипты и планировщик для автоматизации рутины, резервирование каналов с автоматическим переключением, а также работа с несколькими LTE-модемами на одном устройстве. Каждая из них опирается на понятия, которые вы уже освоили: списки адресов, метки, таблицы маршрутов. Возвращайтесь к этой инструкции как к справочнику, экспериментируйте на тестовой конфигурации и не забывайте про резервные копии перед каждым серьезным изменением.