Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

Hyper-V:การเปิดใช้งานการกำหนดเส้นทางระหว่างเครือข่ายภายใน (ซับเน็ต)

งานของฉันคือสร้างเครือข่ายย่อย IP ภายในหลายเครือข่ายและกำหนดค่าเส้นทางระหว่างเครือข่ายย่อยเหล่านี้บนขาตั้ง Hyper-V แบบสแตนด์อโลนของฉัน ตามค่าเริ่มต้น Hyper-V จะไม่กำหนดเส้นทางการรับส่งข้อมูลระหว่างเครือข่ายบนสวิตช์เสมือน ดังนั้นเพื่อแก้ปัญหาเช่นนี้ คุณต้องสร้างเครื่องเสมือนที่มีอินเทอร์เฟซเครือข่ายสองอินเทอร์เฟซบนสวิตช์ Hyper-V ที่ต่างกัน (ในเครือข่ายที่ต่างกัน) และกำหนดค่าเส้นทางระหว่างอินเทอร์เฟซโดยใช้ซอฟต์แวร์ guest OS (อาจเป็น VM ที่ใช้งาน Windows Server ด้วยบทบาท RRAS หรือโฮสต์ Linux ที่มีตารางเส้นทางเฉพาะ) วิธีนี้ไม่สะดวกนัก เนื่องจากคุณต้องเรียกใช้ VM แยกต่างหากเพื่อวัตถุประสงค์ในการกำหนดเส้นทางเท่านั้น และเมื่อเพิ่มซับเน็ต IP ใหม่ คุณจะต้องกำหนดค่าตารางเส้นทางใหม่บน VM เพิ่มเติมของคุณ อย่างไรก็ตาม ฉันสามารถหาวิธีกำหนดค่าโฮสต์ Hyper-V เพื่อให้สามารถทำงานเป็นเราเตอร์ระหว่างสวิตช์เสมือน/เครือข่าย/เครือข่ายย่อย IP ที่แตกต่างกัน

ดังนั้นฉันจึงมีเครื่องเสมือน 2 เครื่องที่สร้างขึ้นในเครือข่ายภายในที่แตกต่างกันบนโฮสต์ Hyper-V ด้วยที่อยู่ IP ต่อไปนี้:

  • mun-dc01 :192.168.13.11/24 (เกตเวย์ 192.168.13.1)
  • hh-dc02 :192.168.113.11/24 (เกตเวย์ 192.168.113.1)

หากต้องการอนุญาตการกำหนดเส้นทางบน Windows Server คุณต้องเปิดใช้งานพารามิเตอร์รีจิสทรีพิเศษ — IPEnableRouter (มีการกล่าวถึงในบทความเกี่ยวกับวิธีกำหนดค่าการส่งต่อพอร์ตใน Windows)

เปิด PowerShell ในฐานะผู้ดูแลระบบบนโฮสต์ Hyper-V แก้ไขรีจิสทรี และรีสตาร์ทโฮสต์ของคุณ:

Set-ItemProperty -Path HKLM:\system\CurrentControlSet\services\Tcpip\Parameters -Name IpEnableRouter -Value 1
Restart-computer

Hyper-V:การเปิดใช้งานการกำหนดเส้นทางระหว่างเครือข่ายภายใน (ซับเน็ต)

ในขั้นตอนถัดไป ให้สร้างสวิตช์เสมือนภายใน Hyper-V ใหม่สองตัว คุณสามารถสร้างได้ใน Hyper-V Manager หรือด้วย PowerShell:

New-VMSwitch -Name vSwitchIntMUN -SwitchType Internal
New-VMSwitch -Name vSwitchIntHH -SwitchType Internal

Hyper-V:การเปิดใช้งานการกำหนดเส้นทางระหว่างเครือข่ายภายใน (ซับเน็ต)

เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการกำหนดค่า Hyper-V จาก PowerShell

จากนั้นเปิดแผงควบคุม -> เครือข่ายและอินเทอร์เน็ต -> การเชื่อมต่อเครือข่ายบนโฮสต์ Hyper-V คุณจะเห็นรายการอะแดปเตอร์เครือข่ายบนโฮสต์ของคุณ มีอะแด็ปเตอร์เสมือนใหม่สองตัว (Hyper-V Virtual Ethernet Adapter) สำหรับสวิตช์เสมือนที่คุณสร้างขึ้น กำหนดที่อยู่ IP ให้กับพวกเขาโดยใช้ PowerShell หรือผ่านคุณสมบัติของอะแดปเตอร์เครือข่าย
New-NetIPAddress -InterfaceAlias 'vEthernet (vSwitchIntMUN)' -IPAddress 192.168.13.1 -PrefixLength 24
New-NetIPAddress -InterfaceAlias 'vEthernet (vSwitchIntHH)' -IPAddress 192.168.113.1 -PrefixLength 24

อย่างที่คุณเห็น เราได้กำหนดที่อยู่ IP ของเกตเวย์เริ่มต้นในแต่ละซับเน็ตให้กับอินเทอร์เฟซเหล่านี้

Hyper-V:การเปิดใช้งานการกำหนดเส้นทางระหว่างเครือข่ายภายใน (ซับเน็ต)

เชื่อมต่อ VM แต่ละตัวกับสวิตช์เสมือน (หากคุณยังไม่ได้ทำ):

Connect-VMNetworkAdapter -VMName mun-dc01 -SwitchName vSwitchIntMUN
Connect-VMNetworkAdapter -VMName hh-dc03 -SwitchName vSwitchIntHH

จากนั้น VM ของคุณจะส่งทราฟฟิกผ่านอินเทอร์เฟซของสวิตช์เสมือนเหล่านี้

ตรวจสอบให้แน่ใจว่าเครื่องเสมือน Hyper-V จากเครือข่ายภายในต่างๆ มองเห็นกันและกัน ตรวจสอบการกำหนดเส้นทางโดยใช้ tracert และความพร้อมใช้งานของพอร์ตโดยใช้ cmdlet ของ Test-NetConnection PowerShell:

Test-NetConnection 192.168.13.11 -port 445
tracert 192.168.13.11

Hyper-V:การเปิดใช้งานการกำหนดเส้นทางระหว่างเครือข่ายภายใน (ซับเน็ต)

อย่างที่คุณเห็น ขณะนี้โฮสต์รับผิดชอบ ICMP ping และ TCP โปรดทราบว่าการตั้งค่าไฟร์วอลล์ Windows Defender ใน VM ของคุณอาจบล็อกการรับส่งข้อมูล ตรวจสอบให้แน่ใจว่าคุณได้อนุญาตการรับส่งข้อมูล ICMP ใน Windows Firewall และเพิ่มกฎไฟร์วอลล์ที่อนุญาตอื่น ๆ

ดังนั้นเราจึงได้กำหนดค่าการกำหนดเส้นทางระหว่างเครือข่ายเสมือนหลายเครือข่ายบนโฮสต์ Hyper-V วิธีนี้ใช้ได้กับ Hyper-V บน Windows 10 และ Windows Server 2016/2019