четверг, 15 августа 2013 г.

Создание собственного правила для фаервола VMware ESXi 5

По умолчанию в гипервизоре ESXi находится ряд общих правил встроенного фаервола, удовлетворяющих заложенному разработчиком функционалу. Но иногда, при установке собственными силами дополнительных демонов, появляется необходимость в открытии нестандартных портов.
Чтобы это сделать, нужно создать собственный файл формата VIB и инсталлировать его на гипервизор. Ниже приведена пошаговая инструкция по созданию и внедрению собственного vib-файла:

1. Для начала нам понадобится доступ к командной строке ESXi, через консоль или SSH.

2. Логинимся под root-ом и переходим в каталог где лежат конфигурационные файлы фаервола:

cd /etc/vmware/firewall

3. Тут в качестве примера можно посмотреть xml-файлы с готовыми правилами. Файл service.xml содержит в себе большой список стандартных правил гипервизора.

less service.xml

Для выхода из режима просмотра нажмите "q".

4. Теперь мы знаем как написать файл с необходимым нам правилом, для примера возьмем правило, которое будет пропускать исходящий трафик гипервизора на удаленный порт 5000 по протоколу TCP.

5. Следующем шагом будет установка ESXi Community Packaging Tools, которые можно скачать тут: http://www.v-front.de/p/esxi5-community-packaging-tools.html

6. Запускаем установщик на своем компьютере и указываем папку, например "D:\vmware"


7. Переходим в каталог: "D:\vmware\ESXi5-CPT-v2.1" и создаем в ней папку "stage" и папку "output".

8. Заходим в "stage" и создаем тут структуру каталогов, подобную гипервизору. Должно получится так: "D:\vmware\ESXi5-CPT-v2.1\stage\etc\vmware\firewall"

9. В последней папке создаем текстовый файл "MyRule.xml" и вносим следующие данные:


<ConfigRoot>
  <service>
      <id>MyRule</id>
      <rule id="0000">
          <direction>outbound</direction>
          <protocol>tcp</protocol>
          <porttype>dst</porttype>
          <port>5000</port>
      </rule>
      <enabled>false</enabled>
      <required>false</required>
  </service>
</ConfigRoot>


10. Подготовительные работы закончены. Переходим в каталог
"D:\vmware\ESXi5-CPT-v2.1" и запускаем скрипт "tgz2vib5.cmd" (если включен UAC, запускаем от имени администратора).

11. Заполняем поля в появившимся окне по примеру ниже:


12. Кликаем "Run!". В случае успешной сборки увидите следующее сообщение:


13. Заходим в папку "output" и видим наш vib-файл и лог по сборке.

14. Если нужно получить zip-файл для последующего внедрения данной настройки в инсталляционный диск ESXi, создаем дополнительно каталог: "D:\vmware\ESXi5-CPT-v2.1\zip", запускаем скрипт "vib2zip.cmd", заполняем поля как показано на картинке:


Кликаем "Run!". При успешном выполнении получаем собранный файл в каталоге "zip".

15. Теперь можно приступить к инсталляции vib-файла на гипервизор, для этого копируем данный файл на сервер в каталог "/tmp" с помощью vSphere Client или сторонних утилит, например "WinSCP". Порядок действий следующий: сначала загружаем файл на локальное хранилище (например "datastore1/vib"), затем используем команду "cp":

cp /vmfs/volumes/datastore1/vib/MyRule-1.0.0.x86_64.vib /tmp/MyRule-1.0.0.x8
6_64.vib


16. В консоли гипервизора переходим в каталог с файлом:

cd /tmp

17. Устанавливаем vib-файл:

esxcli software vib install -v "/tmp/MyRule-1.0.0.x86_64.vib" -f

Небольшое примечание:
Параметр "-f" означает форсированную установку. Если его не использовать, то патч не удастся установить пока не будет понижен уровень одобрения ("Acceptance level") до "Community Supported" (Partner Supported по умолчанию).


18. Проверяем вывод консоли, успешна ли была установка:

Installation Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed: Me_bootbank_MyRule_1.0.0
VIBs Removed:
VIBs Skipped:


Следующей командой можно посмотреть список всех установленных vib-файлов и убедиться, что среди них есть и наш:

esxcli software vib list|less

19. Теперь можно зайти в vSphere Client и включить новое правило, которое должно появится в настройках:


20. Для удаления правила используйте следующую команду:

esxcli software vib remove -n MyRule -f

21. В конце не забудьте удалить vib-файл на локальном хранилище гипервизора.

Комментариев нет:

Отправить комментарий