UbuntuまたはLinux Mintを使用している場合(試してみた結果、両方のバージョンが実際に動作することを知っている)、次のコマンドを実行できます。
wayne@myhost$ ssh [email protected]
名前は自動的に自分のローカルネットワーク上の他のホストのIPとして解決されます。
私は別のディストリビューションに拡張し始め、私のラップトップでArchを実行することにしました。しかし、前のコマンドを使用しようとするとCould not resolve hostname otherhost.local: Name or service not known
この自動名前解決(?)を実装するには何が必要ですか?
答え1
ウェイン自身の答えは今とても古いです。それ以来、Archはinitスクリプトの代わりにsystemdを使用するように切り替えました。アーチウィキペディアあふれ次の手順を実行する理由の詳細でページが更新されました。つまり、Avahiは構成を必要としないツールです。つまり、LAN上のすべてのコンピュータにインストールすると設定なしで動作しますが、実際にAvahiに情報を要求するようにソフトウェアの残りの部分を設定する必要があります。
ルートとして実行するか、sudo
端末で適切にプレフィックスを追加して、nano
必要なエディタに置き換えます。
pacman -S avahi nss-mdns
AvahiサービスデーモンとマルチキャストDNSリゾルバをインストールします。nano /etc/nsswitch.conf
このファイルは、Cライブラリにネームサービス情報を取得する方法を教えてくれます。- 行
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
をに変更してhosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns
保存して終了します。サービスmdns_minimal
は照会を処理し、.local
前に追加する必要があります。resolve
dns
systemctl start avahi-daemon
すでに起動しているので、Avahiサービスを手動で起動してください。エラーを見つける)systemctl enable avahi-daemon
起動時にAvahiサービスを有効にします。
私はArchラップトップでこの手順を実行しましたが、他のサービスやWiFiインターフェイスを再起動せずに他のコンピュータでそのサービスを検索でき、ラップトップは数秒でそのサービスを検索できました。
まだgggの答えについて言及できないので、ここでは起動スクリプトでこれを行う必要がないことだけを指摘します。これが systemd でサービスを有効にする目的です。一度だけやって忘れてください。
答え2
ご指摘ありがとうございますアーチスウィキAvahiに関するUlrich Dangelの記事は次のとおりです。
- avahiとnss-mdnsのインストール
$ sudo pacman -S avahi nss-mdns
/etc/rc.d/avahi-daemon start
最後に追加rc.local
- 実行中なので、
dhcpcd
その行を/etc/dhcpcd.conf
コメントアウトしましたnoipv4ll
。 - 私も逃げた
$ sudo /usr/sbin/avahi-autopid -D wlan0
。再起動するのが好きではないので、ステップ3が必要かどうかわかりません。 /etc/nsswitch.conf
読み込むように行を設定した後hosts: files mdns4_minimal dns mdns4
。- その後、dbusを再起動するために走りました
$ sudo /etc/rc.d/dbus restart
。
その後はちょうどやってください。ssh [email protected]
答え3
avahi-daemon
を使用するために走る必要はないと思います.local
。これが私の起動スクリプトの内容です。これはArch Wikiアプローチよりはるかに簡単です。
systemctl enable avahi-daemon
avahi-set-host-name $(hostname)
systemctl disable avahi-daemon