コミュニティソリューション

ZimaOSでPi-holeとLanCacheを同時に実行する

A ZimaOS user wanted to add LanCache beside an existing Pi-hole deployment without changing the ZimaOS web UI or rebuilding the Pi-hole container.

結論:標準外のクライアントポートを作ってPi-holeとLanCacheのポート競合を解決しない

Pi-holeはTCP/UDP 53番ポートでDNSを提供する必要があります。LanCache monolithicはクライアントトラフィックに80番および443番ポートを使用します。オプションのlancache-dnsもDNSポート53を使用します。これらすべてを1つのホストIPに割り当てると、ポートの衝突は避けられません。

DNSポート53とWebポート8800に変更したZimaOS Pi-holeアプリの設定
既存のPi-holeコンテナは、DNS用のTCP/UDP 53番ポートをすでに使用しており、Web UIはホストの80番ポート以外に変更されています。
DNSコンテナのポート53をホストのポート54にマッピングしたZimaOS LanCacheの設定
このテストでは、LanCacheのDNSをコンテナの53番ポートからホストの54番ポートに変更しました。通常のDNSクライアントは、自動的に54番ポートへ問い合わせることはありません。
ホストの8081番および8082番ポートを80番および443番にマッピングしたZimaOS LanCache monolithicの設定
このテストでは、LanCacheのホストポートも80/443以外に変更しました。これによりバインド競合は回避できますが、インターセプトされたゲームCDNトラフィックでクライアントが使用する標準ポートには適合しません。

DNSの53番ポートをホストの54番ポートにマッピングしても、通常のLAN DNSは解決できない理由

クライアントとルーターは、通常のDNSクエリを53番ポートへ送信します。DNSコンテナが54番ポートで動作していることを自動的に検出することはありません。現在のPi-hole Dockerドキュメントでも、DNSはTCP/UDP 53番ポートを使用しています。

LanCacheが80番および443番ポートを必要とする理由

LanCache monolithicガイドでは、80番および443番ポートを公開します。HTTPコンテンツは80番ポートでキャッシュされ、443番ポートのHTTPSトラフィックはキャッシュされずに通過します。これらのサービスを8081/8082にマッピングすればコンテナは起動できるかもしれませんが、インターセプトされたクライアントは標準のCDNポートへ接続します。

最もすっきりした設計:1つのDNS権限と別のキャッシュIP

Pi-holeがすでにLANのDNSとして機能している場合は、53番ポートで稼働させ、クライアントに対する唯一のDNS経路にしてください。そのうえで、対象となるキャッシュドメインの上書きを、80/443番ポートを使用できるLanCacheのIPに向けます。ネットワーク設計が対応していれば、2つ目のNIC、VLAN/macvlan、またはVMによって別のIPを提供できます。

Pi-holeとLanCacheに別々のIPアドレスを推奨するDiscordの議論
関連する議論では、Pi-holeがDNSの53番ポートを必要とし、LanCacheが標準のWebポートを使用するほか、オプションのLanCache DNSも53番ポートを必要とする場合があるため、別々のIPを推奨しています。

LanCache自身も、NASプラットフォームでは80/443番ポートがすでに使用されていることが多く、アプライアンスのネットワーク構成が複雑になる場合はVMを推奨しています。詳しくはNAS/ポート競合に関するFAQをご覧ください。

DNSを変更する前に確認すること

  • Pi-holeが安定したLAN IPでTCP/UDP 53番ポートに引き続き到達できること。
  • LanCacheに、80/443番ポートへ実際に到達できる安定したIPがあること。
  • ゲームクライアントが意図したDNSサーバーだけを受け取ること。
  • キャッシュドメインの上書きが、対応するCDN名をLanCacheのIPに解決すること。
  • 関係のない通常のDNS名前解決が、上流リゾルバー経由で引き続き行われること。

Pi-holeのハードウェアおよびDNSガイドでは、現在のZimaOS Pi-holeの基本要件を説明しています。また、ポート分離が必要な場合に専用LanCache VMを計画するには、ZimaOS VMハードウェアガイドが役立ちます。