ansibleguy.addons_nftables

Ansible 角色 - NFTables 附加组件
用于在 Linux 服务器上部署 NFTables 附加组件的角色。
已测试:
- Debian 11
- Debian 12
安装
# 最新版本
ansible-galaxy role install git+https://github.com/ansibleguy/addons_nftables
# 从 Galaxy 获取
ansible-galaxy install ansibleguy.addons_nftables
# 或者自定义角色路径
ansible-galaxy install ansibleguy.addons_nftables --roles-path ./roles
文档
- NFTables: 维基
- 查看 示例!
- 使用 Ansible 管理所有 NFTables: ansibleguy.infra_nftables
使用
您可以使用 ansibleguy.infra_nftables 角色来管理 NFTables 基础配置!
配置
您可以在这里找到更详细的示例: 示例!
根据需要定义配置:
nftables_addons:
enable:
dns: true # 启用 DNS 附加组件
dns_v6: true # 启用 DNS 附加组件的 IPv6 处理
iplist: true # 启用 IPList 附加组件
iplist_v6: true # 启用 IPList 附加组件的 IPv6 处理
# timer: true # 如果您想自己管理计时器,可以禁用计时器管理
# systemd: true # 使用 systemd 计时器更新附加组件
# cron: false # 使用 cron 作业更新附加组件
# include: true # 禁用在 /etc/nftables.conf 中自动包含附加组件
config:
iplists:
iplist_tor_exit_nodes: # 变量名
urls: ['https://check.torproject.org/torbulkexitlist']
separator: "\n"
comment: '#'
dns_records:
ntp_servers: ['0.europe.pool.ntp.org', '1.europe.pool.ntp.org']
repo_debian: ['deb.debian.org', 'debian.map.fastlydns.net', 'security.debian.org']
ext: 'nft' # NFTables 配置文件使用的扩展名
path:
base:
config: '/etc/nftables.conf'
dir: '/etc/nftables.d'
addon:
dir: '/etc/nftables.d/addons'
timer:
systemd:
dns: '*:0/15' # 每15分钟更新
iplist: '*-*-* 00,12:00:00' # 每天更新两次
# cron:
# dns: # 每15分钟
# minute: '*/15'
# iplist: # 每天两次
# minute: '0'
# hour: '0,12'
执行
运行剧本:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml
还有一些有用的 标签 可用:
- dns
- iplist
- config (仅更新附加组件配置)
要调试错误,您可以在运行时设置 'debug' 变量:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes
功能
配置
默认配置:
- Systemd 定时器运行附加组件
- 日志记录到 Syslog
- IPv6 变量附录:'_v6'
- 例如:变量 'repo_debian' => 'repo_debian_v6'
- 定时器
- DNS => 每15分钟更新
- IP-List => 每天更新两次
- Systemd
- Syslog ID: 'nftables_addon_{ addon }'
- 服务/定时器前缀: 'ansibleguy.addons_nftables-'
默认选择:
- 定时器自动更新变量
- Systemd 定时器
- 在 '/etc/nftables.conf' 中添加包括项
默认不选择:
- 附加组件
- DNS
- DNS IPv6 处理
- IP-Lists
- IP-List IPv6 处理
- DNS
- Cron 作业定时器
- 附加组件
信息
注意: 此角色当前仅支持基于 Debian 的系统
注意: 大部分功能可选择启用或禁用。
所有可用选项请查看位于 主默认文件 中的默认配置!
警告: 不是您提供的每个设置/变量都将被检查有效性。错误配置可能会导致角色失效!
注意: 每个定义的变量都会创建,因为缺失的变量可能会破坏您的配置!
如果一个 DNS 记录无法解析或没有返回任何条目,将设置一个回退值(IPv4:0.0.0.0,IPv6:::_)。
关于项目
Ansible Role to provision Add-Ons for NFTables on Linux servers
安装
ansible-galaxy install ansibleguy.addons_nftables
许可证
other
下载
2k
拥有者
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg