こんにちは。このコミュニティには初めて参加します。仮想化センター上のUbuntuでpi-hole(パイホール)を静的IPでセットアップしました。Community Fibre(コミュニティファイバー)を利用していて、ルーターのDNSをpi-holeのIPに設定しました。しかし、クライアントでipconfig/allを確認すると、DNSが依然としてルーターのIPを指しています。なぜでしょうか?
DHCPサーバーでpi-holeをゲートウェイとして設定しましたか?
もし「pi-holeのIPアドレスをルーターのDNSに設定したか」という意味なら、はい。ルーターのDNSを手動にして、pi-holeのアドレスをプライマリDNSとして追加し、8.8.8.8をセカンダリDNSとして追加しました。ルーターにはプライマリDNSとして192.168.1.222(pi-holeのIP)、セカンダリDNSとして8.8.8.8が表示されています。しかし、クライアントでipconfig/allを確認すると、ルーターのアドレス(192.168.1.1)が表示されます。なぜですか?
まだPi-holeをDHCPサーバーとして設定していません。DHCPは引き続きCommunity Fibreルーターで管理されています。
PiHoleは、ルーターではなくクライアントのDNSサーバーである必要があります。そのため、DHCPサーバーに設定します(DHCPサーバーがクライアントにDNSサーバーを通知します)。
ステップ3をこちらでご覧ください
まず第一に、pi-Hole(パイホール)はContainer Stationでセットアップできます。フルVMで動かす必要はありません。システムリソースも少なくて済みます。もしご希望であれば、最新ビルド用のYAMLコードも持っています。
次に、ご指摘の通り、ルーターのDNSとしてPi-Holeを設定します。ただし、セカンダリDNSアドレスは設定しないでください。何らかの理由でPi-Holeにすぐアクセスできない場合、ルーターはGoogle DNSから取得してしまい、広告などが表示されてしまいます。
そして、@dolbymanさんが言ったように、DHCPサーバーのDNSにpi-holeのアドレスが設定されていることを必ず確認してください。技術的には、ルーターのDNSルックアップにpi-holeだけを指定し、ルーター自体をDNSサーバーとして動作させている場合は、ルーターのアドレスを使うこともできます。
問題はすでに解決しました。原因は、pi-holeを設定してdnsサーバーとしてpi-holeを指定したものの、私のルーター(community fibre)はpi-holeデバイスをdnsとして使うように設定しても、クライアントがpi-holeをdnsとして利用できないことでした。クライアント側(ipconfig/allを実行)では、dnsのアドレスがpi-holeのアドレスではなくルーターのアドレスになっていました。最終的には、pi-holeでdhcpを提供し、ルーター側のdhcpを無効にすることで解決しました。ルーターのもう一つの問題は、ipv6が原因で不具合が出ていたことです。現在はルーターのipv6を無効にしています。dhcpとdnsはpi-holeから提供する形で、すべて正常に動作しています。