У тестовому стенді на окремому сервері Hyper-V необхідно було створити кілька внутрішніх підмереж IP та налаштувати маршрутизацію між ними. За замовчуванням Hyper-V не направляє трафік між підмережами на віртуальних комутаторах. Тому, вирішуючи проблему B-LOB, вони зазвичай створюють окремий VM з двома мережевими інтерфейсами на різних перемикачах Hyper-V (в різних підмережах) і налаштовують маршрутизацію на інтерфейсі гостьової ОС (це може бути як VM Windows Server з маршрутизацією ролі RRAS або Host Linux з потрібною таблицею маршруту). Цей метод незручний тим, що необхідно зберегти окремий VM лише для маршрутизації, а при додаванні нової підмережі IP -адреси вам потрібно додати новий інтерфейс Sereva та переробити маршрутизацію на шлюз. Але мені вдалося розібратися, як налаштувати хост Hyper-V, щоб він сам діяв як маршрутизатор між різними віртуальними комутаторами/IP-підмережами.
Отже, у мене є 2 віртуальні машини в різних підмережах з такими IP-адресами: у мене є 2 віртуальні машини на моєму хості Hyper-V
- MSK-DC01:
192.168.13.11/24
(Шорс 192.168.13.1) - SPB-DC02:
192.168.113.11/24
(Шорс 192.168.113.1)
Щоб дозволити маршрутизацію на сервері Windows, вам потрібно ввімкнути спеціальний параметр реєстру Ipenablerouter (він розбирався у статті про налаштування переадресації портів у Windows).
У хості Hyper-V відкрийте консоль PowerShell з правами адміністратора та внесіть зміни в реєстр та перезавантажте хоста:
Set -Itemproperty -path hklm: \ system \ currentcontrolset \ tcpip \ параметри -name ipenablerouter -value 1
Перезавантаження
Наступним етапом є створення двох нових перемикачів віртуальної інтеграції Hyper -V. Ви можете створити перемикачі з консолі Hyper-V менеджера, або ви можете з PowerShell:
Новий -vmswitch -name vswitchintmsk -switchtype внутрішній
Новий -vmswitch -name vswitchintspb -switchtype внутрішній
Тепер перейдіть до хоста Hyper-V, щоб керувати панеллю \ Network та Internet \ Network Connections. Перед вами з’явиться список мережевих адаптерів хоста. Серед них буде два нових віртуальних адаптерів (віртуальний адаптер Ethernet Hyper-V) для створених вами віртуальних комутаторів. Призначте їм IP -адреси за допомогою PowerShell або через властивості мережевих адаптерів:
New -netipaddress -interfacealias 'vethernet (vswitchintmsk)' -ipaddress 192.168.13.1 -prefixLength 24
24
New -netipaddress -interfacealias 'vethernet (vswitchintspb)' -ipaddress 192.168.113.1 -prefixLength
Як бачите, ми призначили ці інтерфейси IP -адрес шлюзів, захищаючи в кожній підмережі.
Підключіть кожен VM до свого віртуального комутатора (якщо ви цього ще не зробили):
Connect -vmnetworkadapter -vmname msk -dc01 -switchname vswitchintmsk
Connect -vmnetworkadapter -vmname spb -dc03 -switchname vswitchintspb
Тепер ваш VM надішле трафік через ці інтерфейси віртуальних комутаторів.
Перевірте, що тепер віртуальні машини Hyper-V з різних сегментів див. Перевірте маршрутизацію за допомогою Tracert та наявності портів TCP за допомогою команди Test-NetConnection Test-NetConnection PowerShell:
Тест-NetConnection 192.168.13.11 -port 445
Tracert 192.168.13.одинадцять
Як бачите, зараз хости відповідають на ICMP Ping та TCP. Майте на увазі, що налаштування брандмауера Windows Defender у вашому VM може заблокувати трафік. Переконайтесь, що ви дозволили трафік ICMP до брандмауера Windows та додав інші резолюції брандмауера.
Отже, ми встановили маршрутизацію між кількома віртуальними підмережами на хості Hyper-V. Ця методика працює як для Hyper-V на Windows 10, так і для Windows Server 2016/2019.