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



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を提供できます。

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ハードウェアガイドが役立ちます。
