Ubuntu18.04でリゾルバ(/etc/resolv.conf)の設定がまた変更になったようで、暫くハマりました。
サイト管理者の仮寓はまあ、SOHOも兼ねておりまして、Linux/Windowsコンピューターをそれぞれ4台、1台置いており、2台はUbuntu18.04の開発版に変えてあります。宅内にDNSサーバーを立ち上げるのはもっとあとからにしようと考え、/etc/hostsに宅内コンピューターのアドレスを書き込んであります。
ところが本日、少し休んでいる間に、/etc/hostsに書き込んであったコンピューターのFQDNにpingしても、サービスが不明です、とか言われて応答が帰ってきません。いろいろ調べると、/etc/resolv.confには、
nameserver 127.0.0.53
と書き込んでありました。これは、Ubuntu18.04が勝手に作成したものであって、/etc/systemd/resolved.confへのシンボリックリンクになっています。そこで、https://qiita.com/ajitama/items/b9e517db17755a30886に従いまして、変更しました。もともとは、つぎのようになっています。
# This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. # # Entries in this file show the compile time defaults. # You can change settings by editing this file. # Defaults can be restored by simply deleting this file. # # See resolved.conf(5) for details [Resolve] DNS= #FallbackDNS= #Domains= #LLMNR=no #MulticastDNS=no #DNSSEC=no #Cache=yes #DNSStubListener=udp
ここのDNSのところをサイト管理者の宅内環境に合わせて、192.168.1.2(DNSサーバーのアドレス)、192.168.1.1(ブロードバンドルーターのアドレス)に変更し、その次に、
systemd-resolve --status cat /var/run/systemd/resolve/resolv.conf
などとしました。このresolv.confのシンボリックリンクがコンピューターの起動時に/etc/resolv.confとして貼られるようです。/etc/resolv.confは、/run/systemd/resolv/stub-resolv.confのシンボリック・リンクでした。
取り敢えず、自宅サーバーにpingが当たり、帰ってきましたので、何とかなりましたが、/etc/hostsの機能が正常に動作しているかはまだ分かりません。なお、宅内用のDNSサーバー(198.168.1.2)を立ち上げておいたら良いと思います。サイト管理者宅では、SambaのActive Directoryと組み合わせて使っています。
※注意
一晩寝ている間に、リゾルバ(/etc/resolv.conf)が
nameserver 192.168.0.53
へと勝手に書き変わっていました。これでは、DNSサーバーも意味がありません。暫く、調べてみます。この状態では、不思議なことに、/etc/hostsが効かなくなります。ということで、取り敢えず、resolv.conf.validで正しいnameserverを書いておき、crontab -eで、
sudo cp /etc/resolv.conf.valid /etc/resolv.conf
を定期的に実行させることにしました。