Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

Сетевое оборудование и VPN

Объединение двух провайдеров на MikroTik: балансировка нагрузки PCC

Обновлено: 27.08.2026 · Официальная документация ↗

Зачем объединять два интернет-канала?

В компании подключено два интернет-провайдера (например, основной 100 Мбит/с и резервный 100 Мбит/с). При стандартной схеме резервирования (Failover) второй канал простаивает без дела 99% времени. Балансировка нагрузки позволяет распределять исходящие соединения пользователей равномерно по двум каналам, суммируя общую пропускную способность офиса до 200 Мбит/с.

Принцип классификатора соединений PCC

Механизм PCCПараметры классификацииПоведение пользовательской сессии
both-addresses-and-portsIP источника + IP назначения + ПортыИдеальное распределение (торренты, многопоточная загрузка)
src-address-and-portIP клиента + Порт клиентаСтабильное распределение для локальных ПК
both-addressesIP клиента + IP целевого сайтаОптимально для банковских сайтов и онлайн-касс

Базовая конфигурация балансировки PCC 50/50 в MikroTik

  1. Маркировка маршрутов в таблице IP -> Firewall -> Mangle:
    /ip firewall mangle
    # Исключаем локальный трафик из балансировки:
    add chain=prerouting dst-address=192.168.1.0/24 action=accept in-interface=bridge-lan
    
    # Привязка входящих соединений к своим провайдерам:
    add chain=prerouting in-interface=ether1-ISP1 connection-state=new action=mark-connection new-connection-mark=ISP1_conn
    add chain=prerouting in-interface=ether2-ISP2 connection-state=new action=mark-connection new-connection-mark=ISP2_conn
    
    # Деление исходящего трафика LAN на 2 потока через PCC:
    add chain=prerouting in-interface=bridge-lan connection-state=new dst-address-type=!local \
        per-connection-classifier=both-addresses:2/0 action=mark-connection new-connection-mark=ISP1_conn
    add chain=prerouting in-interface=bridge-lan connection-state=new dst-address-type=!local \
        per-connection-classifier=both-addresses:2/1 action=mark-connection new-connection-mark=ISP2_conn
    
    # Установка меток маршрутизации по меткам соединений:
    add chain=prerouting in-interface=bridge-lan connection-mark=ISP1_conn action=mark-routing new-routing-mark=to_ISP1
    add chain=prerouting in-interface=bridge-lan connection-mark=ISP2_conn action=mark-routing new-routing-mark=to_ISP2
  2. Создание таблиц маршрутизации (IP -> Routes):
    /ip route
    # Маршруты для маркированного трафика:
    add dst-address=0.0.0.0/0 gateway=192.168.10.1 routing-mark=to_ISP1 check-gateway=ping
    add dst-address=0.0.0.0/0 gateway=192.168.20.1 routing-mark=to_ISP2 check-gateway=ping
    
    # Основные резервные маршруты для самого роутера:
    add dst-address=0.0.0.0/0 gateway=192.168.10.1 distance=1 check-gateway=ping
    add dst-address=0.0.0.0/0 gateway=192.168.20.1 distance=2
  3. Настройка маскарадинга (NAT):
    /ip firewall nat
    add chain=srcnat out-interface=ether1-ISP1 action=masquerade
    add chain=srcnat out-interface=ether2-ISP2 action=masquerade

Почему тест Speedtest не показывает удвоенную скорость? Один конкретный файл или одиночный TCP-поток всегда идет только через одного провайдера. Суммирование скорости заметно при одновременной работе нескольких пользователей или при многопоточной загрузке (торренты, менеджеры закачек).

💡 Практика специалистов: При настройке PCC на RouterOS v7 синтаксис таблиц маршрутизации изменился. Перед добавлением маршрутов с параметром 'routing-mark' необходимо предварительно объявить имена таблиц в меню '/routing table add name=to_ISP1 fib' и '/routing table add name=to_ISP2 fib'.

Частые вопросы (FAQ)

Почему выбивает из онлайн-банков и личных кабинетов при балансировке?

Некоторые сайты с повышенной безопасностью сбрасывают авторизацию, если запросы в рамках одной сессии приходят с разных IP-адресов. Используйте классификатор 'src-address' или 'both-addresses', чтобы жестко привязать сессию клиента к одному провайдеру.

Что произойдет, если один из двух провайдеров упадет?

Благодаря опции check-gateway=ping маршрут упавшего провайдера отключится, и весь трафик автоматически пойдет через оставшийся рабочий канал.

Можно ли сбалансировать каналы разной скорости (например, 100 Мбит/с и 50 Мбит/с)?

Да, для этого трафик делится на 3 части (3/0 и 3/1 направляются в первый канал 100 Мбит, а 3/2 — во второй канал 50 Мбит).

Работает ли FastTrack вместе с правилами PCC Mangle?

FastTrack обходит обработку в таблице Mangle. При включении сложной балансировки PCC стандартное правило FastTrack в фаерволе необходимо отключить.

Полезные материалы
Рекомендуем