Это правило имеет достаточно информации, чтобы заставить порт управлять в системе WS2K8. В netsh это правило было бы введено как:
netsh advfirewall брандмауэр добавляют название правила = "3306" protocol=TCP dir=in localport=3306 action=block
Я не думаю, что есть один рекомендуемый способ. Думаю, это зависит от ваших настроек.
Есть несколько способов добиться этого. Вы можете использовать экспортированные ресурсы и запросить puppetDB .
Я предпочитаю, потому что я уже использую Foreman, - использовать функцию синтаксического анализатора foremans для получить список узлов от мастера.
Итак, в своем манифесте вы можете сделать что-то вроде:
$ appservers = foreman ("hosts", 'hostgroup = appservers')
Предполагая, что ваши серверы приложений находятся в Foremans hostgroup вызывает "серверы приложений". Здесь - это сообщение в блоге, объясняющее это.
Другой способ - сохранить список «серверов приложений» в текстовом файле или базе данных, а затем написать свою собственную функцию для получения списка. Как видите, написать функцию синтаксического анализатора несложно.
Другой способ - использовать Hiera .