Puncte:-1

Nu se poate conecta un VPN Fortigate în spatele unui NAT static la un gateway VPN GCP

drapel cn

Iată nevoia:

Conectați un dispozitiv Fortigate în spatele unui NAT static 1:1 la internet la un gateway VPN Google Cloud Platform (GCP).

Diagrama ASCII simplificată:

LOCAL_LAN ---- Fortigate ----- Modem fibră ---- Internet ---- GCP VPN Gateway ----- GCP_VPC

Modemul Fiber face NAT 1:1 la Fortigate, modul DMZ este apelat pe acest modem.

Am urmat mai multe instructiuni:

Cum să creez un VPN la un gateway extern pe GCP - Sunt cazul de utilizare #3, deoarece am doar un singur IP public pe Fortigate https://cloud.google.com/network-connectivity/docs/vpn/how-to/creating-ha-vpn#gcloud_4

Interoperabilitate cu Fortinet - Nu am 2 IP-uri statice, unul pentru fiecare interfață pe Fortigate https://cloud.google.com/community/tutorials/using-ha-vpn-with-fortigate

Rezultate cu IKE v1:

Faza 1 este negociată, problema este că faza 2 nu este niciodată adusă în discuție. Ghidul de depanare de la Google:

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

Spune: trebuie să definiți ID-ul de peer ca IP public pentru ca tunelul să fie afișat.

Ceea ce este ciudat este că am definit pe parametrul local FortiGate Phase 1 IP-ul public și este trimis corect către GCP VPN Gateway.

Este un eveniment recunoscut în jurnalele GCP, așa cum se arată mai jos!

{
insertId: „5abgbbg2313tdw”
etichete: {1}
logName: „projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events”
primire ștampilă: „2021-09-01T21:14:46.610751733Z”
resursă: {2}
severitate: „DEBUG”
**textPayload: „IDir „201.110.XXX.240” nu se potrivește cu „201.110.XXX.240””**
marca temporală: „2021-09-01T21:14:46.592461252Z”
}

Dar problema este că Faza 2 nu este niciodată negociată pe partea GCP și tunelul este șters. În scopuri de documentare, iată rezultatul din jurnalul de depanare ike al Fortigate:

ca 0:gcp00-0:10752: procesat INITIAL-CONTACT
ike 0:gcp00-0: planificați negocierea automată
ike 0:gcp00-0:10752: nu există negocieri în modul rapid în așteptare
[...]
ike 0:gcp00-0:10751: recv ISAKMP SA șterge 14cb5d60541aaaaa/d405bbbbf6d06acb

Deconectarea ISAKMP este apoi potrivită în jurnalele GCP:

{
insertId: „5abgbbg2313tdx”
etichete: {1}
logName: „projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events”
primire ștampilă: „2021-09-01T21:14:46.610751733Z”
resursă: {2}
severitate: „NOTICĂ”
textPayload: „se șterge IKE_SA vpn_201.110.XXX.240[2662] între 35.242.XXX.165[35.242.XXX.165]...201.110.XXX.240[%any]”
marca temporală: „2021-09-01T21:14:46.592502955Z”
}

Negocierea rămâne în această stare într-o buclă infinită.

Teste cu IKE v2.

Am incercat si pe IKE v2, rezultatele sunt destul de asemanatoare. Tunelul nu este niciodată prezentat, singura diferență este că, pe partea FGT, nu pot trimite IP-ul public către gateway-ul GCP VPN. Am încercat să modific parametrii localid, local-gw și eap pe IKEv2 fără succes. Jurnalul din perspectiva GPC este AUTHENTICATION_FAILED. Autentificarea PSK este finalizată, dar, deoarece colegii nu sunt niciodată identificați corespunzător, nu este niciodată adusă în discuție. Dacă definesc parametrul local-gw pe FGT ca IP-ul public al modemului în fața Fortigate, negocierea în sine nu poate fi finalizată deloc. Motivul: la stabilirea acestui parametru pe interfața FGT phase1-gw, Fortigate va trimite pachetele cu IP-ul SURSA a IP-ului definit local-gw. Deoarece acest IP nu este valid pentru modem, pachetul nu este trimis niciodată.

Este important de menționat că am făcut 2 tuneluri, unul pe ike v1 și altul pe ike v2 pentru a testa. Din acest motiv, IP-urile din următorul tunel sunt diferite: Iată jurnalele de dovezi din consola GCP:

{
insertId: „134hqnjg23gnfib”
etichete: {1}
logName: „projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events”
primire Timp: „2021-09-01T21:52:39.566968571Z”
resursă: {2}
severitate: „DEBUG”
textPayload: „Se caută configurații peer care se potrivesc cu 35.220.XXX.31[%any]...201.110.XXX.240[201.110.XXX.240]”
marca temporală: „2021-09-01T21:52:39.552310603Z”
}

{
insertId: "134hqnjg23gnfia"
etichete: {1}
logName: „projects/my-project-xxxxxx/logs/cloud.googleapis.com%2Fipsec_events”
primire Timp: „2021-09-01T21:52:39.566968571Z”
resursă: {2}
severitate: „DEBUG”
textPayload: „Solicitare IKE_AUTH analizată 1 [ IDi N(INIT_CONTACT) AUTH N(MSG_ID_SYN_SUP) SA TSi TSr ]”
marca temporală: „2021-09-01T21:52:39.552287263Z”
}

ÎNTREBĂRI

Știe cineva de ce pe ike v1, chiar dacă IP-urile sunt corecte, GCP VPN Gateway refuză să configureze tunelul (faza 2)?

Știe cineva o modalitate de a seta IKE v2 IDi sau IDr pe definiția fazei 1 pe un Fortigate?

A mai văzut cineva această problemă? Orice sugestii?

Arden Smith avatar
drapel pe
Vrei soluția HA, este corect?
Hawkmx avatar
drapel cn
Este corect @ArdenSmith, încerc să folosesc tunelurile HA Google. Pentru a fi mai specific, încerc să configurez aceste tuneluri GCP: '''
Hawkmx avatar
drapel cn
Pentru a fi mai specific, încerc să configurez aceste tuneluri GCP: gcloud compute vpn-gateways create [GW_NAME] --network [NETWORK] --region [REGION]
Puncte:0
drapel cn

Ei bine, răspunzând la propria mea întrebare. Aici merge:

Pe FortiOS 7.0.1, când ForiGate se află în spatele unui dispozitiv NAT care efectuează un NAT 1:1, nu există nicio modalitate documentată sau explicită de a defini IDi sau IDr al definiției primei faze pe FortiGate într-un mod în care GCP îl acceptă pentru configurare. tunelul.

Singura modalitate de a configura un tunel VPN între un FGT și GCP VPN Gateway este ca FortiGate să aibă IP-ul public atribuit direct interfeței care se conectează la GCP VPN.

În acest fel, puteți defini IP-ul „local gw” la Interfață, IP public pe definiția FGT Faza 1. Cu asta, negocierea tunelului este finalizată și VPN-ul funcționează.

În rezumat, NU ÎNCERCAȚI să configurați un tunel VPN FGT la GCP atunci când FGT se află în spatele unui dispozitiv NAT. Nu va funcționa deloc!

Acest lucru a fost testat cu FortiOS 7.0.1 conectându-se la GCP VPN Redundant Gateways cu un singur IP public pe FortiGate și DOUĂ IP-uri pe partea GCP VPN folosind IKE v2. IKE v1 nu a fost testat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.