r_pufky.pihole

Pi-Hole

Pi-Hole 从公开发布中安装。

要求

Pi-Hole 主机应根据 Pi-Hole 文档配置静态IP地址。

基于 RedHat 的支持是 实验性的,仅为最佳努力。

角色变量

已详细记录设置的使用。

defaults/main.yml

defaults/blocklist.yml

defaults/ftl.yml

端口

所有端口和协议已为角色定义。

主机仅应为所需端口定义防火墙规则。

defaults/ports.yml

基于 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 中设置这些内容,然后再应用此版本。见:

defaults/ftl.yml

2.x: RedHat 支持

  • RedHat 支持。这仅为最佳努力支持。
  • 有条件转发配置支持。
  • 添加 ports.yml 用法参考以供数据使用。

1.x: 初始发布

  • 添加对 pihole 安装更新的支持。
  • 添加 DHCP 配置、CLI 域列表管理。
  • 允许在检查模式下运行。
  • 在配置更改时重新配置 pihole(而不是重启)。
  • 支持 pihole CLI 域白名单/黑名单管理。

问题

创建一个错误,并提供尽可能多的信息。

将拉取请求与提交的错误相关联。

RedHat 支持仅为最佳努力,应该指派给 @rkoosaar。

许可

AGPL-3.0 许可

作者信息

https://keybase.io/rpufky

关于项目

Pi-Hole

安装
ansible-galaxy install r_pufky.pihole
许可证
agpl-3.0
下载
72.1k
拥有者