当前位置: 首页 > 工具软件 > FirewallD > 使用案例 >

ansible firewalld 模块

蒙弘图
2023-12-01

ansible firewalld 模块

概要

  • 此模块允许在运行或永久防火墙规则中添加或删除服务和端口(TCP 或 UDP)。
  • firewalld >= 0.2.11

参数

parameter(参数)choices/default(选项)comments(注解)
icmp_block在防火墙中添加或者移除的ICMP块。
icmp_bolck_inversion开启/关闭防火墙区域ICMP报文反转功能。
immediateyes or no,默认no如果将此配置设置为永久性,则应立即应用此配置。
interface在防火墙中添加或移除interface
masquerade在在防火墙中开启或关闭masquerade功能
offlineyes or no是否在防火墙离线时运行此模块。
permanentyes or no该配置是否在运行的防火墙配置中,或者在重新启动时仍然存在。注意,如果这是no, immediate被假定为yes。
port在防火墙中添加或移除端口名称或端口范围。端口范围必须为PORT/PROTOCOL或PORT-PORT/PROTOCOL格式。
rich_rulerich_rule添加或删除到防火墙
service在防火墙中添加或移除服务名称该服务必须在firewall-cmd --get-services的输出中列出。
source在防火墙中添加或移除某个来源的网络
stateabsent or disabled or enabled or present启用或禁用一项设置。对于端口:该端口是否接受(enabled)或拒绝(disabled)连接。状态的(present)和(absent)只能在区域级别操作中使用(即,当除了zone和state没有设置其他参数时)。
timeout默认0该规则应在非永久性时生效的时间
zone添加或移除的防火墙区域。注意,可以为每个系统配置默认的区域,可能的值有block, dmz, drop, external, home, internal, public, trusted, work,public

笔记

  • 未在任何基于 Debian 的系统上测试。
  • 需要firewalld的python2绑定,默认可能没有安装。
  • 对于 python2 firewalld 绑定不可用的发行版(例如 Fedora 28 和更高版本),您必须将这些主机的 ansible_python_interpreter 设置为 python3 解释器路径并安装 python3 绑定。
  • 区域事务(创建、删除)可以仅使用区域和状态参数“存在”或“不存在”来执行。请注意,区域事务必须明确地是永久性的。这是 firewalld 的一个限制。这也意味着您必须在添加要立即执行操作的区域后重新加载 firewalld。该模块不会隐含地为您处理此问题,因为这将撤消任何先前执行的非永久性立即操作。因此,如果您需要立即访问新创建的区域,建议您在区域创建返回并更改状态后立即重新加载 firewalld,然后再对该区域执行任何其他即时、非永久性操作。

例子

- 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

- firewalld:
    zone: drop
    state: present
    permanent: yes
    icmp_block_inversion: yes

- firewalld:
    zone: drop
    state: present
    permanent: yes
    icmp_block: echo-request

- name: Redirect port 443 to 8443 with Rich Rule
  firewalld:
    rich_rule: rule family=ipv4 forward-port port=443 protocol=tcp to-port=8443
    zone: public
    permanent: yes
    immediate: yes
    state: enabled
 类似资料: