Рейтинг:-1

Не удается подключить Fortigate VPN за статическим NAT к шлюзу GCP VPN

флаг cn

Вот потребность:

Подключите устройство Fortigate за статическим NAT 1:1 к Интернету через VPN-шлюз Google Cloud Platform (GCP).

Упрощенная диаграмма ASCII:

LOCAL_LAN ---- Fortigate ----- Оптоволоконный модем ---- Интернет ---- Шлюз GCP VPN ----- GCP_VPC

Волоконный модем выполняет NAT 1:1 для Fortigate, на этом модеме вызывается режим DMZ.

Я следовал нескольким инструкциям:

Как создать VPN для внешнего шлюза на GCP — я использую вариант № 3, так как у меня есть только один общедоступный IP-адрес на Fortigate. https://cloud.google.com/network-connectivity/docs/vpn/how-to/creating-ha-vpn#gcloud_4

Совместимость с Fortinet — у меня нет 2-х статических IP-адресов, по одному на каждый интерфейс на Fortigate. https://cloud.google.com/community/tutorials/using-ha-vpn-with-fortigate

Результаты с IKE v1:

Фаза 1 обсуждается, проблема в том, что Фаза 2 никогда не поднимается. Руководство по устранению неполадок в Google:

https://cloud.google.com/network-connectivity/docs/vpn/support/troubleshooting

Говорит: вы должны определить идентификатор пира как общедоступный IP-адрес, чтобы туннель был поднят.

Что странно, так это то, что я определил в параметре локального идентификатора FortiGate Phase 1 общедоступный IP-адрес, и он правильно отправлен на шлюз GCP VPN.

Это событие подтверждено в журналах GCP, как показано ниже!

{
Идентификатор вставки: "5abgbbg2313tdw"
метки: {1}
logName: "projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events"
получитьTimestamp: "2021-09-01T21:14:46.610751733Z"
ресурс: {2}
серьезность: "ОТЛАДКА"
**textPayload: "IDir '201.110.XXX.240' не соответствует '201.110.XXX.240'"**
отметка времени: "2021-09-01T21:14:46.592461252Z"
}

Но проблема в том, что Фаза 2 никогда не согласовывается на стороне GCP, и туннель удаляется. В целях документации вот вывод журнала отладки Fortigate ike:

ike 0:gcp00-0:10752: обработано НАЧАЛЬНЫЙ КОНТАКТ
ike 0:gcp00-0: автоматическое согласование расписания
ike 0:gcp00-0:10752: нет ожидающих переговоров в Quick-Mode
[...]
ike 0:gcp00-0:10751: recv ISAKMP SA удалить 14cb5d60541aaaaa/d405bbbbf6d06acb

Затем отключение ISAKMP сопоставляется с журналами GCP:

{
Идентификатор вставки: "5abgbbg2313tdx"
метки: {1}
logName: "projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events"
получитьTimestamp: "2021-09-01T21:14:46.610751733Z"
ресурс: {2}
серьезность: "ВНИМАНИЕ"
textPayload: "удаление IKE_SA vpn_201.110.XXX.240[2662] между 35.242.XXX.165[35.242.XXX.165]...201.110.XXX.240[%any]"
отметка времени: "2021-09-01T21:14:46.592502955Z"
}

Согласование остается в этом состоянии в бесконечном цикле.

Тесты с IKE v2.

Я также пробовал на IKE v2, результаты очень похожи. Туннель никогда не поднимается, единственная разница в том, что на стороне FGT я не могу отправить общедоступный IP-адрес на шлюз GCP VPN. Я безуспешно пытался изменить параметры localid, local-gw и eap в IKEv2. Журнал с точки зрения GPC: AUTHENTICATION_FAILED. Аутентификация PSK завершена, но, поскольку одноранговые узлы никогда не идентифицируются должным образом, она никогда не вызывается. Если я определяю параметр local-gw на FGT как общедоступный IP-адрес модема перед Fortigate, само согласование вообще не может быть завершено. Причина: при установке этого параметра на GW фазы 1 интерфейса FGT Fortigate будет отправлять пакеты с ИСХОДНЫМ IP-адресом IP-адреса, определенного локальным GW. Поскольку этот IP-адрес не является действительным для модема, пакет никогда не отправляется.

Важно отметить, что я сделал 2 туннеля, один на ike v1, а другой на ike v2 для проверки. Из-за этого IP-адреса в следующем туннеле отличаются: Вот журналы доказательств из консоли GCP:

{
Идентификатор вставки: "134hqnjg23gnfib"
метки: {1}
logName: "projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events"
ReceiveTimestamp: "2021-09-01T21:52:39.566968571Z"
ресурс: {2}
серьезность: "ОТЛАДКА"
textPayload: "ищем одноранговые конфигурации, соответствующие 35.220.XXX.31[%any]...201.110.XXX.240[201.110.XXX.240]"
отметка времени: "2021-09-01T21:52:39.552310603Z"
}

{
InsertId: "134hqnjg23gnfia"
метки: {1}
logName: "projects/my-project-xxxxxx/logs/cloud.googleapis.com%2Fipsec_events"
ReceiveTimestamp: "2021-09-01T21:52:39.566968571Z"
ресурс: {2}
серьезность: "ОТЛАДКА"
textPayload: "проанализирован запрос IKE_AUTH 1 [IDi N(INIT_CONTACT) AUTH N(MSG_ID_SYN_SUP) SA TSi TSr]"
отметка времени: "2021-09-01T21:52:39.552287263Z"
}

ВОПРОСЫ

Кто-нибудь знает, почему на ike v1, даже если IP-адреса правильные, VPN-шлюз GCP отказывается настраивать туннель (фаза 2)?

Кто-нибудь знает способ установить IKE v2 IDi или IDr в определении фазы 1 на Fortigate?

Кто-нибудь видел эту проблему раньше? Какие-либо предложения?

Arden Smith avatar
флаг pe
Вы хотите решение HA, это правильно?
Hawkmx avatar
флаг cn
Это правильно @ArdenSmith, я пытаюсь использовать туннели Google HA. Чтобы быть более конкретным, я пытаюсь настроить эти туннели GCP: '''
Hawkmx avatar
флаг cn
Чтобы быть более конкретным, я пытаюсь настроить эти туннели GCP: gcloud computing vpn-gateways create [GW_NAME] --network [NETWORK] --region [REGION]
Рейтинг:0
флаг cn

Ну, отвечая на мой собственный вопрос. Вот оно:

В FortiOS 7.0.1, когда ForiGate управляет устройством NAT, выполняющим NAT 1:1, нет документированного или явного способа определить IDi или IDr определения первой фазы на FortiGate таким образом, чтобы GCP принял его для настройки. туннель.

Единственный способ настроить VPN-туннель между FGT и GCP VPN Gateway — это для FortiGate напрямую назначить общедоступный IP-адрес интерфейсу, который подключается к GCP VPN.

Таким образом, вы можете определить IP-адрес «local gw» для интерфейса, общедоступный IP-адрес в определении FGT Phase 1. На этом согласование туннеля завершено, и VPN работает.

Таким образом, НЕ ПЫТАЙТЕСЬ настроить туннель FGT-GCP VPN, когда FGT находится за устройством NAT. Это вообще не сработает!

Это было протестировано при подключении FortiOS 7.0.1 к резервным шлюзам GCP VPN с одним общедоступным IP-адресом на FortiGate и ДВУМЯ IP-адресами на стороне GCP VPN с использованием IKE v2. IKE v1 не тестировался.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.