นี่คือความต้องการ:
เชื่อมต่ออุปกรณ์ 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 หรือไม่
ใครเคยเห็นปัญหานี้มาก่อน? ข้อเสนอแนะใด ๆ