想像する
IPアドレスをホスト名に関連付ける比較的簡単な方法を使いたいです。
そのために、私はFedoraディストリビューションにAvahiとmdns / nssをインストールしました。
私はデフォルトの「.local」ではなく、仮想トップレベルドメイン「.o」をローカルドメインとして使用したいと思います。
私は/etc/nsswitch.conf
それが設定されていることを確認しましたmdns4
:
hosts: files myhostname mdns4 [NOTFOUND=return] resolve [!UNAVAIL=return] dns
/etc/avahi/avahi-daemon.conf
1行を変更し、すべてを同じにしてから:
domain-name=o
私のホスト名なので、desk
ドメインがdesk.o
利用可能になります。とにかくそれは私の理解です。
最後に、/etc/avahi/hosts
IP-ホスト名の関係を設定しました。
192.168.0.1 router.o
予想される動作
私のコンピュータ名がと仮定すると、ドメインを使用できるようにしたいdesk
です。desk.o
また、ネットワークにAvahiを実行できない一部のコンピュータがあり、その/etc/avahi/hosts
IPアドレスなどを公開するために使用します。 1つの理由は、Avahiを実行していないかなり古いネットワークプリンタがあり、IPやAvahiのようなもの(またはその中のもの/etc/hosts
)のみを使用する必要があるためです。
したがって、上記のファイルの場合は192.168.0.1などで確認したいとhosts
思います。router.o
観察された行動
変更後、Avahi(systemctl restart avahi-daemon.service
)を再起動しましたが、少し奇妙に動作します。
実行すると、getent hosts desk.local
次の結果が表示されます。
2a02:xxxx:xxxx:xxxx:xxxx:xxxx:8878:583d desk.local
fe80::f990:519a:4ba5:9f22 desk.local
x
(最初のIP部分が混乱しています。16進数しかありません。)
私はそれに満足して(ほとんど)、desk.local
まだ使用できるとは思わないが、(まだ)削除できない一種のデフォルト値だと仮定しています。
実行すると、getent hosts desk.o
次のようになります。
127.0.0.1 desk.o
このコンピュータにしかない限り、FQDNホスト名がそれを解決するのは少し奇妙です。
getent hosts router.o
私は走ることから何も得られません。出力がありません。
質問
もしそうなら、Avahiはこれを無視したようです/etc/avahi/hosts
。このファイルを変更した後、Avahiを再起動したため、もう一度読み込むとします。
Avahiは設定されたホスト名を独自に「公開」しませんか?
Avahiとシステムが期待どおりに動作するようにするにはどうすればよいですか?それともここで基本的な事故エラーを犯しているのでしょうか?
理想的には、Avahi-hostnameファイルは私のどこかにある必要があり、Avahiのシステム全体の$HOME
ホスト名ファイルを調整する必要はありません(該当する場合)。これがうまくいかなくても大丈夫です。これは、ホスト名解決が原則的に機能する方法に反していると考えているためです。
この問題が解決されているという事実には少し驚きましたがdesk.o
(実際に予想した方法ではありません)、少なくとも解決されました。何したがって、少なくとも部分的には効果的です。