
以前は LAN 上のマシン間で接続できましたが、現在は機能していません。もちろん IP を使用して SSH 接続できますが、DHCP なので、時々変更される可能性があります。両方のマシンで Debian 9.12 が実行されており、1 つは Windows ホストの VM ですが、それでも機能しました。構成ファイルをいじったことはなく、定期的に更新しているだけです。ssh [email protected]
ping hostname.local
ping: hostname.local: Name or service not known
(フランス語から翻訳したので、正確にはそのメッセージではないかもしれません)
ssh hostname.local
ssh: Could not resolve hostname hostname.local: Name or service not known
(ssh出力は英語です)
avahi.orgより:
Avahiは、mDNS/DNS-SDプロトコルスイートを介してローカルネットワーク上のサービス検出を容易にするシステムです。
/etc/resolv.conf
、を調べてみましたが/etc/avahi/avahi-daemon.conf
、/etc/nsswitch.conf
これは標準の設定のままです。
/etc/resolv.conf
(network-manager
起動するたびにリセットされます)
# Generated by NetworkManager
search lan
nameserver xx.xx.xx.xx # DNS IPs obtained from DHCP
nameserver xx.xx.xx.xx
man resolv.conf
search
デフォルトでは、リストにはローカルドメイン名のみが含まれると書かれています(フランス語のマニュアルページから翻訳した内容です)。local
ではなく、 であるべきではないでしょうかlan
?
これを変更して、すぐに LAN 上の別のホストに ping または ssh を実行しようとしましたが (ネットワーク マネージャーを再起動せずに)、機能しませんでした。また、ネットワーク マネージャーを再起動すると、書き換えられ/etc/resolv.conf
て設定されますsearch lan
。
/etc/nsswitch.conf
(デフォルト、変更はしていません)
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
avahi-browse
avahi (zeroconf / Bonjour) に依存するとを使用してホストとサービスを検出しようとしましたnbtscan
が、実行されているホストしか見つからないようです。
(これは他の質問と重複している可能性があるとわかっていますが、回答が見つからず、何もするのに十分な評判がありません)
答え1
それを見つけた !
私のルーターには確かに DNS サーバーがあるようです :
nslookup host_ip router_ip
Server: 192.168.1.254
Address: 192.168.1.254#53
69.1.168.192.in-addr.arpa name = hostname.lan.
これで.local
vs の.lan
質問への回答になります。最近の Debian では、ローカル ドメインは です.lan
。
それでも、ping hostname.lan
不明なホストが返されます。
感謝https://askubuntu.com/questions/623940/network-manager-how-to-stop-nm-updating-etc-resolv-conf/etc/resolv.conf
、が へのシンボリックリンクであることがわかった/var/run/NetworkManager/resolv.conf
ので、自分のものに置き換えるresolv.conf
:
search lan
nameserver 192.168.1.254
ルーターの DNS を使用するようにします (必要に応じてクエリをルーティングします)。
ネットワーク マネージャーを再起動するsystemctl restart network-manager
と、問題なく動作します。
$ ping hostname.lan
PING hostname.lan (192.168.1.69) 56(84) bytes of data.
64 bytes from hostname.lan (192.168.1.69): icmp_seq=1 ttl=64 time=2.02 ms
(ping google.fr
WANクエリが確実に処理されるようにするため)
答え2
私の場合、ネットワーク上の特定のホストに .local プレフィックス経由でアクセスできなかった理由は、単にそのホストで avahi デーモン サービスが停止していたためでした。
[~][0]$ service avahi-daemon status
○ avahi-daemon.service - Avahi mDNS/DNS-SD Stack
Loaded: loaded (/lib/systemd/system/avahi-daemon.service; disabled; preset: enabled)
Active: inactive (dead)
TriggeredBy: ○ avahi-daemon.socket
[~][3]$ service avahi-daemon start
[~][0]$
█[~][0]$ ping asus.local
PING asus.local (192.168.1.204) 56(84) bytes of data.
64 bytes from 192.168.1.204 (192.168.1.204): icmp_seq=1 ttl=64 time=0.892 ms
64 bytes from 192.168.1.204 (192.168.1.204): icmp_seq=2 ttl=64 time=0.848 ms
64 bytes from 192.168.1.204 (192.168.1.204): icmp_seq=3 ttl=64 time=0.784 ms
^C
答え3
FQDN は必要ありません。ホスト部分のみを使用します。例:
`[root@darouter ~]# arping -I enp2s0f1 matilda
ARPING 192.168.100.12 from 192.168.100.254 enp2s0f1
Unicast reply from 192.168.100.12 [D0:67:E5:EB:37:25] 0.759ms
Unicast reply from 192.168.100.12 [D0:67:E5:EB:37:25] 0.801ms
Unicast reply from 192.168.100.12 [D0:67:E5:EB:37:25] 0.732ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)`
私はマチルダがWindowsボックスなのでarpingを使用しました。これは、着信pingを許可する方法を考えるよりも簡単でした。ルーターのDNSを無効にします。すべき内部 DNS を使用できるように、DNS サーバーの IP を入力する場所になります。内部 DNS がホスト名で解決されない場合は、DNS 構成が壊れている場所を特定する必要があります。私はしばらく前にこの問題に遭遇しました。残念ながら、それはかなり前のことなので、昨日何をしたか覚えていないので、解決するために何をしたかを明確に答えることはできません。
お役に立てれば!
トッド