GRE - оверлейная сеть

GRE - оверлейная сеть

Я арендую несколько выделенных серверов, и у них есть только один интерфейс для подключения к Интернету.

Однако для многих случаев использования я хотел бы, чтобы мои серверы взаимодействовали через частную IP-сеть. Например, это позволило бы мне выставлять внутренние сервисы (ldap, puppet master, apt repository, bind) только в LAN.

В идеале я хотел бы иметь оверлейную сеть, которая выглядела бы как частная сеть (каждая машина имела бы новый виртуальный интерфейс с локальным IP-адресом), но работала бы в Интернете.

Раньше я использовал для этого Freelan, который работал просто великолепно, за исключением того, что я больше не хочу использовать такой экзотический стек.

Мне было интересно, возможно ли это с GRE/IPSec? Из того, что я видел, мне пришлось бы настроить один интерфейс GRE для каждого однорангового узла на каждом хосте, чтобы получить полную сетку. Есть ли более простое решение? Похоже, это не очень хорошо масштабируется с количеством одноранговых узлов.

решение1

Да. Вы можете настроить интерфейсы gre, а затем зашифровать ваш межсерверный трафик gre с помощью ipsec. То же самое можно сделать с помощью ipip (некоторые системы UNIX называют этот тип интерфейсагифка). Но, на самом деле, это старый устаревший способ. Что еще более устаревший - это настройка не-gre ipsec, потому что в этом случае его будет трудно поддерживать и почти невозможно маршрутизировать, потому что никакие динамические протоколы маршрутизации не смогут работать поверх устаревшего безинтерфейсного ipsec.

В то же время существует технология, которую Cisco называет VTI (Интерфейс виртуального туннеля) и Juniper называет st (безопасный туннель). В то же время это немного сложнее (нужно создать специальный тип интерфейса, способный обрабатывать IP-трафик)иterminate ipsec), но в то же время проще, так как не добавляет промежуточный заголовок IP (хотя gre с ipsec в транспортном режиме тоже). Современные Linux поддерживают эту технологию, плюс она совместима с оборудованием Cisco и Juniper.

Итак, по сути у вас есть следующие варианты, я перечисляю их в порядке возрастания сложности:

  • незашифрованные туннели ipip/gre (безопасно, если ваш транспорт уже защищен TLS), довольно просты в настройке
  • чистый устаревший IPsec (устаревший, но достойный упоминания)
  • gre/ipip вместе с шифрованием IPsec
  • ВТИ/ст

Плюс, есть много программного обеспечения, которое создает VPN на уровне пользователя. Главным недостатком этого является ограниченная совместимость — оно может взаимодействовать только с тем же программным обеспечением. Однако, это на самом деле лучше, чем устаревший ipsec, потому что он ближе к приличной маршрутизации. Однако, если говорить о протоколах динамической маршрутизации, то действуют несколько ограничений, и я не рекомендую использовать его в среде, которая должна масштабироваться:

  • опенвпн
  • ошеломить
  • тинк

И напоследок я должен заметить, что если говорить о выделенных серверах, которые находятся водиндатацентр, VPN немного излишне. Правильным решением было бы настроить для них VLAN с частной адресацией, добавить этот vlan в транк 802.1q, который будет обрабатывать ваш сервер, и создать интерфейс vlan. Таким образом, один интерфейс все равно будет использоваться (однако, большинство современных серверных платформ имеют как минимум два медных гигабита, поэтому я не вижу проблемы в том, чтобы включить еще один простой интерфейс ethernet — это просто самая простая вещь).

Связанный контент