На данный момент решаю проблему наиболее "правильной" организации резервного канала интернета для соединения по VPN Ubuntu<->Win2k3.
Разрешите выступить концептуально. ИМХО комфортнее всего "сшивать" Linux<->Linux. Т.е. выделить Win2k3 как не шлюзовую, как некий сервер в локалке. Шлюзы на opensource. Причём можно сделать:
(внутри офиса 192.168.0.0/24) локалка с клиентами и шлюзом Вин2к (наружу 10.0.0.0/30) <---> (внутрь к офису 10.0.0.0/30) DMZ со шлюзом Линукс (наружу к пров-у w.x.y.z/a) <---> ( к офису w.x.y.z/a) провайдер.
Минимальная DMZ со шлюзом Линукс - это единственный компьютер пара сетевых карт и пара патчкордов. Один патч в сторону Вин2К, второй в сторону провайдера. Это может удешевить стыковку opensource и проприетарного. При перспективе отказа от Вин.
Шифрованный канал, опять же, это принципиальная инфа, состоит из двух частей. Одна часть - механизм организации TCP/IP соединения, или иной способ передачи данных, шифрование. Другая часть - аутентификация и ключи для шифрования. Эта другая часть - это создание системы (инфраструктуры) пар закрытых-открытых ключей. Могут быть другие системы, но открытый-закрытый ключ популярное решение.
В Вин обе части сшиты в единое, да ещё единой с самой ОС. Под Линукс есть пакет OpenSSL - непочатый край изучения информации о PKI и т.п. OpenSSL это средство для создания и использования сертификатов-ключей.
Возвращаясь к "среде передачи" - IPSec есть, OpenVPN есть. Есть библиотека
http://www.opennet.ruПотребуется решить, где центральный сервер. На каком сервере будут обслуживаться (создание новых, отзыв старых) сертификатов, а это выбор под какую ОС выбирать софт.
Проще VPN канал поднимать между шлюзами - всё необходимое для создания защищённого канала находится на шлюзах, у клиентов нет никаких ключей, клиенты обращаются по какому-то адресу, а шлюз уже направляет их трафик в защищённый канал. Этих howto'шек довольно много. Защищённый канал может выглядеть как отдельный виртуальный сетевой интерфейс на шлюзе, типа "волшебный" кабель сразу в другой офис.
Тема резервного провайдера решается через маршрутизацию. Через маршруты же клиентский трафик отправляется в шифрованный канал на шлюзе. Не знаю как механизмы OpenVPN реагируют на автоматическую смену маршрутов, может быть понадобится простенький скрипт, например, если администратором VPN привязана к IP адресам.
Итак - резервный канал и VPN разные темы. Изучать отдельно. Потом совместить.