Сегодня мы с вами разберем на примере настройку балансировки нагрузки на двух WAN-линках на роутере Mikrotik. Балансировка нагрузки на между двумя каналами доступа и разными провайдерами используется для повышения производительности и надежности доступа в Интернет. Зачем это нужно?
- Повышение пропускной способности
- Повышение отказоустойчивости (фейловер)
- Экономия средств
- Гибкость настроек
- Снижение перегрузки одного канала.
Балансировка на MikroTik достигается через использование технологий, таких как Policy-Based Routing (PBR), ECMP (Equal Cost Multi-Path) и Mangle Rules для управления маршрутами и очередями. Я покажу на примере последнего варианта.
Настройка балансировки между двумя провайдерами
Шаг 1. Настройка IP-адресов:
Начнем с настройки локальных IP-адресов для WAN-линков и локальной сети. Это базовая конфигурация для работы двух провайдеров.
/ip address add address=1.1.1.199/24 interface=ether1 comment="RTK" add address=2.2.2.199/24 interface=ether2 comment="Beeline" add address=192.168.1.1/24 interface=ether3 comment="LAN Gateway"
Шаг 2. Настройка шлюзов:
Задаем несколько шлюзов с проверкой доступности по ICMP (ping), что позволяет автоматически переключаться между каналами при отказе одного из них.
/ip route add dst-address=0.0.0.0/0 check-gateway=ping gateway=1.1.1.1,2.2.2.1
Шаг 3. Настройка NAT:
Для выхода трафика из локальной сети в интернет через оба WAN-линка настраиваем NAT на интерфейсах.
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 comment="RTK" add action=masquerade chain=srcnat out-interface=ether2 comment="Beeline"
Шаг 4. Маркировка соединений и маршрутизация:
Настроим Mangle для того, чтобы трафик с одного WAN-интерфейса всегда возвращался через тот же интерфейс. Это особенно важно для корректной работы VPN.
/ip firewall mangle add action=mark-connection chain=input in-interface=ether1 new-connection-mark="RTK Input" add action=mark-connection chain=input in-interface=ether2 new-connection-mark="Beeline Input" add action=mark-routing chain=output connection-mark="RTK Input" new-routing-mark="Out RTK" add action=mark-routing chain=output connection-mark="Beeline Input" new-routing-mark="Out Beeline"
Шаг 5. Балансировка трафика по LAN:
Настроим правила для балансировки трафика, исходящего из локальной сети через два WAN-порта.
/ip firewall mangle add action=mark-routing chain=prerouting in-interface=ether3 new-routing-mark="Out RTK" per-connection-classifier=both-addresses-and-ports:2/0 add action=mark-routing chain=prerouting in-interface=ether3 new-routing-mark="Out Beeline" per-connection-classifier=both-addresses-and-ports:2/1
Шаг 6. Маршруты с метками:
Завершаем настройку, создавая маршруты по умолчанию с метками для правильного распределения трафика.
/ip route add distance=1 gateway=1.1.1.1 routing-mark="Out RTK" add distance=1 gateway=2.2.2.1 routing-mark="Out Beeline"