Перейти к основному содержанию

ESXi 7.0 Firewall

VMware

В гипервизоре ESXi имеется встроенный Firewall. В нём предустановлен ряд правил, удовлетворяющих разработанному функционалу. Firewall по умолчанию включён. Часть правил отключена и включается только с запуском соответствующего сервиса.

Частичное управление правилами доступно в GUI, больше возможностей даёт esxcli.

Я работаю в ESXi 7.0.

GUI

Configure → System → Firewall. Здесь имеется две вкладки, в которых удобно просматривать текущие входящие и исходящие правила.

esxi

Удобно смотреть используемые службами порты, если вдруг вы забыли.

esxi

Кнопка EDIT позволяет правилами управлять. Галками включаем или отключаем правила. Есть фильтр для поиска.

esxi

SSH порты зачем-то вынесены в отдельную вкладку.

esxi

SNMP тоже...

esxi

Если развернуть правило, то можно ограничить доступ определённому списку IP адресов, по умолчанию разрешены все IP адреса.

esxi

Данным функционалом ограничено управление Firewall в GUI.

ESXCLI

Через консоль у нас больше вариантов действий.

Сразу полезная команда для отключения Firewall:

esxcli network firewall set --enabled false

И для включения:

esxcli network firewall set --enabled true

Если что-то не работает, можно отключить Firewall и сразу поймём, в нём проблема или нет.

Описание команд

https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-7A8BEFC8-BF86-49B5-AE2D-E400AAD81BA3.html

CLI Описание
esxcli network firewall get Статус Firewall и Default Action.
esxcli network firewall set --default-action Установите в true для Default Action: PASS. Установите в false для Default Action: DROP.
esxcli network firewall set --enabled Включить/выключить ESXi firewall.
esxcli network firewall load Загрузить модуль firewall и правила.
esxcli network firewall refresh Обновить конфигурацию firewall и считать правила если модуль firewall загружен.
esxcli network firewall unload Удалить фильтры и выгрузить модуль firewall.
esxcli network firewall ruleset list Список правил.
esxcli network firewall ruleset set --allowed-all true — доступ всем IP. false — доступ только allowed IP.
esxcli network firewall ruleset set --enabled --ruleset-id=<string> Включить или выключить правило.
esxcli network firewall ruleset allowedip list Список allowed IP addresses для выбранного правила.
esxcli network firewall ruleset allowedip add Дать доступ к правилу набору IP адресов.
esxcli network firewall ruleset allowedip remove Отобрать доступ к правилу набору IP адресов.
esxcli network firewall ruleset rule list Список правил для всех наборов правил.

esxi

Создание собственных правил

Процесс создания собственных правил описан здесь:

https://kb.vmware.com/s/article/2008226

Начиная с ESXi 7.0 создавать собственные наборы правил Firewall запретили. При этом предложили обходной способ:

  1. Скопировать файл с правилами на отдельный datastore.
  2. Добавить свои изменения в скопированный файл.
  3. В /etc/rc.local.d/local.sh добавить команду на копирование с заменой основного файла.
  4. Чтобы принудительно сохранить эту команду при перезагрузках хоста, команда должна быть добавлена вручную в /etc/rc.local.d/local.sh файл на сервере ESXi.

Это настолько кривое решение, что даже пробовать его не хочется. Тем более нужно отдельное хранилище.

Альтернатива — создание собственного VIB пакета для внесения изменений в Firewall. Но это уже другая история.

 

Похожие материалы