[ubuntu-jp:6585] Re: 同一LAN のサーバーに ping/ssh が通らなくなる

Masahiro Sekiguchi sekiguchi328 @ yahoo.co.jp
2023年 3月 4日 (土) 10:09:31 UTC


せきぐちと言う者です。

今、手元に環境がないので記憶を頼りにいいかげんなことを書きます。ヒントくらいにはなるかと思うのですが、間違いがありそうです。疑ってかかってください。(詳しい人が間違い指摘をしてくれるのも期待しています。)

redとblueというホスト名は投稿用の仮名だと思うのですが、sshやrsyncコマンドを起動する際に指定している名前は実際に.local ドメインの名前を指定していると理解していいでしょうか。また、元の質問にDNSやIPを含むネットワーク関連の設定の話が一切記載されていないので、ネットワークに関する設定は一切行っていらっしゃらず、Ubuntuのデフォルトの設定のままで使っている (IPアドレスの設定などは行っていらっしゃらずDHCPでIPアドレスを取得、その際に通知されたDNSサーバーのアドレスでインターネットの名前解決をしている、/etc/hostsなんか一切触っていない) という理解でいいでしょうか。

そうであれば、

まず、ホスト名を解決できるとき (sudo service network-manager restartなどを行った直後) に、どういったメカニズムで名前解決ができているのかを調べることから始めるのがいいように思います。と言いますのは、.localというドメイン名は特殊なもので通常のDNSとは異なる方法で名前解決が行われ (普通にDNSサーバーで解決するように設定することもできますが)、しかも一時期LinuxとmacOSとWindowsがそれぞれ独自の流儀でサポートしていたりしたためにかなり状況が混沌としています。(ここ数年で落ち着いてきたという話もありますが)。

Ubuntuの20.04以降 (18.04だったかも) のデフォルトの状態では、.localドメインのホスト名はmDNSという仕組みで解決されるはずです。実際の名前解決はavahi daemonがやってくれるんだったと思います。しかしsambaがインストールされていると、これが昔のWindows互換の (NetBIOS over TCPのネームサービスを利用した) .localの解決法に切り替わるんだったと思います。特にこの後者の場合、もともとWindowsの仕組みなので、同じLAN上でWindowsが動いているとそっちが優先されて困ったような記憶があります  (特にサーバーが鬼門で、Windows Home Serverでしたっけ、WindowsベースのNAS装置のOSが最悪でした) 。

あと (私自身は経験がなく、単なる思い付きですが) お使いの無線ルーターが良かれと思って、DHCPでIPアドレスを割り当てる際に、自分が内蔵していてDHCPで通知しているDNSサーバーで、その名前を.local ドメインでDNSで解決できるようにする機能を持っていたりして、それとの相互作用で妙なことになっている、なんていう可能性もあるかもしれません。

以上、「それは仕様だ」でも「こうやったらいいよ」でもない、いいかげんな話を書きましたが、何かの参考になれば。

> 森本です。
> 
> /etc/hosts の設定を man hosts を参考にされてはいかがですか?
> 
> On 2023/03/03 23:52, 小波秀雄 wrote:
> > 皆さま 小波です。いつもお世話になっております。
> >
> > 件名の症状でお伺いします。
> >
> > 現在,家のルータ(有線/無線)にPC等を接続して使っています。うち Ubuntu 
> > 機2台を
> > ほぼ常時動かしています。host は blue (Ubuntu 22.04.2 LTS) と
> >  red (Ubuntu 20.04.5 LTS)です。
> >
> > 立ち上げた時には相互に ssh,rsync 
> > 他の接続ができて便利に使えているのですが,
> > 何日かすると不定のタイミングで接続できなくなります。
> > 下記は red から接続しようとしているところです。
> >
> > > hostname
> >  red
> > > ping blue.local
> >  ping: blue.local: 名前またはサービスが不明です
> > > ssh blue.local
> >  ssh: Could not resolve hostname bubucha.local: Name or service not known
> >
> > この状態になってしまいます。どういうタイミングでなるのかはっきりしませんが, 
> >
> > 数日接続していないとこうなるのかもしれません。
> >
> > 仕方がないので,
> > > sudo service network-manager restart
> > とやると,接続が復帰します。
> > なお,blue (22.04.2 LTS) 側ですと次のコマンドを使います。
> > > sudo systemctl restart NetworkManager
> >
> > コマンドを叩く位は大した手間でもないので,ずっとこれでやってき
> > ているのですが,こうやったらいいよとかありましたら,それは仕様だ
> > とかありましたら,コメントをいただけると幸いです。



ubuntu-jp メーリングリストの案内