วิธีแก้ปัญหานั้นค่อนข้างตรงไปตรงมากว่าเล็กน้อย
ละเว้น iptables เปิดคำสั่ง เครื่อง ก สำหรับตอนนี้ที่เกี่ยวกับการซ่อนเครือข่ายย่อยของคุณ 192.168.2.0/24 อยู่เบื้องหลัง NAT
แทนที่จะมุ่งเน้นไปที่สิ่งที่เกิดขึ้นจริงเมื่อคุณทำคำสั่ง ping
เมื่อคุณส่ง ping ไปยัง ip ระยะไกล คุณต้องแจ้งทั้งสองอย่าง เครื่อง ก และ เครื่อง B วิธีรับเครือข่ายที่เกี่ยวข้อง 192.168.0.0/24 และ 192.168.2.0/24.
คุณเข้าใจส่วนแรกถูกต้องเกี่ยวกับการบอก เครื่อง B เพื่อที่จะ ping อะไรก็ได้ 192.168.2.0/24 มันต้องผ่านไป 25.61.150.71.
นั่นคือสิ่งที่คุณทำในคำสั่ง:
machineB> เส้นทาง sudo ip เพิ่ม 192.168.2.0/24 ผ่าน 25.61.150.71
สิ่งนี้เป็นไปได้ตั้งแต่ เครื่อง ก และ เครื่อง B อยู่ในเครือข่ายย่อยเดียวกันที่จัดทำโดย Hamachi
แต่คำสั่ง ping ใดๆ ก็จำเป็นต้องส่งการตอบกลับกลับมาด้วย ดังนั้น เครื่อง ก รู้ว่าเครือข่ายอยู่ที่ไหน 192.168.0.0/24 ตั้งอยู่?
คุณบอกได้ เครื่อง ก เครือข่ายย่อยนั้น 192.168.0.0/24 ตั้งอยู่ด้านหลัง 25.72.151.72.
สิ่งนี้นำไปสู่คำสั่งต่อไปนี้:
machineA> เส้นทาง sudo ip เพิ่ม 192.168.0.0/24 ผ่าน 25.72.151.72
อย่างไรก็ตาม เรายังออกจากป่าไม่ได้เสียที เครื่อง ก และ เครื่อง B รู้ว่าจะส่งทราฟฟิกไปยังโฮสต์ใดที่เป็นของเน็ต เรายังมีความท้าทายว่าจะทำอย่างไร โฮสต์อื่นใด ที่เป็นของ 192.168.0.0/24 ทราบวิธีการติดต่อ 192.168.2.0/24?
ถ้า เครื่อง ก และ เครื่อง B ไม่ใช่เกตเวย์เริ่มต้นสำหรับเครือข่ายของพวกเขา ดังนั้นเราจำเป็นต้องเพิ่มเส้นทางแบบคงที่ไปยังเกตเวย์เริ่มต้นบนเน็ตใดเครือข่ายหนึ่ง
สำหรับ เครื่อง กเราเตอร์เริ่มต้นเราต้องบอกอย่างนั้น 192.168.0.0/24 สามารถเข้าถึงได้ผ่าน 192.168.2.160.
คล้ายกันที่เราต้องบอก เครื่อง Bเริ่มต้นของเราเตอร์ที่ 192.168.2.0/24 สามารถเข้าถึงได้ผ่าน 192.168.0.103.
หลังจากดำเนินการทั้งหมดนี้แล้ว คุณควรจะสามารถ ping จากโฮสต์ใด ๆ ที่เป็นของเน็ตไปยังโฮสต์ใด ๆ ที่เป็นของเน็ตอื่นได้