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

Ubuntuでhostname.localが機能しない:Avahiで解決

After moving from CasaOS to Ubuntu Server, a user lost hostname.local access even though the server was on the LAN; installing Avahi solved it.

hostname.local は通常の DNS ではなく、通常は mDNS/Bonjour 名です。 この Ubuntu Server のケースでは、Avahi デーモンをインストールして設定することで、homeserver.local へのアクセスが復旧しました。ユーザーも、これで問題が解決したことを明確に確認しています。

Ansible のネットワーク設定と Netplan の変更は、解決策ではありませんでした。マシンにはすでに通常の IP ネットワーク接続があり、不足していたのはローカルマルチキャストによる名前の通知と解決でした。

サーバーはすでに LAN に接続されていた

クリック可能なローカルホスト名がない状態で、LAN 上の homeserver を表示する Fritz ルーター
Ubuntu サーバーは通常の LAN エントリーとして表示されていましたが、Avahi をインストールするまで homeserver.local は解決できませんでした。出典:IceWhale Community Forum。

ルーターはホストを認識でき、ポート 80 の HTTP サービスも稼働していました。つまり、基本的な IP 接続と .local の名前解決は別の問題でした。

Avahi で hostname.local が解決した理由

Avahi は Linux 上で mDNS/DNS-SD を実装します。Ubuntu のZeroconf ガイドでは、Avahi を実行しているマシンが hostname.local のような名前を通知および解決できることを説明しています。

avahi-daemon をインストールし、サービスが実行されていることを確認してください。また、クライアントとサーバーの間で UDP マルチキャスト通信がブロックされていないことも確認します。

mDNS を直すためだけに Netplan を書き換えない

DHCP、固定 IP 設定、DNS サーバー設定がすべて正しくても、.local が機能しないことがあります。mDNS はローカルリンク上のマルチキャスト検出を使用するため、別の名前解決経路です。

一般的な Ubuntu ホストではなく、現在の ZimaOS デバイスを使用している場合は、LAN アクセスガイドを使うと、アドレスへの到達性とホスト名の検出を切り分けられます。

結論

元のスレッドでは、Avahi によって homeserver.local が復旧することが確認されています。数値の IP アドレスですでに接続できる場合は、Ethernet や Netplan の設定を繰り返し変更するのではなく、mDNS/Bonjour を調査してください。IP アドレスでも接続できない場合は、まず基本的なネットワーク接続を修正します。