OpenVPN มีมาตรการตอบโต้ปัญหายอดนิยมนี้ โดยทั่วไปจะเป็น NAT แบบหนึ่งต่อหนึ่งแบบสแตติก มันถูกเปิดใช้งานด้วยความช่วยเหลือของ --client-แนท
ตัวเลือก:
--client-nat หาเรื่อง
ตัวเลือกไคลเอ็นต์แบบพุชได้นี้ตั้งค่า NAT แบบหนึ่งต่อหนึ่งแบบไร้สถานะ
กฎเกี่ยวกับที่อยู่แพ็กเก็ต (ไม่ใช่พอร์ต) และมีประโยชน์ในกรณีต่างๆ
ซึ่งการตั้งค่าเส้นทางหรือ ifconfig ที่ส่งไปยังไคลเอนต์
สร้างความขัดแย้งในการกำหนดหมายเลข IP
ตัวอย่าง:
ลูกค้า-nat snat 192.168.0.0/255.255.0.0
ลูกค้า-nat dnat 10.64.0.0/255.255.0.0
network/netmask (เช่น 192.168.0.0/255.255.0.0) กำหนด
มุมมองท้องถิ่นของทรัพยากรจากมุมมองของลูกค้า ในขณะที่
alias/netmask (เช่น 10.64.0.0/255.255.0.0) กำหนด
มุมมองระยะไกลจากมุมมองของเซิร์ฟเวอร์
ใช้ snat (NAT ต้นทาง) สำหรับทรัพยากรที่เป็นของลูกค้าและ
dnat (NAT ปลายทาง) สำหรับทรัพยากรระยะไกล
ตั้งค่า --verb 6 สำหรับการดีบักข้อมูลที่แสดงการเปลี่ยนแปลงของ
ที่อยู่ src/dest ในแพ็กเก็ต
เพิ่มสิ่งต่อไปนี้ในไฟล์กำหนดค่า OpenVPN ของไคลเอนต์ที่ได้รับผลกระทบ:
ลูกค้า-nat dnat 10.64.0.0/255.255.0.0
ลูกค้า-nat snat 10.64.0.0/255.255.0.0
และลองเชื่อมต่อกับเช่น 10.64.1.42 แทน 192.168.1.42
แจ้งให้ทราบในขณะนี้ อาจ ช่วยด้วย คุณจะต้องแก้ไขจุดบกพร่องอย่างแน่นอน (ใช้ กริยา 6
ในไฟล์คอนฟิกหรือบนแชนเนลการจัดการ)โปรดจำไว้ว่าสิ่งนี้มักเกิดข้อผิดพลาดได้ง่าย เนื่องจากจะทำให้เครือข่ายของคุณมีความชัดเจนน้อยลง และต้องใช้สมาธิมากขึ้นในการทำความเข้าใจว่าเกิดอะไรขึ้นและจะแก้ไขปัญหาอย่างไร และจะทำให้เกิดปัญหากับ IPSec หรือ SIP หรือโปรโตคอลที่ซับซ้อนอื่นๆ ตามมาอีก สิ่งนี้เป็นสิ่งที่หลีกเลี่ยงไม่ได้
หากต้องการแก้ไขปัญหานี้โดยไม่แนะนำตัวเลือกการกำหนดค่าที่ไม่ชัดเจน ให้ทำตามคำแนะนำของ Esa Jokinen ด้านบน ฉันจะพูดให้กว้างขึ้น: ตั้งแต่ 192.168.0.x และ 192.168.1.x เกิดขึ้นเป็นค่าเริ่มต้นของอุปกรณ์ในบ้านขนาดใหญ่ต่างๆ ห้ามใช้เครือข่ายเหล่านั้นสำหรับสำนักงานและอาจรวม 192.168.88.x ไว้ในรายการหยุดด้วย เนื่องจากเป็นค่าเริ่มต้นสำหรับอุปกรณ์ Mikrotik ซึ่งค่อนข้างเป็นที่นิยมเช่นกัน
การกำหนดหมายเลขเครือข่ายสำนักงานใหม่เพื่อไม่ให้ใช้เครือข่ายย่อยเหล่านั้นจะส่งผลให้การออกแบบเครือข่ายโดยรวมสะอาดที่สุด (และแนวคิดนี้ยังขยายไปถึงประสบการณ์เครือข่ายอื่นๆ ด้วย เช่น อย่าใช้ค่าเริ่มต้นของ VLAN ID 1 เป็นต้น)
วิธีแก้ปัญหาที่ง่ายและสับสนที่สุดคือวิธีแก้ปัญหาต่อไปนี้ คุณไม่สามารถทำได้ กด "เส้นทาง 192.168.1.0 255.255.255.0"
เนื่องจากคุณจะสูญเสียการเข้าถึงทรัพยากรในเครื่องทั้งหมด แต่คุณยังคงสามารถผลักดันเส้นทางไป ที่อยู่ส่วนบุคคล ในเครือข่ายย่อย ตัวอย่างเช่น หากไคลเอ็นต์จำนวนมากได้รับผลกระทบ ให้เพิ่มบรรทัดต่อไปนี้ในการกำหนดค่าของเซิร์ฟเวอร์:
กด "เส้นทาง 192.168.1.42"
(หน้ากากของ 255.255.255.255
สันนิษฐาน) กรณีเดียวที่จะใช้งานไม่ได้คือหากที่อยู่ไคลเอนต์เป้าหมายในเครือข่ายในบ้านคือ 192.168.1.42
; ในกรณีนี้จะไม่มีอะไรช่วย จากนั้นรีสตาร์ทเซิร์ฟเวอร์ หากมีไคลเอนต์เพียงไม่กี่ตัวที่ได้รับผลกระทบ คุณสามารถข้ามการรีสตาร์ทเซิร์ฟเวอร์ได้ (ซึ่งแสดงถึงการหยุดชะงัก) เพิ่ม เส้นทาง 192.168.1.42
กับการกำหนดค่าไคลเอ็นต์ที่ได้รับผลกระทบและบังคับให้เชื่อมต่อใหม่