วิธีแก้ปัญหานั้นค่อนข้างตรงไปตรงมากว่าเล็กน้อย
ละเว้น 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 จากโฮสต์ใด ๆ ที่เป็นของเน็ตไปยังโฮสต์ใด ๆ ที่เป็นของเน็ตอื่นได้