2 провайдера, 2 сети, трафик идет через резервные шлюзы

Обсуждение ПО и его настройки
Ответить
iR7
Сообщения: 11
Зарегистрирован: 21 фев 2018, 11:21

Привет!

Нужен свежий взгляд и помочь разобраться.

Дано:
Есть Mikrotik hAP AC v6.41.2, подключен к 2 провайдерам (ISP1 192.168.1.0/24 через доп. роутер и ISP2 10.21.220.0/24 напрямую от провайдера).
Внутри Mikrotik тоже имеет 2 внутренних сети (основная 192.168.8.0/24 + гостевой VLan+Wifi 192.168.10.0/24). Транк на свич идет через ether1, ISP1 через ether2, ISP2 через ether3.

Задача:
Нужно развести основную сеть через шлюз 192.168.1.254, а VLan и гостевую сети через 10.21.220.1. Но так, чтобы в случае падения любого из провайдеров его трафик переходил на второго.
Доп.условие - у провайдера 10.21.220.0 предоставляемый IP адрес и шлюз динамические и всегда разные.

Проблема:
При настройке в тестовой зоне все работало стабильно, включая резервирование и разделение трафика. Но когда подключил рутер к боевой сети - почему-то трафик из основной сети 192.168.8.0 пошел через резервного провайдера 10.21.220.0, а в гостевой вообще перестал ходить, даже DHCP не раздает. А если подключаться через гостевой wifi то IP получает но скорость никакая.

Чувствую что где-то в NAT или Firewall что-то не докрутил, но не пойму что и где :(
Ниже конфиг:

Код: Выделить всё

# feb/20/2018 20:32:09 by RouterOS 6.41.2
# model = RouterBOARD 962UiGS-5HacT2HnT

/interface bridge
add name=bridge-guest pvid=100
add admin-mac=CC:2D:E0:2B:7A:D8 auto-mac=no comment=defconf name=bridge-local
/interface vlan
add interface=ether1 name=vlan-guest vlan-id=100
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN

/ip pool
add name=dhcp ranges=192.168.8.10-192.168.8.254
add name=dhcp-guest ranges=192.168.10.10-192.168.10.128
/ip dhcp-server
add address-pool=dhcp disabled=no interface=bridge-local name=defconf
add address-pool=dhcp-guest disabled=no interface=bridge-guest name=\
    dhcp-guest

/interface bridge filter
# wlan3 not ready
# in/out-bridge-port matcher not possible when interface (wlan3) is not slave
add action=drop chain=forward in-interface=wlan3
# wlan3 not ready
# in/out-bridge-port matcher not possible when interface (wlan3) is not slave
add action=drop chain=forward out-interface=wlan3
add action=drop chain=forward in-interface=wlan4
add action=drop chain=forward out-interface=wlan4

/interface bridge port
add bridge=bridge-local comment=defconf disabled=yes interface=ether2
add bridge=bridge-local comment=defconf disabled=yes interface=ether3
add bridge=bridge-local comment=defconf interface=ether4
add bridge=bridge-guest comment=defconf interface=ether5 pvid=100
add bridge=bridge-local comment=defconf disabled=yes interface=sfp1
add bridge=bridge-local comment=defconf interface=wlan1
add bridge=bridge-local comment=defconf interface=wlan2
add bridge=bridge-local interface=ether1
add bridge=bridge-guest interface=wlan3 pvid=100
add bridge=bridge-guest interface=wlan4 pvid=100
add bridge=bridge-guest interface=vlan-guest pvid=100
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface bridge vlan
add bridge=bridge-guest tagged=vlan-guest vlan-ids=100
/interface detect-internet
set detect-interface-list=WAN internet-interface-list=WAN wan-interface-list=\
    WAN
/interface list member
add comment=defconf interface=bridge-local list=LAN
add interface=ether2 list=WAN
add interface=ether3 list=WAN
add interface=bridge-guest list=LAN

/ip address
add address=192.168.8.1/24 comment=defconf interface=bridge-local network=\
    192.168.8.0
add address=192.168.10.1/24 interface=bridge-guest network=192.168.10.0
/ip dhcp-client
add comment=defconf dhcp-options=hostname,clientid disabled=no interface=\
    ether2
add dhcp-options=hostname,clientid disabled=no interface=ether3
/ip dhcp-server lease
add address=192.168.10.128 client-id=1:cc:2d:e0:1d:a2:c4 mac-address=\
    CC:2D:E0:1D:A2:C4 server=dhcp-guest
add address=192.168.8.128 client-id=1:cc:2d:e0:1d:a2:c9 mac-address=\
    CC:2D:E0:1D:A2:C9 server=defconf
/ip dhcp-server network
add address=192.168.8.0/24 comment=defconf gateway=192.168.8.1 netmask=24
add address=192.168.10.0/24 gateway=192.168.10.1 netmask=24
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.8.1 name=router.lan

/ip firewall filter
add action=accept chain=input comment="accept FTP" port=21 protocol=tcp
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf:  drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
add action=drop chain=forward comment="isolate VLANs LOCAL->GUEST" disabled=\
    yes in-interface=bridge-local out-interface=bridge-guest
add action=drop chain=forward comment="isolate VLANs GUEST->LOCAL" \
    in-interface=bridge-guest out-interface=bridge-local
add action=drop chain=forward comment="isolate Guests" in-interface=\
    bridge-guest out-interface=bridge-guest

/ip firewall mangle
add action=mark-connection chain=input comment=ISP1 in-interface=ether2 \
    new-connection-mark=ISP1 passthrough=no
add action=mark-routing chain=output comment=ISP1 connection-mark=ISP1 \
    new-routing-mark=ISP1 passthrough=no
add action=mark-connection chain=input comment=ISP2 in-interface=ether3 \
    new-connection-mark=ISP2 passthrough=no
add action=mark-routing chain=output comment=ISP2 connection-mark=ISP2 \
    new-routing-mark=ISP2 passthrough=no

/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN

/ip route
add distance=1 gateway=192.168.1.254 routing-mark=ISP1
add check-gateway=ping distance=2 gateway=10.21.220.1 routing-mark=ISP1
add check-gateway=ping distance=1 gateway=10.21.220.1 routing-mark=ISP2
add distance=2 gateway=192.168.1.254 routing-mark=ISP2

/ip route rule
add action=lookup-only-in-table src-address=192.168.8.0/24 table=main
add action=lookup-only-in-table routing-mark=ISP1 table=ISP1
add action=lookup-only-in-table routing-mark=ISP2 table=ISP2
add action=lookup-only-in-table src-address=192.168.8.0/24 table=ISP1
add action=lookup-only-in-table src-address=192.168.10.0/24 table=ISP2


kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

iR7 писал(а): 22 фев 2018, 10:13 почему-то трафик из основной сети 192.168.8.0 пошел через резервного провайдера 10.21.220.0
из основной сети трафик идет через резерв потому что вы по dhcp получили маршрут и добавили его в таблицу main

Код: Выделить всё

/ip dhcp-client
add comment=defconf dhcp-options=hostname,clientid disabled=no interface=ether2
и в route rule у вас явно указали что сеть 192.168.8.0/24 маршрутизировать через main

Код: Выделить всё

/ip route rule
add action=lookup-only-in-table src-address=192.168.8.0/24 table=main


iR7
Сообщения: 11
Зарегистрирован: 21 фев 2018, 11:21

Убрал оба пункта, но теперь к рутеру можно подключиться только по Mac-адресу, что вполне ожидаемо т.к. для самого рутера шлюзов не осталось


kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

iR7 писал(а): 22 фев 2018, 12:22 но теперь к рутеру можно подключиться только по Mac-адресу
это поправимо. Трафик пошел как задумывалось?


iR7
Сообщения: 11
Зарегистрирован: 21 фев 2018, 11:21

Похоже на то, но пока полностью не могу проверить т.к. нет удаленного доступа. Позже отпишу.
А как починить доступ по IP?


kt72ru
Сообщения: 141
Зарегистрирован: 23 июн 2017, 07:55

попробуйте вот так

Код: Выделить всё

/ip route add distance=1 dst-address=192.168.8.0/24 gateway=bridge-local routing-mark=ISP1


iR7
Сообщения: 11
Зарегистрирован: 21 фев 2018, 11:21

Да, трафик пошел как надо но теперь транки поломались. У меня стоит второй МикроТик в роли свича, у которого ether1-2 основная сеть, 3-4 гостевой VLan, 5 аплинк. Так вот устройствам в гостевой сети не удается даже получить IP-адрес


Ответить