Dual WAN mikrotik настройка нескольких провайдеров
25.11.2021
Dual WAN mikrotik настройка нескольких провайдеров
Основная проблема настройки нескольких провайдеров заключается в том, что мы должны отправить пакет в тот же шлюз, с которого пришёл трафик через провайдера. Если мы этого не сделаем, то в большинстве случаев оператор заблокирует трафик с неправильным source адресом.
Подготовительные работы:
/ip address
add address=1.1.1.2/29 comment="ISP1" interface=ether1 network=1.1.1.0
add address=2.2.2.2/29 comment="ISP2" interface=ether2 network=2.2.2.0
/ip route
add distance=1 gateway=1.1.1.1 routing-mark=Next-Hop/1.1.1.1
add distance=1 gateway=2.2.2.1 routing-mark=Next-Hop/2.2.2.1
add check-gateway=ping comment=ISP1 distance=1 gateway=1.1.1.1
add check-gateway=ping comment=ISP2 distance=10 gateway=2.2.2.1
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface-list=WAN
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
add comment=defconf interface=ether2 list=WAN
На этом этапе у нас воткнут один провайдер в ether1 второй ether2 и при этом интернет идет всегда через первого провайдера и в случае его падения *(check-gateway=ping)
станет активный маршрут через второго по умолчанию. и для пользователей будет почти не заметно., но при этом многое сломается SIP (выход сервера астериск), GRE турели да и
в целом не сможете использовать второй интернет.
Видео о том как подключить несколько провайдеров и использовать их одновременно.
Доступ к маршрутизатору (доступ к mikrotik c любого провайдера)
/ip firewall mangle
add chain=prerouting dst-address=1.1.1.0/29 in-interface=ether1 connection-state=new action=mark-connection new-connection-mark=Prerouting/GW/1.1.1.1 passthrough=no
add chain=prerouting dst-address=2.2.2.0/29 in-interface=ether2 connection-state=new action=mark-connection new-connection-mark=Prerouting/GW/2.2.2.1 passthrough=no
add chain=output connection-mark=Prerouting/GW/1.1.1.1 action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=output connection-mark=Prerouting/GW/2.2.2.1 action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
/ip route rule
add action=lookup-only-in-table routing-mark=Next-Hop/1.1.1.1 table=Next-Hop/1.1.1.1
add action=lookup-only-in-table routing-mark=Next-Hop/2.2.2.1 table=Next-Hop/2.2.2.1
Выход с маршрутизатора (VPN, Подключение к внешним сервисам с маршрутизатора)
/ip firewall mangle
add chain=output src-address=1.1.1.0/29 dst-address-list=!BOGON action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=output src-address=2.2.2.0/29 dst-address-list=!BOGON action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
Bogon adress list mikrotik
Доступ к сервисам за mikrotik (Доступ «за» NAT, проброс портов на любом из провайдеров)
/ip firewall nat
add chain=dstnat dst-address=1.1.1.2 protocol=tcp dst-port=80,25,443 in-interface=ether1 action=dst-nat to-addresses=192.168.1.2
add chain=dstnat dst-address=2.2.2.2 protocol=tcp dst-port=80,25,443 in-interface=ether2 action=dst-nat to-addresses=192.168.1.2
/ip firewall mangle
add chain=prerouting in-interface=!ether1 connection-mark=Prerouting/GW/1.1.1.1 action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=prerouting in-interface=!ether2 connection-mark=Prerouting/GW/2.2.2.1 action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
Выход хоста из под определённого IP (разные сервисы через разных провайдеров)
/ip firewall mangle
add chain=prerouting src-address-list=via/1.1.1.2 dst-address-list=!BOGONS action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=prerouting src-address-list=via/2.2.2.2 dst-address-list=!BOGONS action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface-list=WAN
либо src-nat для каждого отдельно, но смысла нет:
add chain=srcnat routing-mark=Next-Hop/1.1.1.1 src-address-list=via/1.1.1.2 action=src-nat to-addresses=1.1.1.2
add chain=srcnat routing-mark=Next-Hop/2.2.2.1 src-address-list=via/2.2.2.2 action=src-nat to-addresses=2.2.2.2
Балансировка междe каналами / ECMP / NAT
Не рекомендуем этого делать т.к тут возможны проблемы с VPN , SIP и.т.д
ECMP не работает check gateway.
Используйте один кана интернет - настраивайте квоты и как на предыдущем шаге заранее опрделите кто каким провайдером будет пользоваться.
/ip route
add gateway=1.1.1.1,2.2.2.1,2.2.2.1
/ip firewall mangle
add chain=postrouting connection-mark=no-mark connection-state=new out-interface=ether1 routing-mark=main action=mark-connection new-connection-mark=ECMP/1.1.1.2 passthrough=no
add chain=postrouting connection-mark=no-mark connection-state=new out-interface=ether2 routing-mark=main action=mark-connection new-connection-mark=ECMP/2.2.2.2 passthrough=no
/ip firewall mangle
add chain=prerouting connection-mark=ECMP/1.1.1.2 action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=prerouting connection-mark=ECMP/2.2.2.2 action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
Подготовительные работы:
/ip address
add address=1.1.1.2/29 comment="ISP1" interface=ether1 network=1.1.1.0
add address=2.2.2.2/29 comment="ISP2" interface=ether2 network=2.2.2.0
/ip route
add distance=1 gateway=1.1.1.1 routing-mark=Next-Hop/1.1.1.1
add distance=1 gateway=2.2.2.1 routing-mark=Next-Hop/2.2.2.1
add check-gateway=ping comment=ISP1 distance=1 gateway=1.1.1.1
add check-gateway=ping comment=ISP2 distance=10 gateway=2.2.2.1
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface-list=WAN
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
add comment=defconf interface=ether2 list=WAN
На этом этапе у нас воткнут один провайдер в ether1 второй ether2 и при этом интернет идет всегда через первого провайдера и в случае его падения *(check-gateway=ping)
станет активный маршрут через второго по умолчанию. и для пользователей будет почти не заметно., но при этом многое сломается SIP (выход сервера астериск), GRE турели да и
в целом не сможете использовать второй интернет.
Видео о том как подключить несколько провайдеров и использовать их одновременно.
Доступ к маршрутизатору (доступ к mikrotik c любого провайдера)
/ip firewall mangle
add chain=prerouting dst-address=1.1.1.0/29 in-interface=ether1 connection-state=new action=mark-connection new-connection-mark=Prerouting/GW/1.1.1.1 passthrough=no
add chain=prerouting dst-address=2.2.2.0/29 in-interface=ether2 connection-state=new action=mark-connection new-connection-mark=Prerouting/GW/2.2.2.1 passthrough=no
add chain=output connection-mark=Prerouting/GW/1.1.1.1 action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=output connection-mark=Prerouting/GW/2.2.2.1 action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
/ip route rule
add action=lookup-only-in-table routing-mark=Next-Hop/1.1.1.1 table=Next-Hop/1.1.1.1
add action=lookup-only-in-table routing-mark=Next-Hop/2.2.2.1 table=Next-Hop/2.2.2.1
Выход с маршрутизатора (VPN, Подключение к внешним сервисам с маршрутизатора)
/ip firewall mangle
add chain=output src-address=1.1.1.0/29 dst-address-list=!BOGON action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=output src-address=2.2.2.0/29 dst-address-list=!BOGON action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
Bogon adress list mikrotik
Доступ к сервисам за mikrotik (Доступ «за» NAT, проброс портов на любом из провайдеров)
/ip firewall nat
add chain=dstnat dst-address=1.1.1.2 protocol=tcp dst-port=80,25,443 in-interface=ether1 action=dst-nat to-addresses=192.168.1.2
add chain=dstnat dst-address=2.2.2.2 protocol=tcp dst-port=80,25,443 in-interface=ether2 action=dst-nat to-addresses=192.168.1.2
/ip firewall mangle
add chain=prerouting in-interface=!ether1 connection-mark=Prerouting/GW/1.1.1.1 action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=prerouting in-interface=!ether2 connection-mark=Prerouting/GW/2.2.2.1 action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
Выход хоста из под определённого IP (разные сервисы через разных провайдеров)
/ip firewall mangle
add chain=prerouting src-address-list=via/1.1.1.2 dst-address-list=!BOGONS action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=prerouting src-address-list=via/2.2.2.2 dst-address-list=!BOGONS action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no
/ip firewall nat
add action=masquerade chain=srcnat ipsec-policy=out,none out-interface-list=WAN
либо src-nat для каждого отдельно, но смысла нет:
add chain=srcnat routing-mark=Next-Hop/1.1.1.1 src-address-list=via/1.1.1.2 action=src-nat to-addresses=1.1.1.2
add chain=srcnat routing-mark=Next-Hop/2.2.2.1 src-address-list=via/2.2.2.2 action=src-nat to-addresses=2.2.2.2
Балансировка междe каналами / ECMP / NAT
Не рекомендуем этого делать т.к тут возможны проблемы с VPN , SIP и.т.д
ECMP не работает check gateway.
Используйте один кана интернет - настраивайте квоты и как на предыдущем шаге заранее опрделите кто каким провайдером будет пользоваться.
/ip route
add gateway=1.1.1.1,2.2.2.1,2.2.2.1
/ip firewall mangle
add chain=postrouting connection-mark=no-mark connection-state=new out-interface=ether1 routing-mark=main action=mark-connection new-connection-mark=ECMP/1.1.1.2 passthrough=no
add chain=postrouting connection-mark=no-mark connection-state=new out-interface=ether2 routing-mark=main action=mark-connection new-connection-mark=ECMP/2.2.2.2 passthrough=no
/ip firewall mangle
add chain=prerouting connection-mark=ECMP/1.1.1.2 action=mark-routing new-routing-mark=Next-Hop/1.1.1.1 passthrough=no
add chain=prerouting connection-mark=ECMP/2.2.2.2 action=mark-routing new-routing-mark=Next-Hop/2.2.2.1 passthrough=no