2019年6月17日月曜日

Ubuntu 18.04 DNSでの名前解決エラー

どうも、開発サーバーへのアクセス時に通信エラーを起こすことが多いです。勝手に仮想マシンの設定の問題と決めつけていたのですが、どんどんひどくなっていっていよいよ Ajax のデバッグがほとんどできない状態に… 以前 syslog を見たときに Apache がコア吐いているのを見つけていたので、いよいよデバッグするしか無いかと再度 syslog を開いてみました。

あれ?なんか下記のようなエラーがいっぱい出ている…

systemd-resolved[864]: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001, retrying transaction with reduced feature level UDP.

おかしいなぁとよく見ると、あ!開発用の CentOS じゃなくて開発マシンの Ubuntu の syslog 見てた…う〜ん、とするとエラーを起こしているのは Ubuntu の方か?とぐぐってみると出てきました。

New alert keeps showing up: Server returned error NXDOMAIN, mitigating potential DNS violation DVE-2018-0001

でこれによると、シンボリックリンクの /etc/resolv.conf がおかしなところを指しているのでこれを直せとのこと。

kiya@ubuntu:~/$ ll /etc/resolv.conf
lrwxrwxrwx 1 root root 34  6月 17 14:01 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

ん?stub って言葉が気になる…

kiya@ubuntu:~/$ ll /run/systemd//resolve/
合計 8.0K
drwx------ 2 systemd-resolve systemd-resolve  80  6月 17 14:04 netif
-rw-r--r-- 1 systemd-resolve systemd-resolve 733  6月 17 14:04 resolv.conf
-rw-r--r-- 1 systemd-resolve systemd-resolve 715  6月 17 14:04 stub-resolv.conf

ということで

kiya@ubuntu:~/$ cd /etc
kiya@ubuntu:/etc$ sudo unlink /etc/resolv.conf
kiya@ubuntu:/etc$ sudo ln -s ../run/systemd/resolve/resolv.conf resolv.conf

再起動すると、エラーが出なくなりました。