%20%D0%B2%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%83%D1%8E%20%D1%81%D0%B5%D1%82%D1%8C%20%D0%B8%20%D0%BF%D1%80%D1%8F%D0%BC%D1%8B%D0%BC%20%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%BE%D0%BC%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0%20%D0%B2%20%D0%B4%D1%80%D1%83%D0%B3%D1%83%D1%8E%20%D0%BF%D0%BE%D0%B4%D1%81%D0%B5%D1%82%D1%8C%2F%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%83%D1%8E%20%D1%81%D0%B5%D1%82%D1%8C%2C%20%D1%82%D1%80%D0%B5%D0%B1%D1%83%D1%8E%D1%82%D1%81%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5.png)
Я хочу решить следующую проблему самым чистым и лаконичным способом. Я бы предпочел использовать одно устройство/сервер для этого, но понимаю, что мне, возможно, придется собрать воедино некоторые дополнительные инструменты для этого. Я подумал, что лучше всего начать здесь, чтобы получить некоторую обратную связь относительно того, что осуществимо. Похоже, что решение ClearOS или Untangle может сработать, но я пока не совсем уверен в деталях того, что может потребоваться.
Фактически я хочу добиться следующего (схема):
Что касается вербализации, то я попробую это сделать, и любой может свободно поправить меня, мой ход мыслей или терминологию по мере того, как я это делаю.
Мне нужно настроить шлюз/сервер брандмауэра, который принимает основного провайдера и резервного провайдера (отказоустойчивый, но не всегда подключенный, если это не нужно). Затем мне нужно обслуживать соединение OpenVPN с основной сетью. Он также будет иметь DNS-сервер и предоставлять DHCP для локальной сети.
Весь трафик будет проходить через это соединение OpenVPN, но мне также необходимо предоставить прокси-сервис, который позволит определенным клиентам в локальной сети использовать прямого интернет-провайдера(ов) для подключения вместо VPN, если они того пожелают. (т. е. некоторые машины могут захотеть, чтобы весь их трафик проходил через интернет-провайдера, и те, кто так поступает, будут иметь прокси-сервер SOCKS для удовлетворения своих потребностей.)
QoS, вероятно, станет частью уравнения в какой-то момент, но это еще не полностью определено. Вероятно, что беспроводной маршрутизатор, который обеспечивает прямой трафик ISP, будет ограничен по скорости.
Наконец, если VPN время от времени имеет проблемы с подключением. Мне нужно будет подключиться к другому узлу, если один из них столкнется с проблемой, а затем, если это произойдет, он попытается подключиться к следующему в режиме циклического перебора, пока не установит соединение. Я подозреваю, что смогу справиться с этим с помощью третичного сервера, на котором будет скрипт или демон, который я могу создать, чтобы запустить повторное подключение OpenVPN и циклический перебор, если это необходимо, поскольку я сомневаюсь, что что-либо имеет такую встроенную функциональность в настоящее время.
Есть мысли о том, какие есть варианты для достижения этого? Как я уже отметил, я подозреваю, что в конечном итоге мне придется связать несколько разных служб или серверов вместе, но я бы предпочел сохранить это как можно более простым и чистым. XenServer с парой виртуальных машин работал "нормально" до этого момента, но мне не удалось собрать все части диаграммы вместе.