chubchubsancho.pi_hole
ansible-pi-hole
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の逆引きCIDRpi_hole_blocking_enabled- (デフォルト: true) -pi-holeのブロック機能を有効にします
Pi-HoleのDHCP設定を定義する
pi_hole_dhcp_active- (デフォルト: false) -pi-holeDHCPサーバーを有効にします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レコードを定義します。各アイテムにipとnameのキーを含む辞書のリストを期待します。
例:
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)を超えて行う場合、ブロックします。レート制限は両方の値をゼロに設定することでまったく無効にできます。
