Categories: VMware

Создаем собственные правила файервола в ESXi 5.0

Напомню, что в ESXi 5.0 система межсетевого экрана претерпела существенные изменения, причем функциональность его практически соответствует функционалу команды esxcfg- firewall в консоли ESX Service Console. Для доступа к настройкам файервола можно воспользоваться командой: esxcli network firewall. По умолчанию на сервере ESXi 5 уже есть ряд предустановленных правил межсетевого экрана для служб, которые можно включить или отключить.

Полный список стандартных правил межсетевого экрана можно вывести с помощью команды:

esxcli network firewall ruleset list

Кроме того, в ESXi 5 можно создать собственное правило файервола для сетевой службы. К сожалению, с помощью утилиты esxcli этого сделать не получиться, и нам придется отредактировать конфигурационный файл с правилами файервола. Конфигурационные файлы, описывающие правила файервола хранятся в каталоге / etc/ vmware/ firewall/ . Например, если служба FDM включена, то в данном каталоге вы найдете файл fdm. xml , содержащий примерно следующую XML структуру.

<!-- Firewall configuration information for FDM -->

<ConfigRoot>

<service>

<id>fdm</id>

<rule id='0000'>

<direction>inbound</direction>

<protocol>tcp</protocol>

<porttype>dst</porttype>

<port>8182</port>

</rule>

<rule id='0001'>

<direction>outbound</direction>

<protocol>tcp</protocol>

<porttype>dst</porttype>

<port>8182</port>

</rule>

<rule id='0002'>

<direction>inbound</direction>

<protocol>udp</protocol>

<porttype>dst</porttype>

<port>8182</port>

</rule>

<rule id='0003'>

<direction>outbound</direction>

<protocol>udp</protocol>

<porttype>dst</porttype>

<port>8182</port>

</rule>

<enabled>false</enabled>

<required>false</required>

</service>

</ConfigRoot>

Этот XML файл описывает имя правила для межсетевого экрана, здесь же указаны порты и типы портов, протоколы и направление трафика для данной службы.

Далее мы попробуем создать собственное правило для межсетевого экрана ESXi, назовем его « virtually «. Это правило должно открывать порт TCP 1337 и порт UDP 20120 для входящего и исходящего трафика. Для этого создадим новый XML файл с именем / etc/ vmware/ firewall/ virtually. xml. XML файл будет иметь следующую структуру:

<!-- Firewall configuration information for virtually -->

<ConfigRoot>

<service>

<id> virtually </id>

<rule id='0000'>

<direction>inbound</direction>

<protocol>tcp</protocol>

<porttype>dst</porttype>

<port>1337</port>

</rule>

<rule id='0001'>

<direction>outbound</direction>

<protocol>tcp</protocol>

<porttype>dst</porttype>

<port>1337</port>

</rule>

<rule id='0002'>

<direction>inbound</direction>

<protocol>udp</protocol>

<porttype>dst</porttype>

<port> 20120 </port>

</rule>

<rule id='0003'>

<direction>outbound</direction>

<protocol>udp</protocol>

<porttype>dst</porttype>

<port> 20120 </port>

</rule>

<enabled>false</enabled>

<required>false</required>

</service>

</ConfigRoot>

Далее перезагрузим файервол, чтобы обновить список правил и еще раз выведем список доступных правил:

esxcli network firewall refresh
esxcli network firewall ruleset list

Как вы видите, в списке правил появилась новое с именем virtually. Текущие настройки правила можно просмотреть с помощью команды:

esxcli network firewall ruleset rule list | grep virtually

В новом файерволе ESXi также появилась возможность указать конкретный IP адрес или диапазон IP адресов, которым разрешено подключаться к конкретной службе. В следующем примере мы запретим подключаться к службе virtually, описанной в нашем правиле оовсюду, кроме сети 172.80.0.0/24:

esxcli network firewall ruleset set --allowed-all false --ruleset-id=virtually
esxcli network firewall ruleset allowedip add --ip-address=172.80.0.0/24 --ruleset-id=virtually

Новые правила файервола также станет доступным в интерфейсе клиента vSphere (раздел Configuration , секция Security Profile ).

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

3 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

3 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

3 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

3 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

3 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

3 недели ago