ДОброго дня. Вчера на хостинге где висит на впн сервак начались какие проблемы с сетью. В следствии чего поотваливалось 99% подключенных юзверей. Т.к. с тех ПО решить вопрос не удалось(подозреваю что и не они могут быть виноваты, т.к. коннект всё таки начал проходить, но отключенным шифрованием )) пришлось срочно перекидывать виртуалку в другое место. А это долго... + замена DNS записей...
Сейчас используется Микротик CHR - и опенВПН сервак на нём. На KVM виртуалке. ПОрядка 1000+ клиентов
Вопросы.
Возможно ли в такой ситуации поднять 2 одинаковых микрота, но с одинаковой маршрутизацией внутри и одной БД ? Погуглив я как то не нашел такого...
Возможно есть вариант другого ПО, которое позволяет это сделать без особых напрягов? Ну кроме офф OpenVPN Access - там глаза сломаешь пока найдешь нужного клиента )) Да и к примеру если делать через него - это 2 виртулаки с БД поднимать + 2 сервака с ВПн серваком?)) (ну чтоб оно никогда не падало)
pfSense давно не щупал - он умеет работать в кластере?
все яйца в одной корзине? Или делите людей по разным серверам? В целом vps'ы нормально держат примерно до 200 человек. Дальше начинаются микрофризы.
Кроме разделения по серверам я бы еще имел (в принципе у меня так и есть) запасной сервак, на который переключаешь людей с упавшего сервака. Тут главное изначально грамотно всё построить, чтобы такие переключения были бесшовные.
Drno, насчет openvpn не знаю. В wireguard можно указать домен вместо ip адреса. Соответственно при подключении к серверу клиент получает новый ip адрес.
Доменное имя добавляешь в cloudflare. Делаешь обновление данных каждые 2 минуты.
Держишь 1 дополнительный сервер.
В случае глюка рабочего сервера заходишь в cloudflare и меняешь ip домена на новый, который запасной.
Через пару минут новый ip адрес будет виден всем клиентам. Достаточно перезапустить впн (в случае с wireguard). В случае с openvpn слышал, что даже перезапускать не нужно.
А если попробывать по классике веба? DNS по roudrobin на пару просто балансировщиков того же ngnx или chr, а с него уже по ip на chr-ы для расшифровки, ну а chr-ы тем же ansible кластеризовать.
Предлагаете держать включенным 2 chr?
А как маршрутизировать траф, там одиковые конфиги-ip будут?
Админ на 1 микрот зайдет - клиентов увидит часть, а другую часть как увидеть - они ж на другом микроте?))
Ансибл имелся ввиду - конфиги синхронить?
Drno, Да не с одинаковыми IPшниками а с разными
1. В А записи dns домена прописать 2 ip адреса, он их будет выдавать по очереди
2. CHRы на этих ip адресах будут просто NATить трафик на IP следующих CHR которые непосредственно будут заниматься расшифровкой VPN
3. Ну а смотреть все красиво в zabbix-е и подобных, а создание учеток на такое количество юзеров отдать какому нибудь radius-у
AntHTML,
2. ну так то и 3 CHR не обязательно, достаточно 2 правила в Iptables на линукс - чтоб он прокидывал порт на этот 3й CHR... а вот что делать, если 3й CHR сдохнет... хотя с учетом radius можно просто переподнять из бэкапа \ шаблона
3. Radius можно настроить master>slave? можете пнуть ссылкой?
Drno, Дык радиус, в стороне, отдельным серваком на который chr-ы будут обращаться только за билетом. В принципе даже NAT не обязателен, можно напрямую держать 2-3 ноды шифрования прописанные в RR DNS, ток что при добавлении/удалении ноды придется ждать обновления DNS, а с NAT-том - просто поправить правило на своем серваке чтоб слал пакеты на другой шифратор.
AntHTML, мысль понятна, спасибо. Но еще вопрос - щас нужные "клиенты" - IP чтоб зайти по ssh, смотрится в микротике, в активных подключениях. Если у нас работает 2 микрота сразу - я увижу подключеных клиентов сразу на обоих? или тут мысль что CHR2 поднимается(включается) только в случае падения 1го ?
Drno, мысть в том чтобы грабать активных клиентов в zabbix и там все смотреть, а CHRы держать для распределения нагрузки, ну и чтоб GWx при повисании CRх быстренько переписывал iptables на соседний, что явно быстрее обновления DNS.
Ну еще микроты из коробки поддерживают VRRP можно через него попробывать кластеризоваться, по сути будет то же самое ток без GWx и RR.