В статье расскажу опыт построения сетевого взаимодействия между физическими компьютерами и виртуальными машины, созданные в среде VMWare Esxi 6.7. Организация маршрутизации между всеми устройствами осуществляется с помощью Mikrotik CHR.
И так приступим.
Введение
В некоторых случаях иногда бывает необходимо физические машины объединить в одну сетевую инфраструктуру с виртуальными машинами. При этом обеспечить изолированность каждого адресного пространства друг от друга, но предоставить доступ к общим виртуальным машинам с любого устройства внутри инфраструктуры.
Приведу первоначальную топологию.
Что имеем:
- Коммутатор D-Link. К нему подключены физические машины и сервер с VMWare ESXI. Сам коммутатор подключен к вышестоящему оборудованию организации.
- Некоторый парк физических машин.
- Набор виртуальных машин.
- Одна виртуальная машины, на которой установлен Windows Server и AD.
Задача
Необходимо по 2 физические машины и 2 виртуальные машины объединить в одно адресное пространство. При этом нельзя затрагивать общую инфраструктуру организации. Каждый сформированный набор машин должен быть изолирован друг от друга, но должны быть обеспечены выходом в интернет и доступом к AD.
Реализация
Первоначально начнем с того, что на коммутаторе порты к которым подключены физические машины поместим в собственные VLAN, которых нет в инфраструктуре организации. В итоге получается что в каждом VLAN оказывается по две физические машины. Далее все созданные VLAN помешаем на сервер где установлен VMWare.
На виртуальном switch VMWare получаем следующую структуру:
Для того, чтобы организовать маршрутизацию и разделение на подсети используем Mikrotik CHR. На сервере VMWare разнесем созданные VLAN между виртуальными машинами и Mikrotik. В итоге получаем следующим вид для каждого VLAN:
Новая топологию с Mikrotik CHR выглядит следующим образом:
На виртуальный маршрутизатор в итоге приходят следующие интерфейсы:
- Интерфейс для доступа к внутренней сети организации
- Интерфейс с реальным IP адресов
- Интерфейс каждого созданного VLAN
Настройка Mikrotik CHR
Для всех созданных интерфейсов на маршрутизаторе добавим комментарий и определим наименование.
/interface ethernet
set [ find default-name=ether1 ] comment="VLAN ID 361 Uplink to Org" name=Class_VM
set [ find default-name=ether2 ] comment="Interface Vlan 2025 Real_Outside" name=Real_Outside
set [ find default-name=ether3 ] comment="Interface WSR_4001 for StudentWSR #1" name=WSR_4001
set [ find default-name=ether4 ] comment="Interface WSR_4002 for StudentWSR #2" name=WSR_4002
set [ find default-name=ether5 ] comment="Interface WSR_4003 for StudentWSR #3" name=WSR_4003
set [ find default-name=ether6 ] comment="Interface WSR_4004 for StudentWSR #4" name=WSR_4004
set [ find default-name=ether7 ] comment="Interface WSR_4005 for StudentWSR #5" name=WSR_4005
set [ find default-name=ether8 ] comment="Interface WSR_4006 for StudentWSR #6" name=WSR_4006
set [ find default-name=ether9 ] comment="Interface WSR_4007 for WinServerDC" name=WSR_4007
/interface list
add comment="Interface List All Local Vlan" name=local_vm
/interface list member
add interface=WSR_4001 list=local_vm
add interface=WSR_4002 list=local_vm
add interface=WSR_4003 list=local_vm
add interface=WSR_4004 list=local_vm
add interface=WSR_4005 list=local_vm
add interface=WSR_4006 list=local_vm
add disabled=yes interface=WSR_4007 list=local_vm
Теперь для каждого интерфейса можем определить собственное адресное пространство, в каждом адресном пространстве DNS сервером будет являться виртуальная машина с Windows Server и AD. Тем самым каждое устройство сможет быть добавлено в созданную AD. Внутри AD дополнительно укажем DNS сервера организации.
/ip address
add address=*.*.*.*/27 interface=Class_VM network=*.*.*.*
add address=10.0.35.1/29 interface=WSR_4001 network=10.0.35.0
add address=10.0.36.1/29 interface=WSR_4002 network=10.0.36.0
add address=10.0.37.1/29 interface=WSR_4003 network=10.0.37.0
add address=10.0.38.1/29 interface=WSR_4004 network=10.0.38.0
add address=10.0.39.1/29 interface=WSR_4005 network=10.0.39.0
add address=10.0.40.1/29 interface=WSR_4006 network=10.0.40.0
add address=10.0.41.1/29 interface=WSR_4007 network=10.0.41.0
add address=*.*.*.*/27 interface=Real_Outside network=*.*.*.*
Для обеспечения изолированности каждой подсети друг от друга создадим соответствующее правило, но при этом обеспечим доступ к сети где располагаются Windows Server с AD (цепочка forward). Также запретим ICMP пакеты между сетями (цепочка input).
/ip firewall filter
add action=accept chain=forward in-interface-list=local_vm out-interface=WSR_4007
add action=accept chain=forward in-interface=WSR_4007 out-interface-list=local_vm
add action=drop chain=input comment="Block ping between interface" in-interface-list=local_vm protocol= icmp
add action=drop chain=forward comment="Block traffic between interface" in-interface-list=local_vm out-interface-list=local_vm
/ip firewall nat
add action=masquerade chain=srcnat out-interface=Class8_509_VM
Для упрощения работы помещаем нужные интерфейсы в один список, тем самым обеспечиваем удобства в настройке firewall.
После всех настроек получаем следующую ситуация из DHCP сервера:
Как видим машины занимают адреса из определенных сетей.
Итог
Используя виртуальный Mikrotik CHR обеспечивается возможность взаимодействия между физическими машинами и виртуальными. Разделение каждого набора машин в собственное адресное пространство позволяет изолировать созданные объекты.
AntonVirtual
Шел 2018год. Оказывается можно делать прикольные штуки с микротиком!
Стандарт 802.1q с VLAN был создан в 1998м кажется.
EvgenyT Автор
Ага, особенно когда он завиртуален)