Назад | Перейти на главную страницу

GCP: маршрутизация на псевдоним IP через IKEv1 VPN без BGP

У меня есть частный кластер GKE, работающий в одной подсети и регионе. Узлы в кластере используют CIDR подсети 10.60.0.0/16. Кластер имеет два дополнительных диапазона CIDR для своих модулей и служб (172.24.0.0/19 и 172.24.32.0/20 соответственно).

Локально у меня есть маршрутизатор Meraki с установленным VPN-туннелем IKEv1 в единственную подсеть. Маршрутизатор не поддерживает IKEv2, и в настоящее время я не могу настроить BGP (однако я думаю, что это возможно, и обращаюсь к нашему представителю). Я считаю, что Meraki рассчитывает справиться с этой ситуацией, указав несколько селекторов трафика, однако GCP не поддерживает это для статической маршрутизации, поскольку это противоречит стандарту. Я могу подключиться к узлам, используя их внутренние IP-адреса в подсети, но я не могу подключиться к каким-либо модулям или службам, работающим во вторичных CIDR, локально.

Я очень неопытен в этой области, поэтому прошу прощения за любые несоответствия, но вот то, что я пробовал до сих пор, и то, что я думаю, может сработать:

  1. Я пробовал второе VPN-соединение специально для CIDR службы GKE. Я могу подключить туннель, но все еще не могу подключиться к службам. Я создал это с помощью модуля terraform [1], который я также использовал для других своих VPN. Не уверены, что мне нужно добавить какие-то правила брандмауэра?

  2. Если я смогу заставить свой маршрутизатор поддерживать BGP, то это может сработать из того, что я вижу в руководствах Google [2]. Можете ли вы даже использовать BGP поверх IKEv1?

  3. Используя единый VPN, создайте внутренний балансировщик нагрузки, работающий в подсети. Однако, я думаю, это будет иметь некоторые недостатки и усложняет задачу.

  4. Если я не могу заставить свой маршрутизатор поддерживать BGP, и это единственный способ сделать это, я мог бы развернуть отдельный VPN-сервер на месте, если бы мне пришлось. Однако я бы предпочел не делать этого.

Ссылки:

  1. https://registry.terraform.io/modules/terraform-google-modules/vpn/google/0.3.0

  2. https://cloud.google.com/vpc/docs/alias-ip#example_configuring_containers_with_alias_ip_ranges

Какой вариант VPN-туннеля вы используете? Вы пробовали VPN на основе маршрутов?

Несколько селекторов трафика поддерживаются в GCP только для IKEv2 . Поскольку вы используете IKEv1, я предлагаю вам настроить VPN на основе маршрута. Имейте в виду, что, возможно, отсутствует правило брандмауэра, позволяющее локально общаться с GCP, вы можете добавить правила брандмауэра в GCP, чтобы разрешить входящий трафик из вашей локальной сети достигать первичного и вторичного диапазонов CIDR от GKE.

Если вы создаете VPN на основе политик или маршрутов и хотите отредактировать любой селектор трафика после его создания. Вам необходимо удалить VPN-туннель, а затем создать его заново. Пожалуйста, проверьте следующая ссылка о соображениях для селекторов трафика.

Что касается вашего вопроса о BGP в туннеле VPN с IKEv1. GCP поддерживает BGP с IKEv1, но предпочтительнее IKEv2.

Если у вас по-прежнему возникают проблемы с доступом к модулям, я предлагаю вам проверить опцию BGP в вашем VPN-туннеле. Как вы упомянули, адреса псевдонимов IP (первичный и вторичный диапазоны CIDR) могут быть объявлены облачным маршрутизатором в локальной сети, подключенной через VPN. Если облачный маршрутизатор настроен с использованием Cloud VPN, он автоматически объявляет диапазоны дополнительных подсетей 172.24.0.0/19 и 172.24.32.0/20 вашему локальному устройству VPN.