Я хочу решить следующую проблему наиболее кратким и понятным способом. Я бы предпочел использовать для этого одно устройство / сервер, но понимаю, что мне может потребоваться собрать некоторые дополнительные инструменты для этого. Я подумал, что лучше было бы начать здесь, чтобы получить обратную связь о том, что возможно. Похоже, что решение ClearOS или Untangle может сработать, но я еще не совсем уверен в деталях того, что может быть необходимо.
Фактически я хочу выполнить это (диаграмма):
Что касается вербализации, я сделаю здесь удар, и любой может свободно поправлять меня, мой мыслительный процесс или терминологию, когда я иду.
Мне нужно настроить сервер шлюза / брандмауэра, который использует основного поставщика услуг Интернета и дополнительного поставщика услуг Интернета в качестве резервного (аварийное переключение, но не всегда подключается, если это не требуется). Затем мне нужно обслужить соединение OpenVPN с основной сетью. Он также будет иметь DNS-сервер и предоставлять DHCP в LAN.
Весь трафик будет проходить через это соединение OpenVPN, но мне также необходимо предоставить прокси-сервис, который позволит определенным клиентам в локальной сети использовать прямых интернет-провайдеров для подключения вместо VPN, если они того пожелают. (т.е. некоторые машины могут захотеть, чтобы весь их трафик проходил через провайдера, а те, которые это делают, будут иметь прокси-сервер SOCKS для удовлетворения своих потребностей.)
QoS, вероятно, будет частью уравнения в какой-то момент, но это еще не полностью определено. Вероятно, что скорость беспроводного маршрутизатора, обеспечивающего прямой трафик интернет-провайдера, будет ограничена.
Наконец, если у VPN иногда возникают проблемы с подключением. Мне нужно будет подключиться к другому узлу, если у одного возникнет проблема, а затем, если это произойдет, он будет пытаться подключиться к следующему узлу циклически, пока не установит соединение. Я подозреваю, что могу справиться с этим с третичного сервера, на котором будет сценарий или демон, который я могу создать, который будет запускать повторное подключение OpenVPN и циклический переход, если это необходимо, поскольку я сомневаюсь, что в настоящее время есть такая встроенная функция.
Есть мысли о том, какие варианты существуют для этого? Как я уже отмечал, я подозреваю, что в конечном итоге мне придется связать вместе несколько разных служб или серверов, но я бы предпочел, чтобы это было как можно проще и понятнее. XenServer с парой виртуальных машин до этого момента работал «нормально», но мне не удалось собрать все части диаграммы вместе.