shhirose.firewalld
ansible-firewalld
这是一个用于在红帽企业Linux上安装和设置firewalld的Ansible角色。
需求
无
角色变量示例
shhirose_firewalld:
默认区域: public
区域:
- zone: test1
state: enabled
接口:
- interface: eth901
zone: public
immediate: yes
permanent: True
state: enabled
目标:
- target: DROP
zone: home
伪装:
- masquerade: yes
zone: public
immediate: yes
permanent: True
服务:
- service: http
zone: public
immediate: yes
permanent: True
state: enabled
端口:
- port: "8080/tcp"
zone: public
immediate: yes
permanent: True
state: enabled
丰富规则:
- rule: "rule family=\"ipv4\" source address=\"192.168.0.0/16\" port protocol=\"tcp\" port=\"22\" accept"
zone: public
immediate: yes
permanent: False
state: enabled
icmp阻止:
- type: echo-request
zone: public
immediate: yes
permanent: False
state: enabled
源:
- source: "172.10.0.0/16"
zone: public
immediate: yes
permanent: False
state: enabled
转发端口:
- proto: "tcp"
port: "50022"
toaddr: "192.168.10.10"
toport: "22"
zone: public
immediate: yes
permanent: False
state: enabled
变量参数
区域
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
zone | 是 | 字符串 | 目标区域名称 | ||
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
目标
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
target | 是 | 字符串 | default, ACCEPT, %%REJECT%% 或 DROP |
||
zone | 否 | 字符串 | 目标区域名称 |
伪装
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
masquerade | 是 | 字符串 | yes 或 no |
||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
接口
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
interface | 是 | 字符串 | 目标接口名称 | ||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
服务
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
service | 是 | 字符串 | 目标服务名称 | ||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
端口
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
port | 是 | 字符串 | 目标端口 | ||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
源
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
source | 是 | 字符串 | 目标限制连接的来源。 | ||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
丰富规则
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
rule | 是 | 字符串 | 丰富规则值 | ||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
icmp阻止
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
type | 是 | 字符串 | icmp阻止类型 | ||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
转发端口
关键字 | 必需 | 默认值 | 类型 | 值 | 说明 |
---|---|---|---|---|---|
proto | 是 | 字符串 | 连接源协议 | ||
port | 是 | 字符串 | 源端口 | ||
toport | 否 | 字符串 | 目标端口 | ||
toaddr | 否 | 字符串 | 目标地址 | ||
zone | 否 | 字符串 | 目标区域名称 | ||
immediate | 否 | yes | 字符串 | yes 或 no |
此配置将立即应用。 |
permanent | 否 | no | 布尔值 | True 或 False |
此配置设置为永久。 |
state | 是 | 字符串 | enabled 或 disabled |
如果启用,则添加新区域。 |
依赖项
无
示例剧本
- hosts: servers
roles:
- { role: shhirose.firewalld }
vars:
shhirose_firewalld:
services:
- service: http
zone: public
immediate: yes
permanent: True
state: enabled
- service: https
zone: public
immediate: yes
permanent: True
state: enabled
ports:
- port: 8080/tcp
zone: public
immediate: yes
permanent: True
state: enabled
许可证
MIT