Привет, народ. Я настроил балансировщик нагрузки PCC + Hotspot на Mikrotik 750G. Конфигурация PCC соответствует статье в вики: http://wiki.mikrotik.com/wiki/Manual:PCC Так как у меня работает Hotspot, я добавил опцию --hotspot: auth в правила PCC. Моя проблема в том, что с этой конфигурацией весь трафик предпочитает идти через одну линию. Если я отключаю этот WAN-интерфейс, он начинает использовать другой. Если я убираю опцию --hotspot: auth, балансировка работает хорошо, но пользователи автоматически не перенаправляются на страницу Hotspot. Я балансирую нагрузку по двум линиям от одного провайдера, иногда получая один и тот же шлюз. Чтобы избежать потенциальных проблем, я настроил 2 модема с NAT на IP-адреса 192.168.9.1/24 и 192.168.8.1/24. Mikrotik работает на 192.168.10.1/24, как и LAN-клиенты за ним. Вот схема:
И вот экспорты моей конфигурации: /ip address add address=192.168.10.1/24 disabled=no interface=LAN network=192.168.10.0 add address=192.168.8.2/24 disabled=no interface=WAN2 network=192.168.8.0 add address=192.168.9.2/24 disabled=no interface=WAN1 network=192.168.9.0 /ip dhcp-server network add address=192.168.10.0/24 dns-server=192.168.10.1 gateway=192.168.10.1 /ip dhcp-server add add-arp=yes address-pool=static-only authoritative=after-2sec-delay bootp-support=static disabled=no interface=LAN lease-time=3d name=dhcp1 /ip dhcp-server config set store-leases-disk=5m /ip firewall mangle add action=accept chain=prerouting disabled=no dst-address=192.168.9.0/24 in-interface=LAN add action=accept chain=prerouting disabled=no dst-address=192.168.8.0/24 in-interface=LAN add action=mark-connection chain=prerouting disabled=no in-interface=WAN1 new-connection-mark=WAN1_conn passthrough=yes add action=mark-connection chain=prerouting disabled=no in-interface=WAN2 new-connection-mark=WAN2_conn passthrough=yes add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth in-interface=LAN new-connection-mark=WAN1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0 add action=mark-connection chain=prerouting disabled=no dst-address-type=!local hotspot=auth in-interface=LAN new-connection-mark=WAN2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1 add action=mark-routing chain=output connection-mark=WAN1_conn disabled=no new-routing-mark=to_WAN1 passthrough=yes add action=mark-routing chain=output connection-mark=WAN2_conn disabled=no new-routing-mark=to_WAN2 passthrough=yes add action=mark-routing chain=prerouting connection-mark=WAN1_conn disabled=no in-interface=LAN new-routing-mark=to_WAN1 passthrough=yes add action=mark-routing chain=prerouting connection-mark=WAN2_conn disabled=no in-interface=LAN new-routing-mark=to_WAN2 passthrough=yes /ip firewall nat add action=masquerade chain=srcnat disabled=no out-interface=WAN1 add action=masquerade chain=srcnat disabled=no out-interface=WAN2 /ip route add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.9.1 routing-mark=to_WAN1 scope=30 target-scope=10 add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.8.1 routing-mark=to_WAN2 scope=30 target-scope=10 add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.8.1 scope=30 target-scope=10 add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=192.168.9.1 scope=30 target-scope=10 /ip hotspot profile set default dns-name=“” hotspot-address=0.0.0.0 html-directory=hotspot http-cookie-lifetime=3d http-proxy=0.0.0.0:0 login-by=cookie,http-chap name=default rate-limit=“” smtp-server=0.0.0.0 split-user-domain=no use-radius=no add dns-name=interlandns.com hotspot-address=0.0.0.0 html-directory=hotspot http-cookie-lifetime=3d http-proxy=0.0.0.0:0 login-by=cookie,http-chap name=hsprof2 rate-limit=“” smtp-server=0.0.0.0 split-user-domain=no use-radius=no /ip hotspot add address-pool=default-dhcp addresses-per-mac=2 disabled=no idle-timeout=5m interface=LAN keepalive-timeout=none name=hotspot1 profile=hsprof2 /ip hotspot user profile set default idle-timeout=none keepalive-timeout=2m name=default shared-users=1 status-autorefresh=1m transparent-proxy=no
