กลายเป็นว่าปัญหาของฉันเกี่ยวกับการแยกช่องสัญญาณถูกวางไว้ในพื้นที่ที่แตกต่างกันโดยสิ้นเชิง เนื่องจากฉันมีเราเตอร์ 2 ตัวที่บ้าน ดังนั้นเครือข่ายในบ้านของฉันจึงเป็นดังนี้: ISP <-> R1 <-> R2 <-> ฉัน
... และ R1 ได้รับการกำหนดค่าเป็นที่อยู่ IP ในช่วง 10.0.0.0/24
เมื่อคุณปิดใช้งานการกำหนดเส้นทางเริ่มต้นในไคลเอนต์ VPN ของ Windows มันจะเพิ่มเส้นทางตามคลาสเข้ามา ดังนั้นในกรณีของฉัน มันจะเพิ่มเส้นทางที่ส่งทุกอย่างสำหรับ 10.0.0.0/8 ผ่าน VPN ซึ่งแน่นอนว่ามันจะขัดแย้งกับการตั้งค่า บนเราเตอร์ R1
นั่นคือเหตุผลที่ต้องการลบเส้นทาง 10.0.0.0/8 ออกทั้งหมดและผลักดันเส้นทางสำหรับซับเน็ต 10.88.0.0/16
และ 10.0.200.0/16
ผ่าน VPN
ปรากฎว่าทำได้
การกำหนดเส้นทางตามคลาสจะถูกลบออกโดยการเปิดใช้งาน ปิดใช้งานการกำหนดเส้นทางตามคลาส
เมื่อคุณปิดการใช้งาน เส้นทางเริ่มต้น
ในไคลเอนต์ VPN
ใน Strongswan คุณต้องส่งต่อคำขอ dhcp จากลูกค้าไปยังเซิร์ฟเวอร์ DHCP ที่ติดตั้ง RFC3442
ดังนั้นในการกำหนดค่าด้านบน ฉันต้องแทนที่เหตุการณ์ทั้งหมดของ พูล = IkeVPN-ipv4
กับ พูล = dhcp
และใน strongswan.conf
ฉันต้องเพิ่มสิ่งต่อไปนี้ลงในส่วนย่อยของปลั๊กอิน charon:
ชารอน {
ปลั๊กอิน {
...
dhcp {
เซิร์ฟเวอร์ = ip.address.of.dhcp.server
}
}
}
ฉันสามารถลบทั้งหมดได้ สระว่ายน้ำ
ส่วนที่ด้านล่างของการกำหนดค่าของฉัน
มีตัวเลือกเพิ่มเติมเล็กน้อย ซึ่งสามารถอ่านได้ที่นี่.
คำแนะนำจาก Strongswan จากคำใบ้ @ecdsa ให้ข้อมูลบางอย่าง แต่คำแนะนำนั้นเฉพาะกับ Windows ดังนั้นจึงไม่ได้บอกวิธีจัดการกับอุปกรณ์ Linux, MacOS หรือ Android อย่างไรก็ตาม RFC3442 จะจัดการกับกรณีทั่วไป
สรุปสิ่งที่ RFC3442 พูดคือคุณต้องส่งสองตัวเลือก dhcp ต่อไปนี้:
- ตัวเลือก 121 (ที่เกี่ยวข้องกับ Linux, Android และ Windows Vista หรือเก่ากว่า)
- ตัวเลือก 249 (ที่เกี่ยวข้องกับ Windows 7 หรือใหม่กว่าและ MacOS)
โดยทั่วไปคุณต้องเข้ารหัสแต่ละเส้นทางเป็นอาร์เรย์ของ int โดยใช้ไวยากรณ์ต่อไปนี้:
x,y1,y2,y3,y4,z1,z2,z3,z4
ที่ไหน:
- x: เน็ตมาสก์ CIDR
- y1 - y4: เป็นเครือข่ายที่คุณต้องการกำหนดเส้นทาง แต่มีข้อแม้ว่าเมื่อส่วนท้ายของลำดับ y1,y2,y3,y4 เป็นเลขศูนย์ทั้งหมด พวกมันจะถูกละไว้
- z1 - z4: เป็นเกตเวย์ nexthop ไปยังซับเน็ต
หากมีมากกว่าหนึ่งเส้นทางที่จะส่งผ่าน DHCP คุณจะต้องเพิ่มลำดับอื่นที่คล้ายกับด้านบนที่ส่วนท้ายของเราเตอร์ตัวแรก
ตามเอกสารของ Strongswan ฉันสามารถแทนที่เกตเวย์มาตรฐานด้วย 0.0.0.0
.
นั่นหมายถึงเส้นทางของฉันไป 10.0.200.0/24
ได้รับการเข้ารหัสเป็น 24,10,0,200,0,0,0,0
และ 10.88.0.0/16
ได้รับการเข้ารหัสเป็น 16,10,88,0,0,0,0
.
การรวมทั้งสองเข้าด้วยกันทำให้ฉัน 24,10,0,200,0,0,0,0,16,10,88,0,0,0,0
ซึ่งนำฉันไปสู่การกำหนดค่าต่อไปนี้ใน เซิร์ฟเวอร์ ISC DHCP
:
ตัวเลือก rfc-รหัสเส้นทาง 121 = อาร์เรย์ของจำนวนเต็ม 8;
ตัวเลือก ms-รหัสเส้นทาง 249 = อาร์เรย์ของจำนวนเต็ม 8;
เวลาเช่าเริ่มต้น 21600;
เวลาเช่าสูงสุด 86,000;
ซับเน็ต 10.0.201.0 เน็ตมาสก์ 255.255.255.0 {
ช่วง 10.0.201.1 10.0.201.254;
ตัวเลือกชื่อโดเมน "example.com";
ตัวเลือกโดเมนเนมเซิร์ฟเวอร์ ip.address.of.dns.server;
ตัวเลือก rfc-เส้นทาง 24,10,0,200,0,0,0,0,16,10,88,0,0,0,0;
ตัวเลือก ms-เส้นทาง 24,10,0,200,0,0,0,0,16,10,88,0,0,0,0;
}
ฉันหวังว่านี่จะช่วยใครก็ตามที่กำลังดิ้นรนกับการแยกอุโมงค์