securCom.nftables

nftables 管理

该角色管理 nftables。

由于编写通用的 nftables 模板非常困难,因此该角色只是将用户定义的 nftables 配置片段移动到服务器并运行它们,您仍然需要理解 nftables 语法。

要求

  • ansible: 2.4

角色变量

基于操作系统的变量

某些变量基于操作系统。这些变量位于 vars/os-<OS>.yml 文件中。

通用变量

  • nftables_dir: nftables 配置目录,默认为 /etc/nftables
  • nftables_service_state: ferm 是否应该启动
  • nftables_service_enabled: ferm 是否应该在启动序列中启用

防火墙规则

  • nftables_rules_directory: 我应该在哪里查找防火墙规则文件,默认为 playbook 模板目录
  • nftables_families: 生成规则的 IP 版本,默认为 IPv4IPv6
  • nftables_rules: 要应用的规则列表。默认只允许 SSH 和 ICMP,请参见 templates/rules 目录中的示例规则

该角色使用模板引擎生成规则。编写规则的艰巨工作仍然由您负责,但您完全掌控

示例

主机/组变量

nftables_rules_directory: {{ playbook_dir }}/files/nftables

nftables_rules:
  - default_rules
  - connection_tracking
  - input_icmp
  - management

在这种情况下,您应该创建以下文件

  • {{ playbook_dir }}/files/nftables/rules/default_rules.conf.j2
  • {{ playbook_dir }}/files/nftables/rules/connection_tracking.conf.j2
  • ...

您应该在每个组或服务器的 group_varhost_vars 中根据需要重写 nftables_rules

playbook

- hosts: ferm
  roles:
     - securcom.nftables

依赖关系

许可证

BSD

作者信息

Peter Hudec (@hudecof)

关于项目

nftables managment

安装
ansible-galaxy install securCom.nftables
许可证
Unknown
下载
1.7k
拥有者