conrad Posted March 8, 2016 Posted March 8, 2016 Всем доброго времени суток! Имеется RB с RouterOS v6.32.2. Скажите пожалуйста, возможно ли настроить openvpn клиент на нем так чтобы при недоступности первого openvpn сервера клиент цеплялся ко второму? В обычном openvpn клиенте это реализуется с помощью указания второго сервера в конфиге (remote x.x.x.x 1194). Возможно ли реализовать это на микротике? Заранее благодарю за ответ. Вставить ник Quote
fiskunt Posted March 8, 2016 Posted March 8, 2016 (edited) Повесь два клиента openvpn на разные профайлы и в профайле для основного клиента задай комадны для включения второго клиента openvpn при отключении основного и наоборот. Вот так примерно: Так второй клиент будет отключаться когда первый работает и соответственно включаться когда первый не работает. Проще некуда) Так можно любой VPN резервировать. Edited March 8, 2016 by fiskunt Вставить ник Quote
Saab95 Posted March 8, 2016 Posted March 8, 2016 Написали верно, но можно и 2 клиента сделать и пусть они к двум серверам сразу подключаются, а управлять что куда с помощью манглов или OSPF. Вставить ник Quote
fiskunt Posted March 8, 2016 Posted March 8, 2016 манглов или OSPF Боюсь человек не настолько хорошо знает микротик чтоб даже по инструкции запросто это настроить) Иначе такого вопроса бы тут не задавал. Вставить ник Quote
conrad Posted March 9, 2016 Author Posted March 9, 2016 Повесь два клиента openvpn на разные профайлы и в профайле для основного клиента задай комадны для включения второго клиента openvpn при отключении основного и наоборот. Вот так примерно: Так второй клиент будет отключаться когда первый работает и соответственно включаться когда первый не работает. Проще некуда) Так можно любой VPN резервировать. Не наблюдаю вкладки scripts в настройках профиля(( Вставить ник Quote
fiskunt Posted March 9, 2016 Posted March 9, 2016 Просто обновите RouterOS до последней версии. Firmware тоже не забудьте) Сидит в system -> routerboard Вставить ник Quote
conrad Posted March 11, 2016 Author Posted March 11, 2016 (edited) Просто обновите RouterOS до последней версии. Firmware тоже не забудьте) Сидит в system -> routerboard Попробовал предложенный Вами вариант, но судя по всему ovpn клиент зацикливается... [admin@openVPN#3] > /ppp profile print detail Flags: * - default 0 * name="default" use-mpls=default use-compression=default use-encryption=default only-one=default change-tcp-mss=yes use-upnp=default address-list="" on-up=interface ovpn-client disable ovpn-out2 on-down=interface ovpn-client enable ovpn-out2 1 name="profile1" use-mpls=default use-compression=default use-encryption=default only-one=default change-tcp-mss=yes use-upnp=default address-list="" on-up=interface ovpn-client disable ovpn-out1 on-down=interface ovpn-client enable ovpn-out1 2 * name="default-encryption" use-mpls=default use-compression=default use-encryption=yes only-one=default change-tcp-mss=yes use-upnp=default address-list="" on-up="" on-down="" Оба клиента переходят в какое - то "подвешенное" состояние [admin@openVPN#3] > interface ovpn-client print detail Flags: X - disabled, R - running 0 name="ovpn-out1" mac-address=02:27:42:67:F5:B8 max-mtu=1500 connect-to=x.x.x.x port=30000 mode=ethernet user="null" password="" profile=default certificate=cert_2 auth=sha1 cipher=null add-default-route=no 1 name="ovpn-out2" mac-address=02:71:F9:FE:7E:51 max-mtu=1500 connect-to=x.x.x.x port=30000 mode=ethernet user="null" password="" profile=profile1 certificate=cert_2 auth=sha1 cipher=null add-default-route=no Лог с сервера: Fri Mar 11 05:17:11 2016 MULTI: multi_create_instance called Fri Mar 11 05:17:11 2016 Re-using SSL/TLS context Fri Mar 11 05:17:11 2016 Control Channel MTU parms [ L:1559 D:140 EF:40 EB:0 ET:0 EL:0 ] Fri Mar 11 05:17:11 2016 Data Channel MTU parms [ L:1559 D:1450 EF:27 EB:4 ET:32 EL:0 AF:14/27 ] Fri Mar 11 05:17:11 2016 Local Options hash (VER=V4): 'b347aa25' Fri Mar 11 05:17:11 2016 Expected Remote Options hash (VER=V4): '8f7d9194' Fri Mar 11 05:17:11 2016 TCP connection established with [AF_INET]x.x.x.x:47529 Fri Mar 11 05:17:11 2016 TCPv4_SERVER link local: [undef] Fri Mar 11 05:17:11 2016 TCPv4_SERVER link remote: [AF_INET]x.x.x.x:47529 Fri Mar 11 05:17:11 2016 x.x.x.x:47529 TLS: Initial packet from [AF_INET]x.x.x.x:47529, sid=c48fe8b4 30e353b5 Fri Mar 11 05:17:11 2016 x.x.x.x:47529 Connection reset, restarting [0] Fri Mar 11 05:17:11 2016 x.x.x.x:47529 SIGUSR1[soft,connection-reset] received, client-instance restarting Fri Mar 11 05:17:11 2016 TCP/UDP: Closing socket Fri Mar 11 05:17:11 2016 MULTI: multi_create_instance called Fri Mar 11 05:17:11 2016 Re-using SSL/TLS context Fri Mar 11 05:17:11 2016 Control Channel MTU parms [ L:1559 D:140 EF:40 EB:0 ET:0 EL:0 ] Fri Mar 11 05:17:11 2016 Data Channel MTU parms [ L:1559 D:1450 EF:27 EB:4 ET:32 EL:0 AF:14/27 ] Fri Mar 11 05:17:11 2016 Local Options hash (VER=V4): 'b347aa25' Fri Mar 11 05:17:11 2016 Expected Remote Options hash (VER=V4): '8f7d9194' Fri Mar 11 05:17:11 2016 TCP connection established with [AF_INET]x.x.x.x:47531 Fri Mar 11 05:17:11 2016 TCPv4_SERVER link local: [undef] Fri Mar 11 05:17:11 2016 TCPv4_SERVER link remote: [AF_INET]x.x.x.x:47531 Fri Mar 11 05:17:11 2016 x.x.x.x:47531 TLS: Initial packet from [AF_INET]x.x.x.x:47531, sid=ec1a74b6 de041fca Fri Mar 11 05:17:11 2016 x.x.x.x:47531 Connection reset, restarting [0] Fri Mar 11 05:17:11 2016 x.x.x.x:47531 SIGUSR1[soft,connection-reset] received, client-instance restarting Fri Mar 11 05:17:11 2016 TCP/UDP: Closing socket И таких попыток соединения штук 5 в секунду... В чем может быть беда? Edited March 11, 2016 by conrad Вставить ник Quote
fiskunt Posted March 11, 2016 Posted March 11, 2016 1 name="profile1" use-mpls=default use-compression=default use-encryption=default only-one=default change-tcp-mss=yes use-upnp=default address-list="" on-up=interface ovpn-client disable ovpn-out1 on-down=interface ovpn-client enable ovpn-out1 Вот в этом. Должен быть только один профайл со скриптом. Короче в default надо все оставить, а в profile1 скрипты удалить. Тогда будет все корректно Вставить ник Quote
conrad Posted March 11, 2016 Author Posted March 11, 2016 1 name="profile1" use-mpls=default use-compression=default use-encryption=default only-one=default change-tcp-mss=yes use-upnp=default address-list="" on-up=interface ovpn-client disable ovpn-out1 on-down=interface ovpn-client enable ovpn-out1 Вот в этом. Должен быть только один профайл со скриптом. Короче в default надо все оставить, а в profile1 скрипты удалить. Тогда будет все корректно То есть переключение будет работать только в одну сторону? При отвале первого соединения? Вставить ник Quote
fiskunt Posted March 11, 2016 Posted March 11, 2016 То есть переключение будет работать только в одну сторону? При отвале первого соединения? Конечно. Задача ставилась именно такая: Скажите пожалуйста, возможно ли настроить openvpn клиент на нем так чтобы при недоступности первого openvpn сервера клиент цеплялся ко второму? Можно и потанцевать как предлагает Сааб: можно и 2 клиента сделать и пусть они к двум серверам сразу подключаются, а управлять что куда с помощью манглов или OSPF Куда сложнее, но работать будут сразу два канала Вставить ник Quote
Saab95 Posted March 11, 2016 Posted March 11, 2016 Можно и потанцевать как предлагает Сааб: можно и 2 клиента сделать и пусть они к двум серверам сразу подключаются, а управлять что куда с помощью манглов или OSPF Куда сложнее, но работать будут сразу два канала Можно просто создать 2 канала и они оба подключатся, а метрикой управлять по какому каналу данные ходят. При этом OSPF не требуется. Например у вас есть основной канал, указываете для него метрику 10, а второй канал указываете метрику 100. При работе подключатся оба канала, однако данные пойдут по первому, потому что метрика меньше, а второй хоть и будет активен, никаких проблем создавать не будет. Как только первый канал отключится, то и его маршрут станет не активный, данные побегут по второму каналу. Вставить ник Quote
conrad Posted March 12, 2016 Author Posted March 12, 2016 Можно и потанцевать как предлагает Сааб: можно и 2 клиента сделать и пусть они к двум серверам сразу подключаются, а управлять что куда с помощью манглов или OSPF Куда сложнее, но работать будут сразу два канала Можно просто создать 2 канала и они оба подключатся, а метрикой управлять по какому каналу данные ходят. При этом OSPF не требуется. Например у вас есть основной канал, указываете для него метрику 10, а второй канал указываете метрику 100. При работе подключатся оба канала, однако данные пойдут по первому, потому что метрика меньше, а второй хоть и будет активен, никаких проблем создавать не будет. Как только первый канал отключится, то и его маршрут станет не активный, данные побегут по второму каналу. Под каналами вы наверно имеете в виду OpenVPN L3 (tun)? Но мне необходим L2. Сервер имеет два разных адреса (два линка), у микротика один линк, один default gateway, на микротике нужно сделать так чтобы при недоступности 1го адреса openvpn сервера он подключался ко второму адресу, при отвале второго возвращался на первый... Вставить ник Quote
Saab95 Posted March 12, 2016 Posted March 12, 2016 Под каналами вы наверно имеете в виду OpenVPN L3 (tun)? Но мне необходим L2. Сервер имеет два разных адреса (два линка), у микротика один линк, один default gateway, на микротике нужно сделать так чтобы при недоступности 1го адреса openvpn сервера он подключался ко второму адресу, при отвале второго возвращался на первый... Если у вас L2 то так надо было сразу написать. Вообще работа по L2, в том числе через туннели, является устаревшей технологией, поэтому работать с такими туннелями, сложнее, особенно делать резервирование. Нужно тогда создать 2 туннеля, каждый на свой сервер. Второй туннель выключить. В Netwatch создаете новое правило, указываете IP адрес первого сервера и интервал сколько там надо, обычно ставят 1 минуту. На Up указываете команду отключения вашего второго туннеля, на Down команду на включение. Туда же можно добавить и команду на зеркальное действие с первым туннелем, что бы он зря не делал попыток подключения. Вставить ник Quote
conrad Posted March 13, 2016 Author Posted March 13, 2016 Под каналами вы наверно имеете в виду OpenVPN L3 (tun)? Но мне необходим L2. Сервер имеет два разных адреса (два линка), у микротика один линк, один default gateway, на микротике нужно сделать так чтобы при недоступности 1го адреса openvpn сервера он подключался ко второму адресу, при отвале второго возвращался на первый... Если у вас L2 то так надо было сразу написать. Вообще работа по L2, в том числе через туннели, является устаревшей технологией, поэтому работать с такими туннелями, сложнее, особенно делать резервирование. Нужно тогда создать 2 туннеля, каждый на свой сервер. Второй туннель выключить. В Netwatch создаете новое правило, указываете IP адрес первого сервера и интервал сколько там надо, обычно ставят 1 минуту. На Up указываете команду отключения вашего второго туннеля, на Down команду на включение. Туда же можно добавить и команду на зеркальное действие с первым туннелем, что бы он зря не делал попыток подключения. Не получится ли тут зацикливания как в случае с профилями /ppp ? Вставить ник Quote
Saab95 Posted March 13, 2016 Posted March 13, 2016 Не получится ли тут зацикливания как в случае с профилями /ppp ? Попробуйте. С чего тут зацикливаться, когда можно интервал поставить. Для защиты от ложных срабатываний, можно сделать копии правил и выключать не интерфейсы, а второе правило в нетвач, тогда второе сможет еще раз проверить доступность, либо проверить пинг по адресам внутри туннеля, то есть если туннель работает, то не выключать его. Вставить ник Quote
conrad Posted March 15, 2016 Author Posted March 15, 2016 Сделал два правила в Netwatch и задействовал в них только on down. В первом правиле указал interface ovpn-client disable ovpn-out1 interface ovpn-client enable ovpn-out2, а во втором - interface ovpn-client enable ovpn-out1 interface ovpn-client disable ovpn-out2 - вроде работает)) Всем огромное спасибо за помощь !!! Вставить ник 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.