Score:-1

ไม่สามารถเชื่อมต่อ Fortigate VPN หลัง NAT แบบคงที่กับเกตเวย์ GCP VPN

ธง cn

นี่คือความต้องการ:

เชื่อมต่ออุปกรณ์ Fortigate ที่อยู่เบื้องหลัง NAT แบบคงที่ 1:1 กับอินเทอร์เน็ตไปยังเกตเวย์ VPN ของ Google Cloud Platform (GCP)

แผนภาพ ASCII แบบง่าย:

LOCAL_LAN ---- Fortigate ----- ไฟเบอร์โมเด็ม ---- อินเทอร์เน็ต ---- GCP VPN Gateway ----- 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

กล่าวว่า: คุณต้องกำหนด peer ID เป็น public IP เพื่อให้ทันเนลปรากฏขึ้น

สิ่งที่แปลกคือฉันได้กำหนด IP สาธารณะในพารามิเตอร์ Localid ของ FortiGate เฟส 1 และมันถูกส่งไปยัง GCP VPN Gateway อย่างถูกต้อง

เป็นเหตุการณ์ที่รับทราบในบันทึก GCP ดังที่แสดงด้านล่าง!

{
รหัสแทรก: "5abggbg2313tdw"
ป้ายกำกับ: {1}
ชื่อบันทึก: "projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events"
การประทับเวลารับ: "2021-09-01T21:14:46.610751733Z"
ทรัพยากร: {2}
ความรุนแรง: "DEBUG"
**textPayload: "IDir '201.110.XXX.240' ไม่ตรงกับ '201.110.XXX.240'"**
การประทับเวลา: "2021-09-01T21:14:46.592461252Z"
}

แต่ปัญหาคือเฟส 2 ไม่เคยมีการเจรจาในฝั่ง GCP และอุโมงค์ถูกลบ สำหรับจุดประสงค์ด้านเอกสาร ต่อไปนี้เป็นผลลัพธ์ในบันทึกการดีบัก ike ของ Fortigate:

ike 0:gcp00-0:10752: ประมวลผล INITIAL-CONTACT
ike 0:gcp00-0: กำหนดการเจรจาอัตโนมัติ
ike 0:gcp00-0:10752: ไม่มีการเจรจา Quick-Mode ที่รอดำเนินการ
[...]
ike 0:gcp00-0:10751: recv ISAKMP SA ลบ 14cb5d60541aaaaa/d405bbbbf6d06acb

การตัดการเชื่อมต่อ ISAKMP จะจับคู่กับบันทึก GCP:

{
รหัสแทรก: "5abbbg2313tdx"
ป้ายกำกับ: {1}
ชื่อบันทึก: "projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events"
การประทับเวลารับ: "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[%ใดๆ]"
การประทับเวลา: "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 การเจรจาจะไม่สามารถดำเนินการให้เสร็จสิ้นได้เลย เหตุผล: เมื่อสร้างพารามิเตอร์นี้บน FGT phase1-interface gw แล้ว Fortigate จะส่งแพ็กเก็ตพร้อมกับ SOURCE IP ของ IP ที่กำหนดโดย local-gw เนื่องจาก IP นี้ไม่ถูกต้องสำหรับโมเด็ม แพ็กเก็ตจะไม่ถูกส่งออกไป

สิ่งสำคัญคือต้องทราบว่าฉันสร้าง 2 อุโมงค์ อันหนึ่งบน ike v1 และอีกอันหนึ่งบน ike v2 เพื่อทดสอบ ด้วยเหตุนี้ IPs ในอุโมงค์ต่อไปนี้จึงแตกต่างกัน: นี่คือบันทึกหลักฐานจากคอนโซล GCP:

{
รหัสแทรก: "134hqnjg23gnfib"
ป้ายกำกับ: {1}
ชื่อบันทึก: "projects/my-project-name-xxxxx/logs/cloud.googleapis.com%2Fipsec_events"
การประทับเวลารับ: "2021-09-01T21:52:39.566968571Z"
ทรัพยากร: {2}
ความรุนแรง: "DEBUG"
textPayload: "กำลังมองหา peer configs ที่ตรงกัน 35.220.XXX.31[%any]...201.110.XXX.240[201.110.XXX.240]"
การประทับเวลา: "2021-09-01T21:52:39.552310603Z"
}

{
รหัสแทรก: "134hqnjg23gnfia"
ป้ายกำกับ: {1}
ชื่อบันทึก: "projects/my-project-xxxxxx/logs/cloud.googleapis.com%2Fipsec_events"
การประทับเวลารับ: "2021-09-01T21:52:39.566968571Z"
ทรัพยากร: {2}
ความรุนแรง: "DEBUG"
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 นั้นถูกต้อง GCP VPN Gateway ปฏิเสธที่จะตั้งค่าอุโมงค์ (เฟส 2)

มีใครทราบวิธีตั้งค่า IKE v2 IDi หรือ IDr บนข้อกำหนดเฟส 1 บน Fortigate หรือไม่

ใครเคยเห็นปัญหานี้มาก่อน? ข้อเสนอแนะใด ๆ

Arden Smith avatar
pe flag
คุณต้องการโซลูชัน HA ถูกต้องหรือไม่
Hawkmx avatar
cn flag
ถูกต้อง @ArdenSmith ฉันกำลังพยายามใช้ HA Tunnels ของ Google เพื่อให้เจาะจงยิ่งขึ้น ฉันกำลังพยายามตั้งค่าอุโมงค์ GCP เหล่านี้: '''
Hawkmx avatar
cn flag
เพื่อให้เจาะจงยิ่งขึ้น ฉันกำลังพยายามตั้งค่าอุโมงค์ GCP เหล่านี้: gcloud คำนวณ vpn-gateways สร้าง [GW_NAME] --network [NETWORK] --region [REGION]
Score:0
ธง cn

ตอบคำถามของฉันเอง มันไป:

บน FortiOS 7.0.1 เมื่อ ForiGate ทำงานอุปกรณ์ NAT ที่ทำ NAT แบบ 1:1 ไม่มีวิธีใดที่เป็นเอกสารหรือชัดเจนในการกำหนด IDi หรือ IDr ของข้อกำหนดเฟสที่หนึ่งบน FortiGate ในวิธีที่ GCP ยอมรับในการตั้งค่า อุโมงค์

วิธีเดียวในการตั้งค่าอุโมงค์ VPN ระหว่างเกตเวย์ VPN FGT และ GCP คือให้ FortiGate มี Public IP ที่กำหนดให้กับอินเทอร์เฟซที่เชื่อมต่อกับ GCP VPN โดยตรง

ด้วยวิธีนี้ คุณสามารถกำหนด IP "local gw" ให้กับอินเทอร์เฟซ ซึ่งเป็น IP สาธารณะในข้อกำหนด FGT Phase 1 ด้วยเหตุนี้ การเจรจาทันเนลจึงเสร็จสมบูรณ์และ VPN ใช้งานได้

โดยสรุป อย่าพยายามตั้งค่าอุโมงค์ FGT เป็น GCP VPN เมื่อ FGT อยู่หลังอุปกรณ์ NAT มันจะไม่ทำงานเลย!

สิ่งนี้ได้รับการทดสอบด้วย FortiOS 7.0.1 ที่เชื่อมต่อกับ GCP VPN Redundant Gateways ด้วย IP สาธารณะเดียวบน FortiGate และสอง IPs บนฝั่ง GCP VPN โดยใช้ IKE v2 IKE v1 ไม่ได้รับการทดสอบ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา