VPN в облачном хостинге / выделенных серверных средах, туннели IPSec против Tinc

9

Я нахожусь в процессе разработки настройки виртуальной частной сети для среды облачного хостинга. Учитывая наши требования, я не вижу в этом особого отличия от среды выделенного сервера. Идея заключается в том, что мы хотим, чтобы клиенты могли требовать, чтобы их пользователи подключались к определенным виртуальным машинам или выделенным серверам с помощью VPN, которая могла бы обеспечивать вспомогательное шифрование (например, для заданий печати, отправляемых обратно в сети клиентов).

Мы смотрим на поддержку хоста для хоста IPSec (ESP и AH) и, конечно, SSH-туннели, но ни один из них действительно не дает возможности использовать VPN-адаптеры. Мы рассматриваем, следовательно, добавление по крайней мере некоторых из следующих пунктов, но, поскольку пространство имеет большую цену, мы хотим стандартизировать не более одного или двух из них (один из них лучше):

  1. Поддержка туннеля IPSec на виртуальном или выделенном хосте
  2. tinc
  3. PPTP

Поскольку наши серверы, выполняющие резервное копирование и т. Д., Могут находиться в разных центрах обработки данных, мы бы предпочли иметь возможность повторно использовать наш подход VPN здесь. Казалось бы, это исключает PPTP. В настоящее время я думаю, что IPSec, вероятно, будет лучше, потому что мы можем использовать стандартные адаптеры VPN, но настройка маршрутизации (на основе требований заказчика), вероятно, будет значительно сложнее, поэтому мы также смотрим на Tinc.

Какой из этих двух предпочтительнее? Неужели я опасаюсь, что управление маршрутизацией может быть серьезной головной болью с неоправданным IPSec? Есть ли простой способ обойти это? Есть ли другие ошибки, связанные с тинком, которые мне не хватает (т. Е. Кроме необходимости отдельного клиента)?

Обновление в ответ на ответ @ Wintermute :

Да, этот вопрос с точки зрения сервера. Причина в том, что это эффективно отключенные серверы от клиентских сетей. Да, наш целевой рынок - сеть МСП. Да, мы ожидаем использовать публичные IP-адреса для каждого клиентского сервера, если только им не нужно что-то другое (и тогда мы можем поговорить).

Решение, к которому мы стремимся, - это то, где клиенты определяют IP-туннели и диапазоны сети, доступные для этих туннелей, и где мы связываем их вместе с нашими собственными инструментами управления (которые находятся в стадии разработки), которые связывают запросы клиентов с изменениями конфигурации. Проблема заключается в том, что, поскольку мы вряд ли запустим программное обеспечение для маршрутизации на виртуальных машинах и серверах, таблица маршрутизации должна управляться статически, чтобы клиенты, совершившие ошибки в конфигурации, обнаружили, что VPN работают неправильно.

Также вероятно, что мы будем использовать ESP по сети для наших собственных внутренних операций (для таких вещей, как резервное копирование). Вся установка довольно сложна и имеет много разных точек зрения, от серверно-ориентированной (наш клиент vpn до размещенного экземпляра) до сетевой (внутренняя структура), до базы данных (наши инструменты). Так что я бы не сказал, что этот вопрос отражает весь наш подход (и вопросы задаются на нескольких сайтах SE).

Ничто из этого действительно не затрагивает вопрос в целом все же. Это, возможно, полезный контекст, хотя.

Крис Траверс
источник

Ответы:

6

Не уверен насчет тинка, но IPSEC почти обязателен. Ни один серьезный бизнес не будет доверять PPTP.

Не уверен, как IPSEC влияет на маршрутизацию. Туннель - это туннель, независимо от шифрования. Вы столкнетесь с теми же проблемами: разделите туннель или нет, чтобы клиенты поняли концепцию / о, посмотрите, как конфликтует IP-адрес конкретного клиента с выбранным вами пулом VPN и т. Д.

Похоже, вы нацелены на рынок малого и среднего бизнеса (отдельные серверы, прямой вход и т. Д.), Так что исключите более сложные решения, но я все равно перечислю два возможных подхода

  • какой-то VPN концентратор, который позволяет профили. Все клиенты входят в VPN-концентратор, а затем, в зависимости от своего профиля / группы / любой другой терминологии поставщика, получают разрешения на использование протокола X-IP Y (т. Е. Своего собственного сервера).

  • Виртуальные маршрутизаторы Cisco ASR1000V - каждый клиент получает один, затем вы можете запустить прямые туннели IPSEC (с помощью VTI, что упрощает маршрутизацию) или даже направить MPLS обратно к клиентам, чтобы маршрутизатор выглядел просто как другая ветвь в их топологии, а затем выделить VNIC. VLAN и т. Д. Внутри, чтобы они получили красивую виртуальную «ветку».

  • в уменьшенной версии вышеприведенного, для этой цели мы использовали monowall, что дает большой эффект (т. е. каждый клиент получает виртуальное устройство уровня 3, которое действует как маршрутизатор / межсетевой экран, он подключается к VPN и получает доступ только к своим VLAN) Однако тогда каждому маршрутизатору / брандмауэру необходим собственный публичный IP-адрес.

Что касается вашего текущего подхода, вы понимаете, что тогда каждому серверу нужен публичный IP-адрес, или у вас есть сложная и запутанная система NAT, где каждому VPN-каналу клиента выделяется один порт или аналогичный.

Я бы порекомендовал подключить сетевого специалиста на полный рабочий день, чтобы просмотреть любой проект / предложение, которое у вас есть, звучит так, как будто вы работаете с сервером.

wintermute000
источник
2
Также это может показаться незначительным придиркой, но вы не можете отобразить ESP обратно через TCP-порт, не настроив предыдущий туннель по другому протоколу. Это связано с тем, что ESP работает на уровне IP и поэтому не имеет доступа к номерам портов. Есть Nat-T, который является ESP поверх UDP, но это еще более сложно. В любом случае, я бы предложил это редактировать.
Крис Треверс
1

Да, ты прав. Похоже, вам придется иметь дело с отдельными IP-адресами, если вы не будете агрегировать через концентратор VPN. TBH концентратор, вероятно, лучший выбор, вам просто потребуется 1 дополнительный IP для всех VPN-подключений, но его внешний интерфейс должен находиться в другой подсети / VLAN, отличной от общедоступных IP-хостов. Я хотел бы пойти с этим в противном случае вы настраиваете IPSEC VPN непосредственно на каждом отдельном сервере, какой кошмар

wintermute000
источник