Debian

使用 ufw –force enable 對 ufw 進行 Ansible 編排

  • December 18, 2018

我將 Ansible 劇本部署到一些debian:stable旨在更新包索引記憶體的機器上,ufw以與 Ansible 架構無關和版本無關的方式安裝和設置它。

- name: Update all apt package index cache (apt update)
 apt: update_cache=yes

- name: Install a latest ufw
 apt:
   name: ufw
   state: latest

- name: Setup firewall with ufw
 ufw:
   rule: allow
   port: 22,25,80,443

我的困難在這裡

在 Bash 中,我也經常使用ufw --force enable,但我沒有找到如何在Ansible ufw 文件中以 Ansible-YAML 語法將其添加到劇本中。

我的問題

如果有的話,我應該如何ufw --force enable正確添加?

如果您只想執行 shell 命令,請使用 Ansibleshellcommand模組。

就目前ufw而言,我認為它直接編輯規則文件。查看原始碼,它在檢查這些文件是否已更改內容的操作之前和之後執行它。

grep '^### tuple' /lib/ufw/user.rules /lib/ufw/user6.rules /etc/ufw/user.rules /etc/ufw/user6.rules

至於啟用或禁用,這就是該state操作的目的

如果你說state: enabled,它會做ufw -f enable

   if command == 'state':
       states = {'enabled': 'enable', 'disabled': 'disable',
                 'reloaded': 'reload', 'reset': 'reset'}
       execute(cmd + [['-f'], [states[value]]])

引用自:https://unix.stackexchange.com/questions/488015