hudecof.ferm
Ferm / iptables 管理
这个角色使用 ferm 脚本管理 iptables。
由于编写通用的 iptables 模板非常困难,这个角色只是将 用户定义 的 ferm 配置片段移动到服务器并使用 iptables 生成规则集。
需求
- ansible: 2.1
- Redhat/CentOS: EPEL
- Ubuntu: multiverse 仓库
角色变量
基于操作系统的变量
一些变量是基于操作系统的。这些变量位于 vars/os-<OS>.yml
文件中。
通用变量
ferm_directory
: ferm 配置目录,默认为 /etc/fermferm_service_state
: ferm 是否应该启动ferm_service_enabled
: ferm 是否应该在启动序列中启用
防火墙规则
ferm_rules_directory
: 应该在哪里查找防火墙规则文件,默认为 playbook 模板目录ferm_net_mngt
: 管理网络列表,默认允许任何ferm_domains
: 生成规则的 IP 版本,默认为 IPv4 和 IPv6ferm_rules
: 要应用的规则列表。默认只允许 SSH 和 ICMP
利用模板引擎和 ferm 引擎生成 IPv4 和 IPv6 的规则。编写规则的艰巨工作仍然在于你,但你可以完全 掌控。
示例
主机/组变量
ferm_rules_directory: {{ playbook_dir }}/files/ferm
ferm_rules:
- vars
- default_rules
- connection_tracking
- input_icmp
- management
- service_zabbix-agent
在这种情况下,你应该创建以下文件
{{ playbook_dir }}/files/ferm/rules/vars.conf.j2
{{ playbook_dir }}/files/ferm/rules/default_rules.conf.j2
...
你应该根据需要在 group_var 或 host_vars 中重写 ferm_rules
以适用于每个组或服务器。
playbook
例如,在你的 group_vars/all
中的 ferm 变量
可以是
- hosts: ferm
roles:
- hudecof.ferm
依赖
无
许可证
BSD
作者信息
彼得·胡德克 (Peter Hudec)
安装
ansible-galaxy install hudecof.ferm
许可证
Unknown
下载
1.4k
拥有者