เราเตอร์ที่ให้ทางออกอินเทอร์เน็ตแบบอุโมงค์เต็มทำงานสองอย่างที่ดูเหมือนอย่างเดียว มันสิ้นสุดอุโมงค์และส่งแพ็กเก็ตไคลเอนต์ที่ถอดรหัสแล้วออกไปยังอินเทอร์เน็ต มีเพียงงานที่สองเท่านั้นที่ต้องการการแปล และการแปลต้องตรงกับเส้นทางภายใน ความแตกต่างนี้กำหนดว่าอินเทอร์เฟซใดรับบทบาท NAT และช่วงที่อยู่ใดปรากฏในกฎ

ติดตามแพ็กเก็ตหนึ่งแพ็กเก็ตผ่านเราเตอร์

สมมติให้ไคลเอนต์ที่ 10.90.0.25 เปิดบริการ HTTPS สาธารณะ ปลายทางนั้นจะเข้าอุโมงค์หรือไม่เป็นการตัดสินใจของนโยบายไคลเอนต์เอง เมื่อเข้ามา เราเตอร์จะถอดรหัสแพ็กเก็ตและส่งไปยังอินเทอร์เฟซเสมือน จากนั้นจึงถูกกำหนดเส้นทางไปยังอัปลิงก์สาธารณะ

อินเทอร์เฟซเสมือนนั้นคือด้านในของการแปล อัปลิงก์สาธารณะคือด้านนอก หากบทบาทสลับกันหรือหายไป แพ็กเก็ตจะออกไปพร้อมแหล่งที่มาส่วนตัว หรือถูกทิ้งก่อนที่จะถูกแปล

StageQuestion to answer
VPN clientDoes the client's policy put this destination inside the tunnel?
Decrypted ingressWhich virtual interface receives the inner packet?
Internet egressWhich route, access policy and source translation apply?
ReplyIs the client's flow translated back before it is delivered over the tunnel?

จับค่านโยบายการแปลกับกลุ่มไคลเอนต์

กฎ NAT ต้องระบุช่วงที่ไคลเอนต์ได้รับจริง ไม่ใช่ LAN ของสำนักงานที่บังเอิญใช้อัปลิงก์ร่วมกัน กฎที่ครอบคลุมเฉพาะซับเน็ตภายในจะพลาดไคลเอนต์ระยะไกล แม้ทั้งสองจะออกผ่านอินเทอร์เฟซเดียวกัน

ip access-list extended NAT-TUNNEL
 permit ip 10.90.0.0 0.0.0.255 any
ip nat inside source list NAT-TUNNEL interface GigabitEthernet0/0/0 overload

แยกข้อยกเว้นสำหรับไซต์ส่วนตัวไว้ต่างหาก ทราฟฟิกไปยังปลายทางภายใน ต้องคงแหล่งที่มาดั้งเดิมไว้ มิฉะนั้นปลายทางจะตอบกลับไปยังที่อยู่ที่ไปไม่ถึง และขากลับจะล้มเหลวในลักษณะที่ดูเหมือนลูปลูปเส้นทาง

ใช้บทบาทกับอินเทอร์เฟซจริงในการออกแบบที่ติดตั้งไว้ ชิ้นส่วน Virtual-Template ที่คัดลอกจากคำตอบ Easy VPN เก่าไม่ใช่การกำหนดค่าปัจจุบันที่สมบูรณ์ และชนิดอุโมงค์ที่ใช้เป็นตัวกำหนดว่าอินเทอร์เฟซใดรับแพ็กเก็ตที่ถอดรหัสแล้ว

แยกการขนส่งภายนอกกับการแปลภายในออกจากกัน

การแปลแหล่งที่มาของแอปพลิเคชันที่ถอดรหัสแล้วไม่ใช่การดำเนินการเดียวกับการดันแพ็กเก็ต IKE หรือแพ็กเก็ตที่ป้องกันผ่านอุปกรณ์ NAT ที่อยู่เหนือขึ้นไป อย่างแรกเปลี่ยนสิ่งที่อินเทอร์เน็ตมองเห็นเป็นแหล่งที่มาของคำขอไคลเอนต์ ส่วนอย่างที่สองทำให้อุโมงค์ยังคงอยู่ผ่านอุปกรณ์กลาง

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

ไม่มีความล้มเหลวใดแก้ไขได้ด้วยการเปลี่ยนอีกอย่าง อ่านว่าคุณกำลังดูเส้นทางใดก่อนแก้ไขกฎ

ตรวจสอบที่ขอบทั้งสองด้าน

อ่านแหล่งที่มาของแอปพลิเคชันที่ขอบอินเทอร์เน็ต และปลายทางที่กู้คืนได้ในขากลับ อย่างแรกบอกว่าการแปลเกิดขึ้นหรือไม่ อย่างที่สองบอกว่าการแมปย้อนกลับมาถึงไคลเอนต์ที่ถูกต้องหรือไม่

จากนั้นทดสอบไคลเอนต์ที่ใช้เส้นทางอุโมงค์แยกที่ได้รับอนุมัติ ไคลเอนต์นั้นไม่เคยใช้การแปลอินเทอร์เน็ตของเราเตอร์นี้ ดังนั้นจึงควรมีพฤติกรรมแตกต่าง และความแตกต่างยืนยันว่าเส้นทางใดที่ทราฟฟิกใช้

หากไคลเอนต์ทั้งสองมีพฤติกรรมเหมือนกัน นโยบายอุโมงค์แยกไม่ได้ทำตามที่การออกแบบระบุ แก้ไขก่อนเพิ่มกฎการแปลเพิ่มเติม เพราะกฎที่เขียนสำหรับเส้นทางที่ไม่ได้ใช้จะซ่อนปัญหาจริง

บทความที่เกี่ยวข้อง