r_pufky.pihole
Pi-Hole
Pi-Hole 从公开发布中安装。
要求
Pi-Hole 主机应根据 Pi-Hole 文档配置静态IP地址。
基于 RedHat 的支持是 实验性的,仅为最佳努力。
角色变量
已详细记录设置的使用。
端口
所有端口和协议已为角色定义。
主机仅应为所需端口定义防火墙规则。
基于 RedHat 的安装将会在 firewalld
中创建一个 pihole
区域,并允许通过该区域的流量。
依赖项
无
示例剧本
对于多个 Pi-Hole 节点,应在 group_vars 中应用配置,并在 host_vars 中应用节点特定设置。单实例可以在 host_vars 中应用。
group_vars/pihole/vars/pihole.yml
pihole_webpassword: '{{ vault_pihole_webpassword }}'
pihole_ad_sources:
- id: 1
address: 'https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts'
enabled: true
comment: '迁移自 /etc/pihole/adlists.list'
- id: 2
address: 'https://adaway.org/hosts.txt'
enabled: true
comment: 'ansible 广告列表'
- id: 3
address: 'https://bitbucket.org/ethanr/dns-blacklists/raw/8575c9f96e5b4a1308f2f12394abd86d0927a4a0/bad_lists/Mandiant_APT1_Report_Appendix_D.txt'
enabled: true
comment: 'ansible 广告列表'
pihole_domain_blocklists:
- id: 1
type: 1
domain: 'choice.microsoft.com'
enabled: true
comment: 'ansible 黑名单'
- id: 2
type: 1
domain: 'events.gfe.nvidia.com'
enabled: true
comment: 'ansible 黑名单'
host_vars/pihole.example.com/vars/pihole.yml
pihole_pihole_interface: 'eth0'
pihole_ipv4_address: '10.9.9.2/24'
pihole_ipv6_address: ''
pihole_pihole_dns_1: '10.9.9.1#53'
pihole_pihole_dns_2: ''
host_vars/pihole2.example.com/vars/pihole.yml
pihole_pihole_interface: 'eth0'
pihole_ipv4_address: '10.9.9.3/24'
pihole_ipv6_address: ''
pihole_pihole_dns_1: '10.9.9.1#53'
pihole_pihole_dns_2: ''
site.yml
- name: 'pihole 服务器'
hosts: 'pihole'
become: true
roles:
- 'r_pufky.pihole'
如果配置多个 pihole 服务器,强烈建议使用 serial: 1
。这将使更改逐个应用到 pihole 服务器,从而在没有 DNS 服务中断的情况下应用更改。
版本
3.x: FTL 配置支持
- 添加 FTL-DNS 配置支持。
- 添加幂等操作切换。
- 将 setupvars 标准化为 YAML 数据类型(无需现有更改)。
- 启用默认广告列表管理。
- 记录未记录的 'setupvars.conf' 选项。
已设置自定义 FTL 设置的用户应确保在 *_vars 中设置这些内容,然后再应用此版本。见:
2.x: RedHat 支持
- RedHat 支持。这仅为最佳努力支持。
- 有条件转发配置支持。
- 添加 ports.yml 用法参考以供数据使用。
1.x: 初始发布
- 添加对 pihole 安装更新的支持。
- 添加 DHCP 配置、CLI 域列表管理。
- 允许在检查模式下运行。
- 在配置更改时重新配置 pihole(而不是重启)。
- 支持 pihole CLI 域白名单/黑名单管理。
问题
创建一个错误,并提供尽可能多的信息。
将拉取请求与提交的错误相关联。
RedHat 支持仅为最佳努力,应该指派给 @rkoosaar。