Hyper-V VM พร้อมส่วนต่อประสานสาธารณะและภายใน


0

ฉันกำลังใช้ Hyper-V และมีปัญหากับหนึ่งในเครื่องเสมือนของฉันที่เข้าถึงอินเทอร์เน็ต แผนภาพด้านล่างแสดงการกำหนดค่าพื้นฐาน:

Diagram

เครื่องโฮสต์มีสวิตช์เสมือนสองสวิตช์ - หนึ่ง "ภายนอก" และหนึ่ง "ภายใน"

สวิตช์ภายนอกมีที่อยู่ IP สองที่ - ที่อยู่หลักและที่อยู่แทนซึ่งอยู่ในช่วงเครือข่ายที่แตกต่างกัน เกตเวย์เริ่มต้นอยู่ในช่วงเครือข่ายเดียวกันกับที่อยู่ IP หลัก

เครื่องเสมือน 2 (ซึ่งมีอะแดปเตอร์เครือข่ายเดียวเท่านั้นซึ่งอยู่ในสวิตช์ "ภายใน" และมีที่อยู่ IP คลาส C) ไม่มีปัญหาในการเข้าถึงอินเทอร์เน็ตหรือ VM อื่น ๆ บนสวิตช์ภายใน

Virtual Machine 1 มีสองอินเตอร์เฟส:

  1. หนึ่งที่สวิตช์ภายนอกเพื่อให้สามารถเข้าถึงได้จากอินเทอร์เน็ตและใช้นามแฝง IP ของเครื่องโฮสต์เป็นเกตเวย์เริ่มต้น
  2. อินเตอร์เฟสอื่นบนสวิตช์ภายในเพื่อสื่อสารกับ VM อื่น

ปัญหาที่ฉันพบคือ Virtual Machine 1 ไม่สามารถเข้าถึงอินเทอร์เน็ตได้ มันสามารถ ping เครื่องเสมือนอื่น ๆ บนสวิตช์ภายในโดยไม่มีปัญหาใด ๆ และสามารถ ping ที่อยู่ IP ทั้งสองของสวิตช์ภายนอกได้ แต่จะไม่สามารถ ping เกตเวย์ IP ได้ แพ็กเก็ตควรไปจาก VM2 ไปยังนามแฝงบนเครื่องโฮสต์ (ซึ่งทำ) แต่ฉันเดาว่าเครื่องโฮสต์กำลังป้องกันไม่ให้แพ็กเก็ตจากการกำหนดเส้นทางไปยังเกตเวย์

ฉันจะรับ Virtual Machine 1 เพื่อเข้าถึงอินเทอร์เน็ตได้อย่างไร


(1) แผนภาพที่ดี! แต่ฉันมีปัญหาเล็กน้อยในการอ่านข้อความสีเหลือง (2) คุณได้ลองใช้งาน tracert (บน VM1) (3) คุณวางดมกลิ่นบนเกตเวย์หรือระหว่างโฮสต์และเกตเวย์เพื่อดูว่า สิ่งใด จาก VM1 กำลังผ่าน?
Scott

ฉันไม่เข้าใจว่าทำไมคุณใช้ที่อยู่ IP จากโฮสต์ทางกายภาพเป็นประตูบนแขก VM? คุณมีอะไรที่ทำงานบนโฮสต์ที่จะกำหนดเส้นทางการจราจรจากแขกไปยังอินเทอร์เน็ตสำหรับคุณ เนื่องจากไม่ได้ใช้ VM ควรจะสามารถเข้าถึงอินเทอร์เน็ตได้
Appleoddity

อย่างไรก็ตามคุณไม่สามารถมีเกตเวย์เริ่มต้นสองแห่งในเครื่องเดียวเว้นแต่ว่าจะเป็นเส้นทางที่ซ้ำซ้อนไปยังตำแหน่งเดียวกัน
Appleoddity

@Scott ใช่ฉันได้ลอง tracert จาก VM1 ( 192.168.100.3 ) เพื่อ IP อย่างใดอย่างหนึ่งบนเครื่องโฮสต์ ( 2.2.2.173 หรือ 1.1.1.121) และใช้งานได้ดี (เพียง 1 hop) เมื่อฉันลอง tracert ไปที่ _1.1.1.97 ผ่าน (เกตเวย์เริ่มต้นของเครื่องโฮสต์) มันไม่ทำงาน คำขอหมดเวลาเช่นนั้น: ติดตามเส้นทางไปที่ 1.1.1.97 มากกว่าสูงสุด 30 hops 1 * * * หมดเวลาคำขอ
Stephen Kennedy

@Appleoddity อะแดปเตอร์ vEthernet สำหรับสวิตช์ Hyper "V" ภายนอก "เปิดใช้งานการส่งต่อ ip มีการกำหนดค่าเป็นอินเทอร์เฟซ "ที่ใช้ร่วมกัน" (ใน Windows) เพื่อให้ทราฟฟิกจากอะแดปเตอร์เครือข่ายที่สอง (สวิตช์ "ภายใน") จะถูกกำหนดเส้นทางผ่านมัน .. ไม่มีเกตเวย์สองแห่งที่กำหนดค่าไว้ในเครื่องเดียว เครื่องโฮสต์มีเกตเวย์เริ่มต้นที่ 1.1.1.97 และเครื่องเสมือนใช้เกตเวย์เริ่มต้น 192.168.100.1
Stephen Kennedy

คำตอบ:


0

ดูเหมือนว่าปัญหาคือฉันใช้ Windows Server 2012 และเห็นได้ชัดว่า Hyper-V ไม่รองรับ NAT จนกระทั่งรุ่น 2016 ตามคำตอบของคำถามอื่นที่โพสต์ไว้ที่นี่:

https://serverfault.com/questions/821859/configuring-nat-on-a-hyper-v-server-2012-r2

ฉันต้องตั้งค่า Virtual Machine 1 เป็นเกตเวย์สำหรับเครื่องเสมือนอื่นทั้งหมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.