VPN IPsec สอง WAN บน Junos: จับคู่เส้นทางต้นทางกับเกตเวย์ที่ถูกต้อง
คู่มือ SRX บน Junos สำหรับ IPsec สอง WAN จับคู่ต้นทางโลคัลแต่ละรายการกับเกตเวย์ที่เป็นไปได้ แล้วพิสูจน์ว่าสมาคมใดเป็นตัวที่พาทราฟฟิกจริง
สองลิงก์ WAN ต่อหนึ่งไซต์ดูเหมือนความซ้ำซ้อนจนกว่าคุณจะพยายามพิสูจน์ว่าคู่แอดเดรสใดที่โฟลว์หนึ่งใช้จริง บน SRX เกตเวย์ IKE หนึ่งตัวพาอินเทอร์เฟซภายนอกหนึ่งพอร์ตและแอดเดรสโลคัลหนึ่งรายการ รายการผู้สมัครระยะไกลไม่ได้สร้างต้นทางโลคัลตัวที่สอง ดังนั้นคู่มือนี้จึงเริ่มจากเมทริกซ์ของคู่ก่อน ไม่ใช่จากการกำหนดค่า เพราะ Junos ยอม commit ดีไซน์ที่ครอบคลุมเพียงครึ่งหนึ่งของชุดค่าผสมที่คุณตั้งใจได้อย่างง่ายดาย ผมเจอเรื่องนี้บน SRX345s สองเครื่อง อุโมงค์สำรองขึ้นมาอย่างสะอาดและก็ยังทำให้เซสชันล้มตอนสลับกลับ
ทำตามขั้นตอนให้เป็นลำดับ เริ่มจากระบุคู่ที่ต้องรองรับ สร้างเกตเวย์หนึ่งตัวต่อต้นทางโลคัลหนึ่งรายการ ยืนยันว่าสมาคมใดพาทราฟฟิกไป แล้วจึงตัดสินใจว่าความล้มเหลวแต่ละแบบได้รับอนุญาตให้เปลี่ยนอะไร
วางแผนที่ของคู่ก่อนแตะ CLI
ถ้าไซต์ A ส่งต้นทางจาก A1 หรือ A2 ได้ และไซต์ B รับบน B1 หรือ B2 ได้ คุณมีคู่แอดเดรสภายนอกสี่คู่ ดีไซน์ส่วนใหญ่ต้องการสองคู่ตลอดเวลาและถืออีกสองคู่เป็นตัวเลือก จดเมทริกซ์ลงไปและทำเครื่องหมายทุกแถว เพราะทุกแถวที่คุณสัญญาจะมีค่าใช้จ่ายเป็นเกตเวย์หนึ่งตัว อินเทอร์เฟซอุโมงค์หนึ่งพอร์ต และการตัดสินใจเรื่องเราต์ติ้งในภายหลัง
| Local source | Remote candidate | Required? |
|---|---|---|
| A1, ISP1 address | B1 | steady state |
| A1, ISP1 address | B2 | decide explicitly |
| A2, ISP2 address | B1 | decide explicitly |
| A2, ISP2 address | B2 | backup path |
ทุกคู่ที่จำเป็นต้องมีสามอย่างพร้อมกัน คือ underlay ที่เข้าถึงได้ระหว่างแอดเดรสเหล่านั้น การยอมรับซึ่งกันและกันของตัวตนคู่สัญญาและแอดเดรสต้นทางที่ปลายทั้งสอง และเส้นทางขากลับที่ได้รับการป้องกัน คู่ที่ทำงานได้ทางเดียวจะยังแสดงอุโมงค์อยู่ และความล้มเหลวจะปรากฏภายหลังเป็นทราฟฟิกแอปพลิเคชันทิศทางเดียว
หนึ่งเกตเวย์ต่อหนึ่งต้นทางโลคัล ไม่ใช่ต่อหนึ่งไซต์ระยะไกล
รายการแอดเดรสระยะไกลเป็นของเกตเวย์ และต้นทางโลคัลก็เช่นกัน เอกสารอ้างอิงเกตเวย์ IKE เก็บแอดเดรสระยะไกล อินเทอร์เฟซภายนอก แอดเดรสโลคัล และการตรวจจับคู่สัญญาที่ตายแล้วเป็นค่าตั้งแยกกัน และนั่นคือประเด็นทั้งหมด สองต้นทางโลคัลหมายถึงสองเกตเวย์บนสองยูนิต st0 การแชร์นโยบาย IKE ระหว่างกันทำได้ แต่การเก็บเกตเวย์ไว้ตัวเดียวแล้วหวังว่ามันจะเลือกต้นทางอื่นเองนั้นทำไม่ได้
set security ike policy IKE-P1 mode main
set security ike gateway GW-A1 ike-policy IKE-P1
set security ike gateway GW-A1 address 198.51.100.20
set security ike gateway GW-A1 address 198.51.100.21
set security ike gateway GW-A1 external-interface ge-0/0/0
set security ike gateway GW-A1 local-address 203.0.113.10
set security ike gateway GW-A1 version v2-only
set security ike gateway GW-A2 ike-policy IKE-P1
set security ike gateway GW-A2 address 198.51.100.20
set security ike gateway GW-A2 external-interface ge-0/0/3
set security ike gateway GW-A2 local-address 192.0.2.10
set security ike gateway GW-A2 version v2-onlyจากนั้นต่ออุโมงค์และให้ next hop สองรายการกับพรีฟิกซ์ระยะไกล หนึ่งรายการต่ออุโมงค์
set interfaces st0 unit 1 family inet
set interfaces st0 unit 2 family inet
set security ipsec policy IPSEC-P1 perfect-forward-secrecy keys group14
set security ipsec vpn VPN-A1 bind-interface st0.1
set security ipsec vpn VPN-A1 ike gateway GW-A1 ipsec-policy IPSEC-P1
set security ipsec vpn VPN-A2 bind-interface st0.2
set security ipsec vpn VPN-A2 ike gateway GW-A2 ipsec-policy IPSEC-P1
set routing-options static route 10.20.0.0/16 qualified-next-hop st0.1 preference 10
set routing-options static route 10.20.0.0/16 qualified-next-hop st0.2 preference 20เกตเวย์เดียวจะถือคำสั่งชนิด address สองรายการได้หรือไม่ขึ้นกับรีลีสและกระบวนการ IKE ที่อุปกรณ์รันอยู่ Junos รุ่นเก่าที่ใช้ kmd รับแอดเดรสระยะไกลได้เพียงรายการเดียวต่อเกตเวย์ ส่วนบิลด์ใหม่รองรับผู้สมัครหลายรายแต่เพิ่มข้อจำกัดของตัวเอง และคลัสเตอร์ความพร้อมใช้งานสูงเป็นจุดที่พบบ่อยซึ่งการรองรับนั้นแคบลง ตรวจสอบบันทึกรีลีสสำหรับบิลด์ที่คุณใช้จริงก่อนคัดลอกจากแชสซีรุ่นเก่า
ยืนยันว่าสมาคมใดพาแพ็กเก็ตไป
สอง SA กับสองอุโมงค์ไม่ได้บอกว่าตัวใดส่งต่อเซสชัน ถามอุปกรณ์โดยตรงและเทียบฟิลด์กับคู่ที่คุณตั้งใจไว้
show security ike sa detail
show security ipsec sa detail
show security flow session destination-prefix 10.20.1.0/24
show interfaces st0.1 | match packetsเอาต์พุตแบบละเอียดระบุเกตเวย์โลคัลและระยะไกลของแต่ละสมาคม ซึ่งเป็นวิธีที่เร็วที่สุดในการเห็นอุโมงค์ที่เจรจาจากต้นทางที่คุณไม่คาดคิด จากนั้นดูตัวนับแพ็กเก็ตต่อยูนิตบน st0.1 และ st0.2 ขณะส่งทราฟฟิกผ่าน อุโมงค์ที่ไม่พาอะไรเลยจะยังคงถือ SA ของมันและดูแข็งแรงในมุมมองสรุป
ให้ตัวตรวจจับของตัวเองแก่ความล้มเหลวแต่ละแบบ
ความมีชีวิตของคู่สัญญา การสูญเสียอัปลิงก์โลคัล การถอนเส้นทางที่ได้รับการป้องกัน และแอปพลิเคชันเสียหายเป็นสี่เหตุการณ์ที่ต่างกัน DPD ตอบเฉพาะอย่างแรก จึงควรกำหนดด้วยช่วงเวลาและเกณฑ์ที่คุณปกป้องได้ แทนที่จะปล่อยค่าเริ่มต้นและสมมติว่ามันครอบคลุมส่วนที่เหลือ
set security ike gateway GW-A1 dead-peer-detection interval 10
set security ike gateway GW-A1 dead-peer-detection threshold 3
set security ipsec vpn VPN-A1 vpn-monitor source-interface st0.1
set security ipsec vpn VPN-A1 vpn-monitor destination-ip 10.20.0.1การเฝ้าดูอุโมงค์ที่ทดสอบปลายทางภายในซับเน็ตระยะไกลครอบคลุมกรณีที่ DPD มองไม่เห็น คือ IKE ยังมีชีวิต เกตเวย์ตอบ และพรีฟิกซ์ที่ได้รับการป้องกันยังเข้าถึงไม่ได้อยู่ดี เลือกว่าตัวใดควรดึงลำดับความสำคัญ เพราะถ้าทั้งสองทำงานพร้อมกันจะเกิดพายุของการเปลี่ยนแปลงแทนการสลับที่สะอาด
อย่าลืมปลายทางไกล เส้นทางที่ต้องการซึ่งยังติดตั้งอยู่ที่ไซต์ระยะไกลยังชี้ไปยังอุโมงค์ที่คุณทิ้งไปแล้ว และไม่มีตัวจับเวลาโลคัลใดแก้ให้ได้ เผยแพร่ตรรกะลำดับความสำคัญเดียวกันบนคู่สัญญาทั้งสองฝั่ง และบันทึกว่าลิงก์ที่กลับมาสามารถดึงทราฟฟิกคืนเองได้หรือต้องสลับด้วยมือ
เปลี่ยนแอดเดรสของลิงก์หนึ่งโดยไม่แตะอีกอัน
เมื่อผู้ให้บริการให้บล็อกใหม่กับคุณ ให้เปลี่ยนความสัมพันธ์ทีละอย่าง อัปเดต address หรือ local-address บนคู่สัญญาทั้งสองฝั่งสำหรับคู่นั้น ทำ commit และล้างเฉพาะสมาคมที่ได้รับผลกระทบตามดัชนี แทนการล้าง SA ทั้งหมดบนอุปกรณ์ การล้างทั้งหมดจะพาอุโมงค์ที่ดีไปด้วยและเปลี่ยนหน้าต่างบำรุงรักษาให้กลายเป็นการหยุดให้บริการ
เก็บโฟลว์ที่ล้มเหลวหนึ่งรายการและรายละเอียดเซสชันเป็นหลักฐานก่อนล้างอะไรทั้งสิ้น จากนั้นรันการตรวจสอบข้างต้นซ้ำบนคู่แอดเดรสใหม่ การคืนลิงก์เป็นการตัดสินใจเรื่องเราต์ติ้ง จึงควรมองการกลับมาเป็นขั้นตอนที่ทดสอบแยกต่างหาก แทนการสมมติว่าลำดับความสำคัญเดิมจะกลับมาเอง
ปิดการเปลี่ยนแปลงด้วยเช็กลิสต์สั้น ๆ
ดีไซน์อุโมงค์สอง WAN เสร็จเมื่อคุณเอ่ยชื่อคู่ที่อยู่เบื้องหลังทุกเซสชันได้ ไม่ใช่เมื่อ SA ทั้งสองขึ้นแล้ว ให้ไล่รายการด้านล่างบนอุปกรณ์ที่คุณแก้จริง
- ทุกคู่ที่สัญญาไว้มีเกตเวย์ หนึ่งยูนิต st0 และหนึ่งรายการเส้นทาง
- ทุกอุโมงค์เคยเห็นว่าพาแพ็กเก็ต ไม่ใช่แค่ถือ SA
- ปลายทั้งสองเห็นตรงกันเรื่องการตรวจจับและเรื่องฝั่งใดคืนลำดับความสำคัญ
- เส้นทางขากลับของแต่ละคู่ถูกจดไว้ข้างเส้นทางขาไป
ถ้าแถวใดไม่ผ่าน ให้แก้คู่นั้นก่อนเพิ่มคู่ถัดไป การวางอุโมงค์ที่ทำงานเพียงครึ่งเดียวซ้อนกันทำให้ตัวนับไม่มีความหมายและพฤติกรรม failover คาดเดาไม่ได้