chubchubsancho.pi_hole

ansible-pi-hole

molecule License

Pi-HoleをインストールするためのAnsibleロールです。Pi-Holeを使用します。

ロールの設定

  • pi_hole_repo (デフォルト: "https://github.com/pi-hole/pi-hole.git") - pi-holeリポジトリを定義します
  • pi_hole_prerequisites (デフォルト: "git") - pi-holeの前提条件を定義します

Pi-Holeの設定を定義する

設定のためにpi-hole変数を追加します。これらの変数は省略可能です。

  • pi_hole_version - (デフォルト: "HEAD") - クローンするpi-holeリポジトリのブランチ/タグ/コミットを定義します
  • pi_hole_download_dir - (デフォルト: "/home/pihole") - pi-holeクローンの基本ディレクトリを定義します
  • pi_hole_install_dir - (デフォルト: "pi-hole") - pi-holeをクローンするディレクトリを定義します
  • pi_hole_query_logging - (デフォルト: true) - pi-holeがクエリをログするかどうかを定義します
  • pi_hole_install_web_server - (デフォルト: true) - pi-holeのウェブサーバーをインストールする必要があるかどうかを定義します
  • pi_hole_install_web_interface - (デフォルト: true) - pi-holeのウェブインターフェースをインストールする必要があるかどうかを定義します
  • pi_hole_enable_lighttpd - (デフォルト: true) - lighttpdを有効にする必要があるかどうか
  • pi_hole_webpasswd - (デフォルト: 省略) - pi-holeのウェブパスワードを定義します。省略した場合は自動的に生成されます
  • pi_hole_dnsmasq_listening - (デフォルト: "single") -
  • pi_hole_dns_1 - (デフォルト: "8.8.8.8") - pi-holeの上流DNSサーバー
  • pi_hole_dns_1_port - (デフォルト: "53") - pi-holeの上流DNSサーバーポート
  • pi_hole_dns_2 - (デフォルト: "8.8.4.4") - pi-holeの上流DNSサーバー
  • pi_hole_dns_2_port - (デフォルト: "53") - pi-holeの上流DNSサーバーポート
  • pi_hole_fqdn_required - (デフォルト: false) - pi-holeがFQDNクエリを必要とするかどうか
  • pi_hole_bogus_priv - (デフォルト: false) - pi-holeがプライベートゾーンで虚偽応答を行うかどうか
  • pi_hole_dnssec - (デフォルト: false) - pi-holeがDNSSECを使用するかどうか
  • pi_hole_rev_server - (デフォルト: true) - pi-holeが逆引きクエリに応答するかどうか
  • pi_hole_rev_server_domain - (デフォルト: "") - pi-holeの逆引きドメイン名
  • pi_hole_rev_server_target - (デフォルト: "") - pi-holeの逆引きサーバターゲット
  • pi_hole_rev_server_cidr - (デフォルト: "") - pi-holeの逆引きCIDR
  • pi_hole_blocking_enabled - (デフォルト: true) - pi-holeのブロック機能を有効にします

Pi-HoleのDHCP設定を定義する

  • pi_hole_dhcp_active - (デフォルト: false) - pi-hole DHCPサーバーを有効にします
  • pi_hole_dhcp_start - (デフォルト: "") - 配布する最初のIPアドレス
  • pi_hole_dhcp_end - (デフォルト: "") - 配布する最後のIPアドレス
  • pi_hole_dhcp_router - (デフォルト: "") - ゲートウェイのIPアドレス
  • pi_hole_dhcp_leasetime - (デフォルト: "24") - DHCPリース時間
  • pi_hole_domain - (デフォルト: "lan") - pi-holeのドメイン名
  • pi_hole_dhcp_ipv6 - (デフォルト: false) - IPv6サポートを有効にします
  • pi_hole_dhcp_rapid_commit - (デフォルト: false) - DHCPv4のラピッドコミットを有効にします

Pi-HoleのローカルDNS設定を定義する

  • pi_hole_local_dns_records - (デフォルト: "") - pi-holeのローカルDNSレコードを定義します。各アイテムにipnameのキーを含む辞書のリストを期待します。

例:

vars:
  pi_hole_local_dns_records:
    - name: db.lan
      ip: 10.0.13.37
    - name: web.lan
      ip: 10.0.13.38

Pi-HoleのFTL設定を定義する

pi-hole-FTL変数の設定を追加します。これらの変数は省略可能です。

  • pi_hole_ftl_blockingmode - (デフォルト: "NULL") - FTLはブロックされたクエリにどのように応答すべきですか?
  • pi_hole_ftl_cname_deep_inspect - (デフォルト: true) - 深いCNAME検査を無効にするためのオプションです。非常に低スペックのデバイスに有益です。
  • pi_hole_ftl_block_esni - (デフォルト: true) - 暗号化されたサーバー名インディケーション(ESNI)は、ウェブのプライバシーを向上させるための良い手段です。これにより、TLSサーバー名インディケーション(SNI)拡張が暗号化され、どのウェブサイトを訪れているかを特定されにくくなります。
  • pi_hole_ftl_maxlogage - (デフォルト: "24.0") - データベースとログからどれだけの時間のクエリをインポートするべきか?
  • pi_hole_ftl_privacylevel - (デフォルト: "0") - 使用されるプライバシーレベルは?
  • pi_hole_ftl_ignore_localhost - (デフォルト: "no") - FTLはローカルマシンからのクエリを無視すべきか?
  • pi_hole_ftl_query_analysis - (デフォルト: "yes") - FTLはAAAAクエリを分析すべきか?DNSサーバーはこの設定に関係なくAAAAクエリを処理します。この設定はピイホールの統計計算時にAAAAクエリを無視することにすぎません。
  • pi_hole_ftl_analyze_only_a_and_aaaa - (デフォルト: false) - FTLはAとAAAAクエリのみを分析すべきか?
  • pi_hole_ftl_socket_listening - (デフォルト: "localonly") - ローカルソケット接続のみをリッスンするか、すべての接続を許可するか
  • pi_hole_ftl_port - (デフォルト: "4711") - FTLはどのポートをリッスンすべきですか?
  • pi_hole_ftl_resolve_ipv6 - (デフォルト: "yes") - FTLはIPv6アドレスをホスト名に解決しようとすべきか?
  • pi_hole_ftl_resolve_ipv4 - (デフォルト: "yes") - FTLはIPv4アドレスをホスト名に解決しようとすべきか?
  • pi_hole_ftl_delay_startup - (デフォルト: "0") - 特定の設定で、FTLはDNSリボルバを起動する前に指定した時間待機するかもしれません。この設定は0〜300秒の整数値を取ります。
  • pi_hole_ftl_nice - (デフォルト: "-10") - Pi-hole FTLのニース値を変更するために使用します。デフォルトは-10です。
  • pi_hole_ftl_names_from_netdb - (デフォルト: true) - FTLがクライアント名をネットワークテーブルから取得しようとするかどうかを制御します。このオプションでこの動作を無効にできます。
  • pi_hole_refresh_hostnames - (デフォルト: "IPV4") - このオプションで、クライアントと上流サーバーのホスト名の変更を確認するために毎時PTRリクエストがどのように行われるかを変更できます。
  • pi_hole_ftl_dbimport - (デフォルト: "true") - FTLは起動時にデータベースから情報をロードして最も最近の履歴を把握するべきか?
  • pi_hole_ftl_maxdbdays - (デフォルト: "365") - クエリはデータベースにどのくらい保存するべきか?これを0に設定するとデータベースが無効になります。
  • pi_hole_ftl_dbinterval - (デフォルト: "1.0") - FTLのデータベースにクエリを保存する頻度は?[分]で指定します。
  • pi_hole_ftl_dbfile - (デフォルト: "/etc/pihole/pihole-FTL.db") - FTLのSQLite3永続データベースのパスとファイル名を指定します。
  • pi_hole_ftl_logfile - (デフォルト: "/var/log/pihole-FTL.log") - FTLのログファイルの場所です。ログファイルを別の場所に移動したい場合はこの設定を変更します。
  • pi_hole_ftl_pidfile - (デフォルト: "/run/pihole-FTL.pid") - FTLのメインプロセスのPIDが含まれているファイルです。
  • pi_hole_ftl_portfile - (デフォルト: "/run/pihole-FTL.port") - FTLのAPIがリッスンしているポートを含むファイルです。
  • pi_hole_ftl_socket_file - (デフォルト: "/run/pihole/FTL.sock") - FTLのAPIがリッスンしているソケットを含むファイルです。
  • pi_hole_ftl_setupvarsfile - (デフォルト: "/etc/pihole/setupVars.conf") - Pi-holeの設定ファイルです。現在のブロックステータスを含んでいます(変更しないでください)。
  • pi_hole_ftl_macvendordb - (デフォルト: "/etc/pihole/macvendor.db") - ネットワークテーブル用のMAC -> ベンダー情報を含むデータベースです。
  • pi_hole_ftl_gravitydb - (デフォルト: "/etc/pihole/gravity.db") - FTLのSQLite3グラビティデータベースのパスとファイル名を指定します。このデータベースにはPi-holeのDNSブロックに関するすべてのドメインが含まれています。
  • pi_hole_ftl_debug_all - (デフォルト: false) - すべてのデバッグフラグを有効にします。これがtrueに設定されている場合、他のデバッグ設定は無視されます。
  • pi_hole_ftl_debug_database - (デフォルト: false) - データベースアクションに関するデバッグ情報を印刷します。実行されたSQL文やクエリを保存するのにかかる時間、データベースに保存されたクエリの数などの情報が含まれます。
  • pi_hole_ftl_debug_networking - (デフォルト: false) - pi-hole-FTLの起動時に検出されたインターフェースのリストを印刷します。これらのインターフェースがIPv4またはIPv6であるかどうかも印刷されます。
  • pi_hole_ftl_debug_locks - (デフォルト: false) - 共有メモリロックに関する情報を印刷します。ロックの待機、取得、および解放時にメッセージが生成されます。
  • pi_hole_ftl_debug_queries - (デフォルト: false) - 詳細なクエリ情報を印刷します(ドメイン、タイプ、応答など)。これは常にpi-hole-FTLの従来のデバッグモードの一部でした。
  • pi_hole_ftl_debug_flags - (デフォルト: false) - DNSフックで受信したクエリのフラグを印刷します。これはDEBUG_QUERIESが有効な場合のみ効果があります。
  • pi_hole_ftl_debug_shmem - (デフォルト: false) - 共有メモリバッファに関する情報を印刷します。メッセージは、shmemオブジェクトの作成または拡張に関するものです。
  • pi_hole_ftl_debug_gc - (デフォルト: false) - ガーベジコレクション(GC)に関する情報を印刷します。削除されるもの、削除された数、およびGCにかかった時間などです。
  • pi_hole_ftl_debug_arp - (デフォルト: false) - ARPテーブル処理に関する情報を印刷します。解析にかかった時間、読み取られたMACアドレスが有効であるかどうか、macvendor.dbファイルが存在するかどうかが含まれます。
  • pi_hole_ftl_debug_regex - (デフォルト: false) - FTLDNSが正規表現のマッチングに関する詳細をpihole-FTL.logに印刷するかどうかを制御します。レガシー理由から、同じ機能を有効にするために以下の設定もサポートしています: REGEX_DEBUGMODE=false|trueのいずれかがtrueに設定されている場合、他の一方はこの設定を無効にすることはできません。
  • pi_hole_ftl_debug_api - (デフォルト: false) - telnet API呼び出し中に追加のデバッグ情報を印刷します。具体的には、すべてのクエリを取得する際に追加情報を送るために使用されます。
  • pi_hole_ftl_debug_overtime - (デフォルト: false) - overTimeメモリ操作に関する情報を印刷します。初期化やoverTimeスロットの移動などです。
  • pi_hole_ftl_debug_extbloqued - (デフォルト: false) - FTLが特定のクエリが外部でブロックされていると認識した理由に関する情報を印刷します。
  • pi_hole_ftl_debug_caps - (デフォルト: false) - pihole-FTLプロセスに付与された機能に関する情報を印刷します。現在の機能はSIGHUPの受信時に印刷され、pihole-FTLを再起動せずに現在の機能のセットを照会することができます(DEBUG_CAPS=trueに設定し、その後killall -HUP pihole-FTLを送信)。
  • pi_hole_ftl_debug_dnsmasq_lines - (デフォルト: false) - FTLのログファイルにdnsmasqイベントを引き起こすファイルと行を印刷します。これはFTLに不足している追加フックを実装するのに便利です。
  • pi_hole_ftl_debug_vectors - (デフォルト: false) - FTLはさまざまなタスクのために動的に割り当てられたベクターを使用します。この設定オプションは、割り当て、参照、削除、および追加に関する詳細なデバッグ情報を有効にします。
  • pi_hole_ftl_debug_resolver - (デフォルト: false) - ホスト名解決に関する詳細な情報を印刷します。最初および2回目のホスト名解決の試行に使用されるDNSサーバーはどれか(内部生成されたPTRクエリにのみ影響します)。
  • pi_hole_ftl_rate_limit - (デフォルト: "1000/60") - クライアントがy秒間にxクエリ(デフォルト1000)を超えて行う場合、ブロックします。レート制限は両方の値をゼロに設定することでまったく無効にできます。
プロジェクトについて

An Ansible Role to install Pi-Hole

インストール
ansible-galaxy install chubchubsancho.pi_hole
ライセンス
mit
ダウンロード
286
所有者