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
拥有者
