savingleb Posted April 18, 2019 Posted April 18, 2019 Здравствуйте, есть задача сделать резервирование канала, что бы если падает один канал, впн подолжал работать и удаленные сервисы были доступны. нашел статью https://papa-admin.ru/mikrotik/129-mikrotik-настройка-офис-филиал-часть-2-филиал.html все сделал по инструкции (10 раз :)) работать как нужно не хочет, впн постоянно отваливается, обратно с резервного канала толком не переключается, где то в статье косяк или у меня кривые руки? как их лечить? :) Спасибо. скрин настроек Главный офис # dec/04/2018 14:33:29 by RouterOS 6.43.4 # software id = # # # /interface ethernet set [ find default-name=ether1 ] disable-running-check=no set [ find default-name=ether2 ] disable-running-check=no /interface l2tp-server add name=l2tp-in01 user=l2tp-01 /interface sstp-server add name=sstp-in01 user=sstp-01 /interface pptp-server add name=pptp-in01 user="" /interface list add name=WAN add name=LAN /interface wireless security-profiles set [ find default=yes ] supplicant-identity=MikroTik /ip pool add name=pool-l2tp ranges=10.1.1.2-10.1.1.99 add name=pool-sstp ranges=10.1.2.2-10.1.2.99 /ppp profile add change-tcp-mss=yes interface-list=WAN local-address=10.1.1.1 name=\ profile-l2tp remote-address=pool-l2tp use-encryption=yes add change-tcp-mss=yes interface-list=WAN local-address=10.1.2.1 name=\ profile-sstp remote-address=pool-sstp use-encryption=yes /routing ospf instance set [ find default=yes ] router-id=10.20.30.1 /interface l2tp-server server set authentication=mschap2 default-profile=profile-l2tp enabled=yes /interface list member add interface=ether1 list=WAN add interface=ether2 list=LAN /interface pptp-server server set enabled=yes /interface sstp-server server set authentication=mschap2 default-profile=profile-sstp enabled=yes /ip address add address=10.20.30.1/24 interface=ether2 network=10.20.30.0 add address=5.188.53.68/24 interface=ether1 network=5.188.53.0 add address=5.188.53.71/24 interface=ether1 network=5.188.53.0 /ip firewall filter add action=accept chain=forward add action=accept chain=input disabled=yes dst-address=5.188.53.68 add action=accept chain=forward disabled=yes add action=accept chain=input comment=icmp disabled=yes protocol=icmp add action=accept chain=input comment="established & related" \ connection-state=established,related add action=accept chain=input comment=l2tp dst-port=1701 in-interface=ether1 \ protocol=udp add action=accept chain=input comment=sstp dst-port=443 in-interface=ether1 \ protocol=tcp add action=accept chain=input comment=ospf disabled=yes in-interface=all-ppp \ protocol=ospf add action=accept chain=input comment=bfd disabled=yes dst-port=3784-3785 \ in-interface=all-ppp protocol=udp add action=accept chain=input dst-address=5.188.53.70 /ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 src-address=\ 10.20.30.0/24 /ip route add distance=1 gateway=5.188.53.1 pref-src=5.188.53.68 /ip service set telnet disabled=yes set ftp disabled=yes set www address=0.0.0.0/0 set ssh disabled=yes set api disabled=yes set api-ssl disabled=yes /ppp secret add name=l2tp-01 password=111111111111 profile=profile-l2tp service=l2tp add name=sstp-01 password=11111111111 profile=profile-sstp service=sstp add name=pptp-01 password=11111111111 profile=profile-sstp service=pptp /routing ospf interface add interface=l2tp-in01 network-type=broadcast use-bfd=yes add cost=20 interface=sstp-in01 network-type=broadcast /routing ospf network add area=backbone network=10.1.1.0/24 add area=backbone network=10.1.2.0/24 add area=backbone network=10.20.30.0/24 /system identity set name=Office Филиал # jan/02/1970 02:07:30 by RouterOS 6.43.4 # software id = IQGD-KKFF # # model = 951Ui-2nD # serial number = 7C2607BF88E5 /interface bridge add fast-forward=no name=bridge1 /interface l2tp-client add connect-to=5.188.53.68 disabled=no name=l2tp-out1 password=11111111 user=\ l2tp-01 /interface wireless set [ find default-name=wlan1 ] ssid=MikroTik /interface wireless security-profiles set [ find default=yes ] supplicant-identity=MikroTik /ip pool add name=dhcp_pool0 ranges=192.168.55.1-192.168.55.253 /ip dhcp-server add address-pool=dhcp_pool0 disabled=no interface=bridge1 name=dhcp1 /interface sstp-client add connect-to=5.188.53.71 disabled=no name=sstp-out1 password=11111111111 \ profile=default-encryption user=sstp-01 /routing ospf instance set [ find default=yes ] router-id=192.168.55.0 /interface bridge port add bridge=bridge1 interface=wlan1 add bridge=bridge1 interface=ether3 add bridge=bridge1 interface=ether4 add bridge=bridge1 interface=ether5 /ip address add address=192.168.0.14/24 interface=ether1 network=192.168.0.0 add address=83.171.98.88/23 interface=ether2 network=83.171.98.0 add address=192.168.55.254/24 interface=bridge1 network=192.168.55.0 /ip dhcp-server network add address=192.168.55.0/24 dns-server=8.8.8.8 gateway=192.168.55.254 /ip firewall mangle add action=mark-connection chain=output comment=l2tp_c_udp dst-port=1701 \ new-connection-mark=l2tp_c passthrough=yes protocol=udp add action=mark-routing chain=output comment=l2tp_r connection-mark=l2tp_c \ new-routing-mark=isp1only passthrough=no add action=mark-connection chain=output comment=sstp_c dst-port=443 \ new-connection-mark=sstp_c passthrough=yes protocol=tcp add action=mark-routing chain=output comment=sstp_r connection-mark=sstp_c \ new-routing-mark=isp2only passthrough=no /ip firewall nat add action=masquerade chain=srcnat /ip route add comment=MArked distance=1 gateway=192.168.0.129 routing-mark=isp1only add comment=zaglushka distance=2 routing-mark=isp1only type=unreachable add distance=1 gateway=83.171.98.1 routing-mark=isp2only add distance=2 routing-mark=isp2only type=unreachable add check-gateway=ping comment=Recursive distance=1 gateway=8.8.8.8 \ target-scope=30 add check-gateway=ping distance=2 gateway=8.8.4.4 target-scope=30 add comment="Recursive 2" distance=1 dst-address=8.8.4.4/32 gateway=\ 83.171.98.1 add distance=1 dst-address=8.8.8.8/32 gateway=192.168.0.129 /routing ospf interface add interface=l2tp-out1 network-type=broadcast use-bfd=yes add cost=20 interface=sstp-out1 network-type=broadcast add cost=5 interface=bridge1 network-type=broadcast /routing ospf network add area=backbone network=10.1.1.0/24 add area=backbone network=10.1.2.0/24 add area=backbone network=192.168.55.0/24 /system routerboard settings set silent-boot=no Вставить ник Quote
fractal Posted April 18, 2019 Posted April 18, 2019 (edited) Как интересно, а это в каждом филиале по 2 public ip от одного провайдера на одном порту? Зачем вам sstp? Сделайте только l2tp, что в логах? Edited April 19, 2019 by fractal Вставить ник Quote
McSea Posted April 18, 2019 Posted April 18, 2019 @savingleb Раз у вас в центре есть два публичных IP адреса, в филиале можно просто два маршрута прописать - на каждый адрес через своего провайдера - вместо манглов. И тогда можно 2-х L2TP клиентов использовать. Вставить ник Quote
fractal Posted April 19, 2019 Posted April 19, 2019 8 часов назад, McSea сказал: @savingleb Раз у вас в центре есть два публичных IP адреса, в филиале можно просто два маршрута прописать - на каждый адрес через своего провайдера - вместо манглов. И тогда можно 2-х L2TP клиентов использовать. так ведь можно наткнуться на ассиметричный роутинг, это ж не vpn 8 часов назад, McSea сказал: @savingleb Раз у вас в центре есть два публичных IP адреса, в филиале можно просто два маршрута прописать - на каждый адрес через своего провайдера - вместо манглов. И тогда можно 2-х L2TP клиентов использовать. так ведь можно наткнуться на ассиметричный роутинг, это ж не vpn Вставить ник Quote
McSea Posted April 19, 2019 Posted April 19, 2019 5 hours ago, fractal said: так ведь можно наткнуться на ассиметричный роутинг, это ж не vpn L2TP клиент не VPN ? Или про что речь ? Вставить ник Quote
fractal Posted April 19, 2019 Posted April 19, 2019 15 минут назад, McSea сказал: L2TP клиент не VPN ? Или про что речь ? имеется ввиду провайдерский vpn, просто так прописать роуты через public не выйдет я бы сделал так, раз есть 2 провайдера, то первым делом настроил бы резервирование дефолтного маршрута к примеру так - https://www.technotrade.com.ua/Articles/mikrotik_2isp_setup_2015-06-19.php#2isp_setup. Далее уже поднимать l2tp через каждого провайдера под ospf, после этого добавить в ospf эти два l2tp в качестве интерфейсов в процесс ospf. в итоге пока работает первый провайдер все будет работать поверх l2tp через первого провайдера, первый провайдер упал, поднимается второй l2tp и работает дальше Вставить ник Quote
McSea Posted April 19, 2019 Posted April 19, 2019 2 minutes ago, fractal said: просто так прописать роуты через public не выйдет Не вижу, что может помешать. На филиальном микротике: /ip route add dst-address=5.188.53.68/32 comment="Этот через первого провайдера" distance=1 gateway=192.168.0.129 add dst-address=5.188.53.71/32 comment="Этот через второго провайдера" distance=1 gateway=83.171.98.1 Вставить ник Quote
fractal Posted April 19, 2019 Posted April 19, 2019 25 минут назад, McSea сказал: Не вижу, что может помешать. На филиальном микротике: /ip route add dst-address=5.188.53.68/32 comment="Этот через первого провайдера" distance=1 gateway=192.168.0.129 add dst-address=5.188.53.71/32 comment="Этот через второго провайдера" distance=1 gateway=83.171.98.1 ага, а в интернет они будут ходить через центральный филиал? Вы вероятно не сталкивались с тем что трафик может прийти с центрального филиала через первого провайдера, а уйти через второго, и вот тут начнутся проблемы Вставить ник Quote
fractal Posted April 19, 2019 Posted April 19, 2019 каждый делает как ему нравится, я же написал избегая проблем с которыми я уже сталкивался) Вставить ник Quote
McSea Posted April 19, 2019 Posted April 19, 2019 22 minutes ago, fractal said: ага, а в интернет они будут ходить через центральный филиал? Вы вероятно не сталкивались с тем что трафик может прийти с центрального филиала через первого провайдера, а уйти через второго, и вот тут начнутся проблемы Маски меньше чем /32 нет, поэтому пакеты на эти адреса центрального офиса всегда должны уходить по указанным маршрутам, как они будут в интернет ходить тут не важно (/ip route rule считаем пустым, как в приведенных конфигах - там можно завернуть по другому). Со стороны центрального офиса пакеты будут приходить на того провайдера = его адрес на филиальном микротике, с которого ушли. В цепочке output dstnat стандартными средствами роутер ос вообще невозможен. Вставить ник Quote
fractal Posted April 19, 2019 Posted April 19, 2019 (edited) 6 минут назад, McSea сказал: Маски меньше чем /32 нет, поэтому пакеты на эти адреса центрального офиса всегда должны уходить по указанным маршрутам, как они будут в интернет ходить тут не важно (/ip route rule считаем пустым, как в приведенных конфигах - там можно завернуть по другому). Со стороны центрального офиса пакеты будут приходить на того провайдера = его адрес на филиальном микротике, с которого ушли. В цепочке output dstnat стандартными средствами роутер ос вообще невозможен. ну что же, считайте так, как решит сделать автор так и сделает Edited April 19, 2019 by fractal Вставить ник Quote
savingleb Posted April 19, 2019 Author Posted April 19, 2019 В 18.04.2019 в 19:56, fractal сказал: а это в каждом филиале по 2 public ip от одного провайдера на одном порту? Это виртуальная машина с микротом (извините что забыл указать в стартпосте), там можно оставить один, можно два IP адреса, на том же аккаунте будут терминал и астериск, там своя AS так что можно считать что интернет там изначально отказоустойчивый. Во всех 5 филиалах есть два провайдера с публичным IP. 11 часов назад, fractal сказал: раз есть 2 провайдера, то первым делом настроил бы резервирование дефолтного маршрута к примеру так В филиалах так и настроено, но есть провайдеры, которые мигают, т.е. инет пропадает, он переключается на резервный, потом инет появляется и обратно и так может длиться несколько минут, десяток минут, это недопустимо. Если я Вас правильно понял. Вставить ник Quote
fractal Posted April 19, 2019 Posted April 19, 2019 2 часа назад, savingleb сказал: Это виртуальная машина с микротом (извините что забыл указать в стартпосте), там можно оставить один, можно два IP адреса, на том же аккаунте будут терминал и астериск, там своя AS так что можно считать что интернет там изначально отказоустойчивый. Во всех 5 филиалах есть два провайдера с публичным IP. В филиалах так и настроено, но есть провайдеры, которые мигают, т.е. инет пропадает, он переключается на резервный, потом инет появляется и обратно и так может длиться несколько минут, десяток минут, это недопустимо. Если я Вас правильно понял. Тогда, если у Вас уже есть резервирование как минимум дефолтного маршрута - поднимайте два l2tp, с mtu 1400. Далее с обеих сторон добавляете оба l2tp в interfaces ospf - на основном cost 10, на резервном cost 20, mode point-to-point. После того как соседство поднялось анонсируете нужные локальные сети, либо добавлением ручками их в процесс ospf или через настройку routing filter + redistribution connected и должно все работать. Вставить ник Quote
McSea Posted April 20, 2019 Posted April 20, 2019 (edited) А нужен ли OSPF для такой маленькой сети ? Делал такое резервирование на L2, RSTP на бриджах переключает каналы почти мгновенно, на пинге с интервалом 200 миллисекунд максимум 1 пакет теряется (см. скрин ниже). И это один из каналов на LTE модеме с пингом ~ 100 ms. Делается просто, L2TP c BCP, по отдельному бриджу с каждой стороны, куда эти интерфейсы добавляются при подключении. При неообходимости, кроме собственно бриджа в PPP профиле можно прописать веса (bridge path cost), чтобы нужный VPN канал был основным, а другой резервным. Бриджи отдельные от локальной сети т.к. не было задачи соединять сети на L2 уровне, что также можно сделать, используя этот метод. Edited April 21, 2019 by McSea Вставить ник Quote
fractal Posted April 20, 2019 Posted April 20, 2019 (edited) 2 часа назад, McSea сказал: А нужен ли OSPF для такой маленькой сети ? Делал такое резервирование на L2, RTSP на бриджах переключает каналы почти мгновенно, на пинге с интервалом 200 миллисекунд максимум 1 пакет теряется (см. скрин ниже). И это один из каналов на LTE модеме с пингом ~ 100 ms. Делается просто, L2TP c BCP, по отдельному бриджу с каждой стороны, куда эти интерфейсы добавляются при подключении. При неообходимости, кроме собственно бриджа в PPP профиле можно прописать веса (bridge path cost), чтобы нужный VPN канал был основным, а другой резервным. Бриджи отдельные от локальной сети т.к. не было задачи соединять сети на L2 уровне, что также можно сделать, используя этот метод. Вариантов на самом деле много, можно вообще два статика через l2tp и track reachability на них Edited April 20, 2019 by fractal Вставить ник Quote
Saab95 Posted April 21, 2019 Posted April 21, 2019 В 20.04.2019 в 14:14, McSea сказал: Делается просто, L2TP c BCP А управление дальней точкой в каком канале? =) Что будет, если поток L2 сделает кольцо или еще что - правильно, управление потеряется. Нужно будет вручную поменять настройки в центре, что бы убрать его из бриджа. Поэтому правильнее поверх туннеля поднять еще и EoIP и уже в нем данные передавать. Вставить ник Quote
McSea Posted April 21, 2019 Posted April 21, 2019 1 hour ago, Saab95 said: Что будет, если поток L2 сделает кольцо Нет с этим проблем, RSTP и топология очень простая, бридж в бридж двумя туннелями, кроме которых в этих бриджах ничего нет. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.