Ansible Documentation
firewalld – Manage arbitrary ports/services with firewalld機能
firewalld に tcp / udp のサービスやポートに関するルールの追加 / 削除を行うパラメータ
| パラメータ | 選択肢/ Default | 説明 |
|---|---|---|
| immediate | ・no ・yes | 設定を即時に反映する / しない |
| interface | - | firewalld のゾーンに追加 / 削除するインタフェース |
| masquerade | - | firewalld のゾーンに対してマスカレード設定を有効 / 無効にする |
| permanent | ・no ・yes | 再起動後に firewalld の設定内容を有効 / 無効にする。permanet: no のときに immediate: の指定がない場合、 immediate: yes が設定されたことになる |
| port | - | firewalld に追加 / 削除するポート番号。ポート番号は範囲指定が可能。指定形式は PORT/PROTOCOL または PORT-PORT/PROTOCOL でなければならない |
| rich_rule | - | firewalldに追加 / 削除するリッチルール |
| service | - | firewalldに追加 / 削除するサービス名 |
| source | - | firewalldに追加 / 削除するソース / ネットワーク |
| state ※必須※ | ・enabled ・disabled ・present ・absent | 設定を有効( enabled )または無効( disabled )にする。指定したポートで接続を受け入れる( enabled )または拒否( disabled )する。state: presetn および state: absent はゾーンの操作(ゾーンと状態以外に他のパラメータが設定されていない場合)でのみ使用できる |
| timeout | 0 | immediate: yes のときに設定が有効になるまでの時間 |
| zone | ・work ・drop ・internal ・external ・trusted ・home ・dmz ・public ・block system-default(public) | ルールを追加 / 削除するゾーンを指定する(デフォルトは public ) |
例
Ansible Documentation に掲載されている使用例です。- firewalld:
service: https
permanent: yes
state: enabled
- firewalld:
port: 8081/tcp
permanent: yes
state: disabled
- firewalld:
port: 161-162/udp
permanent: yes
state: enabled
- firewalld:
zone: dmz
service: http
permanent: yes
state: enabled
- firewalld:
rich_rule: 'rule service name="ftp" audit limit value="1/m" accept'
permanent: yes
state: enabled
- firewalld:
source: 192.0.2.0/24
zone: internal
state: enabled
- firewalld:
zone: trusted
interface: eth2
permanent: yes
state: enabled
- firewalld:
masquerade: yes
state: enabled
permanent: yes
zone: dmz
- firewalld:
zone: custom
state: present
permanent: yes
- name: Redirect port 443 to 8443 with Rich Rule
firewalld:
rich_rule: rule family={{ item }} forward-port port=443 protocol=tcp to-port=8443
zone: public
permanent: yes
immediate: yes
state: enabled
with_items:
- ipv4
- ipv6>