Как использовать Google Cloud VPN для подключения к сети клиента, когда клиент зарезервировал все возможные внутренние IP-адреса?

Цель

Я хотел бы использовать API третьей стороной. Эта третья сторона требует, чтобы я установил VPN-соединение с их сетью. Таким образом, им нужен IP-адрес удаленного узла для установки VPN, а затем внутренний IP-адрес, который они могут занести в белый список.

Мое приложение размещено на Google Cloud Platform, поэтому я хотел бы настроить VPN-туннель и шлюз, используя Google Cloud VPN. Я намерен использовать виртуальную машину GCE для запроса стороннего API через VPN.

Попытка решения

Я настроил VPN-шлюз и туннель на основе маршрута (только с одним маршрутом) для сторонней стороны с помощью облака VPN. Консоль GCP подтвердила, что соединение было успешно установлено.

Я также установил виртуальную машину GCE и назначил ей статический внутренний IP-адрес и статический внешний IP-адрес.

Третья сторона внесла в белый список статический внешний IP-адрес, назначенный моей виртуальной машине.

Проблема

Мое решение не сработало. Несмотря на то, что VPN успешно подключился, мне не удалось выполнить эхо-запрос внутреннего IP-адреса, предоставленного третьей стороной из моей виртуальной машины GCE.

Проблема в том, что третья сторона утверждает, что зарезервировала все возможные внутренние IP-адреса в своей собственной сети: 172 . *, 192. *, 10. *, как бы странно это ни казалось ... Таким образом, они не могут внести в белый список внутренний IP-адрес моей виртуальной машины, который конфликтует с их внутренним диапазоном адресов. Вместо этого они занесли в белый список внешний IP-адрес, назначенный моей виртуальной машине.

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

Вопрос

Как это обойти? Я думаю, проблема в том, что когда я использую свою виртуальную машину для запроса их API через VPN, трафик исходит от внутреннего IP (но они занесли в белый список только мой внешний IP). Так есть ли способ заставить трафик исходить с внешнего IP-адреса моей виртуальной машины при использовании Cloud VPN?

Я изучил возможность настройки собственной VPN на экземпляре виртуальной машины, используя следующие инструкции: Настройте экземпляр как VPN шлюз . Однако кажется, что даже здесь я сталкиваюсь с той же проблемой конфликтов диапазонов внутренних IP-адресов.

Любая помощь будет принята с благодарностью!

0
задан 26 September 2018 в 13:25
1 ответ

Согласно документации GCP, Cloud VPN можно использовать с Сети VPC и устаревшие сети . Для VPC рекомендуется использовать пользовательский режим , чтобы вы могли полностью контролировать диапазоны IP-адресов, используемых подсетями в сети. Насколько я понимаю, было бы невозможно использовать внешний IP-адрес с Cloud VPN.

Как вы упомянули, невозможно использовать диапазон IP-адресов 172., 192., 10.X, не могли бы вы попробовать использовать какой-либо другой IP-адрес. диапазон, который является допустимым блоком CIDR RFC 1918 .

10.0.0.0 - 10.255.255.255 (префикс 10/8)
172.16.0.0 - 172.31.255.255 (префикс 172.16 / 12)
192.168.0.0 - 192.168.255.255 (префикс 192.168 / 16)

Надеюсь, не все эти блоки CIDR были зарезервированы.Использование экземпляра виртуальной машины в GCP в качестве шлюза VPN создаст ту же проблему, что и получение IP из того же блока IP. Что вы можете сделать, так это попросить третью сторону освободить небольшие сегменты IP-блока и использовать этот IP-блок для создания сети с настраиваемым режимом и использовать его в этом VPN-сценарии.

Однако, если вы хотите использовать облако VPN, вам придется использовать один из этих блоков CIDR.

Для этого, если вы хотите, вы можете создать запрос функции для использования внешнего IP-адреса с Cloud VPN, для этого перейдите по этой ссылке запроса функции.

2
ответ дан 4 December 2019 в 13:23

Теги

Похожие вопросы