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

ZimaOSのZVM DHCPによるPi-holeのポート67競合を解決する

A ZimaOS 1.3.2-beta2 user could not assign UDP port 67 to Pi-hole. IceWhale confirmed that dnsmasq was already using the port to provide DHCP for ZVM virtual-machine networking.

ZimaOSがPi-holeへのUDPポート67の割り当てを拒否する場合は、まずPi-holeを実際にDHCPサーバーとして動作させる必要があるかを判断してください。ポート67は標準的なDHCPサーバーポートですが、Pi-holeの中核であるDNSフィルタリングには必要ありません。

2025年2月のコミュニティスレッドで、IceWhaleは次のことを確認しました。 dnsmasq ZimaOSがZVMの仮想マシンネットワークに使用していたため、すでにポート67で待ち受けていました。そのスレッドで共有された即時対応コマンドを使えばポートを解放できますが、ZVMのネットワーク機能も無効になります。一般的なホームネットワークでは、DHCPをルーターに任せ、Pi-holeをDNSフィルタリング専用で実行するほうが、より適切な解決策です。

ZimaOSで発生した元のポート67エラー

元のユーザーはZimaOS 1.3.2-beta2にPi-holeをインストールしようとしましたが、ポート67が利用できないことに気付きました。

UDPポート67が利用できないことを示すZimaOS Pi-holeのインストール画面(DHCPがすでに使用中)
Pi-holeのカスタムインストールでは、DHCPサーバーのポート67を確保できませんでした。

同じユーザーは、ZimaOSのインターフェースに表示されていたDHCP関連の設定項目が、そのベータ版ではクリックできないことも確認しました。

1.3.2ベータ版インターフェースではDHCP設定を利用できなかった、過去のZimaOSネットワーク設定
このスクリーンショットはZimaOS 1.3.2-beta2を反映したものであり、現在のネットワークUIと完全に同一のものとして扱うべきではありません。

ポート67を使用していたのは?

IceWhaleの返信では、次のように特定されていました。

dnsmasq

ポート67で待ち受けているプロセスとして。このZimaOS構成では、そのサービスがZVM仮想マシンへのアドレス割り当てに使用されていました。

現在のプロセスは次のコマンドで確認できます。

sudo ss -ulnp | grep :67

または、利用可能なシステムでは次を使用します。

netstat -tulnp | grep :67

DNSフィルタリングにPi-holeのポート67は不要

現在のPi-hole Dockerドキュメントでは、ポートのマッピングは 67/udp Pi-holeをDHCPサーバーとして使用する場合。Pi-holeのDNSサービスは代わりにポート53を使用します。

最小限必要な機能は次のとおりです。

53/tcp → DNS
53/udp → DNS
WebUIポート → Pi-hole管理画面

Pi-holeではDHCPポート67を使用しません。

Pi-holeのDockerドキュメント

ルーターがすでにDHCPを提供している場合、最もシンプルなZimaOS構成は次のとおりです。

ルーター
  └─ DHCPサーバー

ZimaOS
  ├─ ZVM dnsmasq/仮想ネットワーク
  └─ Pi-hole
       └─ DNSフィルタリングのみ

ルーターのDHCPサービスで、Pi-holeのIPアドレスをDNSサーバーとして配布するよう設定するか、ルーターの機能に応じてDNSを設定します。

これによりUDP 67をめぐる競合を避け、ZVMのネットワーク機能を維持できます。

過去の情報源で示された解決策:dnsmasqを停止する

2025年の返信では、次を特定することが提案されました。 dnsmasq その後、次を実行します。

killall -9 dnsmasq

その返信には、該当サービスを停止するとZVMのネットワーク機能が利用できなくなるという明確な警告が含まれていました。

したがって、そのコマンドは中立的なPi-holeセットアップ手順ではありません。別のZimaOS機能を無効化する代わりに、監視対象のシステムサービスが後で再起動される可能性もあります。

現在のZimaOS Pi-holeドキュメントでも、ポート67を意図的に解消すべき競合として扱っている

現在のZimaOS Pi-hole導入ガイドでは、UDP 67を使用しているプロセスを確認することを推奨しています。

sudo ss -ulnp | grep :67

また、競合しているサービスを意図的に無効化する場合は、該当するPIDを終了します。

ZimaOSのPi-hole導入ガイド

その前に、該当プロセスが何を提供しているかを特定してください。ZVMを使用しているシステムでは、DHCPサービスを停止するとVMのネットワーク機能が失われる可能性があります。

Pi-holeをDHCPサーバーにする必要がある場合

一部のルーターではカスタムDNSの割り当てができないため、その場合はPi-hole DHCPが役立ちます。その場合、意図的なネットワーク分離なしに、同じローカルネットワークの役割を2台のDHCPサーバーで競合させることはできません。

ポート67を解放する前に:

  1. ZVMを使用しているか確認してください。
  2. UDP 67をどのプロセスが使用しているか確認してください。
  3. そのサービスが自動的に再起動されるかどうかを把握してください。
  4. 対象のLANで応答するDHCPサーバーが1台だけになるようにしてください。
  5. 無効にする前に、現在のルーターのDHCP設定を記録してください。
  6. クライアントがアドレスを受け取れなくなった場合に備えて、復旧方法を準備してください。

同じブロードキャストネットワーク上で、誤って2台のDHCPサーバーを動作させないでください

同じLAN上でルーターとPi-holeの両方がDHCP要求に応答すると、クライアントが一貫しないゲートウェイ、DNSサーバー、またはリース範囲を受け取る可能性があります。

DHCPの役割をPi-holeに移す場合は、Pi-holeの設定が完了し、到達可能になってから古いDHCPサーバーを無効にしてください。

ZVMによって判断が変わる理由

ZVM仮想マシンには、通常のDockerアプリケーションのポートマッピングとは別のネットワーク設定が必要です。元のスレッドでは、ZimaOSの dnsmasq プロセスからZVMへのアドレス割り当てに直接関係します。

ZVMを使用する場合、Pi-holeをDNS専用にする構成が通常はより低リスクです。

現在のZimaOSネットワーク設定は2025年のベータ版スクリーンショットとは異なります

現在のZimaOSドキュメントでは、ネットワークページは次の場所にあります。

設定 → ネットワーク

また、物理インターフェースのDHCP/手動アドレス設定について説明しています。そのため、元の1.3.2ベータ報告に示されたクリックできないメニューは、過去のUI動作です。

現在のZimaOSネットワークドキュメント

ZimaOSでのPi-holeポート67チェックリスト

  1. Pi-holeにDHCPが本当に必要かどうかを判断します。
  2. ルーターでDHCPを処理できる場合は、Pi-holeのDHCPを無効のままにしてください。
  3. Pi-holeのDNSポート、TCP 53とUDP 53を割り当てます。
  4. 次のコマンドでUDP 67を確認します。 sudo ss -ulnp | grep :67.
  5. もし dnsmasq ポートを使用している場合は、ZVMのネットワークを提供している可能性があることを覚えておいてください。
  6. システムのDHCPサービスを不用意に停止しないでください。
  7. Pi-holeをDHCPサーバーにする必要がある場合は、変更前にルーターとZVMへの影響を検討してください。
  8. 変更後、LANクライアントが有効なIPアドレス、ゲートウェイ、DNS設定を取得できることを確認してください。

ZimaOSのポート67に関するFAQ

ZimaOSでポート67がすでに使用されているのはなぜですか?

元のスレッドでは、ZimaOS dnsmasq ZVM仮想マシンにアドレスを割り当てるためにUDP 67を使用していました。

広告をブロックするために、Pi-holeにポート67は必要ですか?

いいえ。Pi-holeがDHCPサーバーとして動作する場合にのみ、ポート67が必要です。DNSフィルタリング自体にはポート53を使用します。

Pi-holeをインストールするためにdnsmasqを停止してもよいですか?

過去のスレッドでは回避策としてそれを行っていましたが、IceWhaleはZVMのネットワークが停止すると警告していました。デフォルト設定ではなく、意図的なシステム上のトレードオフとして扱ってください。

最も簡単な設定は何ですか?

ルーターにDHCPを任せ、Pi-holeはDNSフィルタリングに使用してください。ただし、ネットワークでPi-holeをDHCPサーバーにする必要がある場合を除きます。