Два дня я вынашивал мысли о failover vpn, и даже пользовался экзотической схемой с получением внешнего IP через PPTP от одного хорошего провайдера но тот ограничивал скорость на уровне 1Mbit по туннелю, и пришлось думать иную схему.
И вот чудо, чудо! Получилось организовать настоящий failover bridged VPN!
Итак, дано:
Требуется:
Иметь доступ ко внутренней сети офиса при любых обстоятельствах (читай — отвалился канал), и пользоваться ее благами как то Timemachine бекап, терминальные серверы, файлошары.
Решение:
Если краткто, то это OpenVPN в режиме tap на сервере с честным IP (в моем случае это был даже windows 2008 сервер), Mikrotik 750G в режиме клиента OVPN в режиме ethernet, Viscosity (Tunnelblick) на моем Mac в режиме tap.
Как это работает?
Сервер с честным IP будем считать самой надежной точкой в сети и будем подключаться к нему, конфигурируем его с директивой server-bridge X.X.X.240 255.255.255.0 X.X.X.241 X.X.X.243 (эти адреса мы будем выдавать клиентам). Генерим дополнительно два сертификата, один для меня, другой для офиса.
Настраиваем mikrotik, добавляем openvpn client, загружаем сертификаты и убеждаемся в работоспособности туннеля. Собираем локальные интерфейсы в бридж, добавляем в этот же бридж ovpn client интерфейс.
Настраиваем viscosity на маке как клиент openvpn к серверу с честным ip без особых хитростей.
Тестируем, как только два подключения (одно из офисного роутера, другое от меня) к openvpn поднимутся, пинги пойдут.
В качестве упражнения выдернем шнурок основного канала из роутера, через минуту соединение снова поднимается и пинги идут, но уже потолще, подлиннее 🙂