Настройка VLAN на HP 1920 24G и Hyper-V
В этой заметке описываю создание обособленной виртуальной частной сети (VLAN) от шлюза до виртуальной машины в гипервизоре MS Hyper-V.
Общая схема выглядит так:
Цифрами обозначены физические порты различных устройств. Конечная точка — виртуальная машина в гипервизоре Hyper-V с операционной системой CentOS 7 и поднятым на ней Web-сервером Nginx. Весь путь от АПКШ Континент до него должен быть полностью изолирован от локальной сети. Эта задача решается с применением VLAN на управляемых коммутаторах и в гипервизоре. Локальная сеть начинается с порта номер 5.
АПКШ Континент — это аппаратный криптошлюз, управляемый из центра обработки данных из другого города — я не имею доступа к его конфигурации. На входе он получает интернет, а на выходе он отдаёт интернет + частную сеть вышестоящей организации. Изначально я просил просто пробросить порты 80, 443 и 9950 на pfSense, но безопасник ЦОДа категорически отказался это делать, и вместо этого сделал проброс данных портов на адрес виртуальной машины, из отдельного физического порта Континента (порт 2). Плюс к этому, поместил этот трафик в VLAN 41.
Итого имеем задачу провести этот трафик отдельно от внутренней сети организации, но через те же коммутаторы.
Для начала попробую сделать так, чтобы подключиться к виртуалке можно было только засунув провод в 13-ый порт коммутатора. Использовать буду VLAN 41.
Заходим в Веб-интерфейс нижнего на картинке коммутатора в раздел Network -> VLAN. Во вкладке в Create и создаем VLAN’ы которые хотим использовать.
Если Вы принялись настраивать VLAN’ы, то настоятельно рекомендуют полностью отказаться от использования 1-ого VLAN’а из соображений безопасности. Якобы он не тэгируется совсем. Ну х.з., я не проверял и просто последую этой рекомендации. Теперь всё что у меня было в 1-ом VLAN’е отныне будет в 10-ом.
Также рекомендуют создавать отдельный DUMMY (бесполезный) VLAN и засовывать туда все неиспользуемые порты коммутатора. Опять же из соображений безопасности.
У меня получились следующие VLAN’ы:
1 VLAN 0001
10 Shared NLAN to ALL (instead 1)
41 DMZ from 3 port of Kontinent
777 DUMMY
Для удобства тестирования, Вы можете открыть доступ к Web-интерфейсу свича в создаваемом VLAN’е. Для этого заходим в раздел Network -> VLAN Interface и делаем примерно следующее:
У меня здесь данный свич имеет свой IP-адрес в двух VLAN’ах: 1-ом (192.168.0.6) и 41-ом (192.168.41.6)
Главное-не забыть убрать доступ если сеть не доверенная, как у меня.
Далее заходим в Network -> VLAN -> Select VLAN и выбираем все VLAN’ы (выбрать Display all VLANs и нажать Select)
Это необходимо для вкладок Detail и Modify VLAN, т.к. в комбобоксе будут доступны выбранные на данном этапе VLAN’ы
В разделе VLAN Summary для каждого VLAN’а указан список нетэгированных и тэгированных портов.
нетэгированные порты:
на выходе из порта в сторону подключенного устройства в своих фреймах не соделжат тэга о принадлежности к какому-то VLAN. Т.е. эсли этот порт принадлежит к какому-то влану, то трафик, идущий со стороны внутреннего мира коммутатора, растэгируется (лишается метки о своем влане). Если трафик идёт от подключенного устройства внутрь коммутатора, то этот порт присваивает трафику метку о VLAN этого порта.тэгированные порты:
пропускают через себя только фреймы с меткой о влане, принадлежащем порту. не лишают и не присваивают метки о VLAN, а лишь пропускают через себя трафик выбранного влана.
Вкладки Port Detail и Detail исключительно информационные. В них мы можем просматреть принаднежность вланов выбранному порту и принадлежность портов выбранному влану соответственно.
Переходим в Modify VLAN
— выбираем влан который будем редактировать
— выбираем один из пунктов Untagged, Tagged, Not A Member. Грубо говоря это цвет, которым мы будем закрашивать порты.
— закрышиваем порты. Синим (Untagged) пометим нетэгированные порты выбранного влана, Зелёным (Tagged) — тэгированные. Серым можете сбросить принадлежность порта данному влану.
Я пометил 7-ой порт синим (нетэгированным), а 20 — зеленым (тэгированным), нажал Apply и получил предупреждение: Access port GE1/0/20 will be change to hybrid port. С чего это? Жму нет. Х.з. что такое hybrid port.
Это потому что 20-й порт имеет Link Type: Access, а должен быть Trunk.
Access порты служат для подключения конечных устройств, того что не должно занать о существовании каких-то вланов в принципе (в общем случае — компьютеры сотрудников, сетевые принтеры, устройства конференц-связи и тому подобное). Эти порты нетэгированные.
Trunk — порты которые умеют передавать через себя помеченный вланами трафик. Тэгированные порты.
Поэтому идём во вкладку Modify port, выбираем нужный порт (у меня 20-й), выбираем Link Type: Trunk и жмём Apply.
Теперь можем повторить операцию в предыдущем пункте на вкладке Modify VLAN. В итоге имеем грубо говоря: порт 7 — физический порт для подключения какого-либо конечного устройства (не содержит информации о влане). Принадлежит виртуальному коммутатору, обслуживающему выбранный влан (у меня это влан 41). порт 20 — физический порт, принадлежащий тому же виртуальному коммутатору, и служит для подключения устройства, понимающего вланы, например, другого коммутатора того же влана.
У меня 20-й порт подключен к сетевой карте сервера виртуализации, где развёрнут Hyper-V. В настройках нужной виртуальной машины у меня указан влан 41.
Итак, у нас получилось логически выделить виртуальный коммутатор к которому подключена виртуальная машина и физический порт № 13.
Теперь попробуем настроить связь по VLAN 41 от верхнего HP 1920 до виртуалки:
Заходим в Web-интерфейс верхнего коммутатора и делаем примерно следующее:
В это же время в нижнем у нас:
С такой конфигурацией мы получили примерно следующую картину:
Подтверждением этому служат выводы команд nmap -sn 192.168.41.0/24 и nmap -sn 192.168.0.0/24 на виртуальной машине:
Подключение к неподконтрольному АПКШ Континент:
Остался последний шаг — подключение к неподконтрольному шлюзу. Как Вы помните, в нём проброшены порты 40, 443 на ip-адрес виртуальной машины. Так как данный VLAN — недоверенная сеть, то закрываем все ненужные ресурсы.
- Нужно в разделе VLAN Interface на 41 VLAN у обоих коммутаторов убрать ip адреса.
- Нужно убрать порты 7 и 17.
- Нужно создать Trunk 41 — порт для подключения проводом к криптошлюзу.
- Нужно отказаться от использования VLAN 1. Когда будете переносить все порты с VLAN 1 на VLAN 10, не накосячьте с доступом в WEB-интерфейс. Создайте сначала его, а то рискуете потерять управление. Также не накосячьте со своими виртуальными машинами, т.к. у каждой машины в сетевом интерфейсе нужно прописать 10 VLAN. К тому же в виртуальных коммутаторах самого Hyper-V нужно прописать VLAN 10 чтобы была возможность управлять виртуалками оттуда.
Ну и не забываем сохранить конфигурацию коммутаторов, иначе после перезагрузки всё сбросится обратно!
Вместо заключения:
Данная статья призвана разъяснить использование VLAN в web-интерфейсе коммутаторов HP и показать как пробрасывать влан до виртуалки на Hyper-V. Да, я не рекомендую настраивать сеть подобным образом так как во-первых, трафик от неподконтрольного роутера идёт прямиком во внутреннюю сеть. По-хорошему нужно пропустить его через свой маршрутизатор pfSence. Во-вторых: веб-сервер крутится на том же гипервизоре что и виртуальные машины для внутренней сети (если в гипервизоре обнаружится уязвимость, позволяющая проникнуть в хостовую ОС, будет очень плохо). Надо бы выделить отдельный физическй комп — Web-сервер и подключить его сразу к 3-му порту. В дальнейшем я, конечно повышу безопасность этой схемы, но на данном этапе моя задача показать настройку VLAN’ов.
P.S.: После настройки web-сервера я не смог открыть сайт из внутренней сети. Почему так получилось — описано здесь: http://www.it-simple.ru/?p=2250