私のローカルネットワークには2台のシングルボードコンピュータ(Pine64とnanoPI)があり、これをさまざまな目的に使用しています。
私が最近やりたいことは、ローカルネットワークにフェールオーバーDHCPとDNSを提供することでした。フェイルオーバーDHCPを設定し、そのうちの1つがpihole dockerイメージを停止/削除する前に開始されました。今報告してくださいCan't bind to dhcp address: Address already in use
。 docker が停止すると、ISC-DHCP-SERVER は正常に起動します。これで、DHCPサーバーが実行されているとdockerが報告してbind: address already in use
起動しなくなります。通常のDNSサーバーがインストールされている(ドッカーやピホールなし)、他のコンピュータは正常に動作します。
pihole(広告のブロック)と同様の機能を使用して、他のサーバーに独自のDNSを設定しました。しかし、Pyholeはユーザーインターフェースが良いのでやりたいです。
問題は、ピホールにもDHCPサーバーが含まれていることです(https://discourse.pi-hole.net/t/how-do-i-use-pi-holes-built-in-dhcp-server-and-why-would-i-want-to/3026)。 pihole dockerイメージ(DHCPを除く)とDHCPサーバーを同じコンピュータで使用できますか?どうすればいいですか?
DHCP、DHCP 静的リース、およびフェールオーバー構成を使用してカスタムパスを公開する DHCP サーバーにはいくつかのカスタム構成があるため、Pihole の DHCP を使用したくありません。 piholeのDHCPサーバーでこれらすべてを構成できるかもしれませんし、そうしたいかもしれません。
答え1
ピホールを直接取り付けると(https://docs.pi-hole.net/main/basic-install/) ドッカーイメージの代わりにマシンに設定された固定IPを検出し、DHCPを妨げません。
したがって、答えは、サポートされているオペレーティングシステムにピホールを直接インストールすることです。
答え2
Docker /コンテナでDHCPサーバーを実行できます。問題が発生する理由は、ドッカーコンテナがルータ/ネットワークが実行されるプライマリサブネット/LANとは大きく異なる独自のブリッジネットワークを作成するためです。
通常、ドッカーコンテナをホストネットワークに転送またはブリッジする必要があります。
https://gist.github.com/mikejoh/04978da4d52447ead7bdd045e878587d
--net ホストフラグを使用することをお勧めします。
答え3
はい。 Docker で Pi-hole を実行すると、ネットワークの接続に問題はありません。ポート53のDNSポートとWebインターフェイス用に選択したポートをPyholeコンテナにマッピングしようとしています。
コンテナ内でDHCPサーバーを実行するときは、DHCP要求をDockerized DHCPサーバーに転送するようにDHCPリレーサービスを設定する必要があります。一部のルーターにはこのサービスが含まれているため、まずそのルーターを確認してください。
オープンソースのDHCPリレーサーバーもあるため、ルーターにリレー機能がない場合は、転送用に設定する必要があります。