systemd-resolvedの代わりにdnsmasqをresolverとして使用する
systemd-resolvedがたまにbad responseもcacheしてDNS解決に失敗するなどあまり体験がよくなかったのでdnsmasqに切り替えてみる
code:bash
# RHEL/Fedora
$ sudo dnf install dnsmasq
# Ubuntu/Debian
$ sudo apt-get install dnsmasq
# systemd-resolvedを停止
$ sudo systemctl stop systemd-resolved
# systemd-resolvedが起動しないよう無効化
$ sudo systemctl disable systemd-resolved
# NetworkManagerでdnsmasqを使用するよう設定
$ sudo vim /etc/NetworkManager/NetworkManager.conf
dns=dnsmasq
# NetworkManager再起動
$ sudo systemctl restart NetworkManager
# 任意のDNSサーバーを使用したい場合は/etc/dnsmasq.confに直接serverを書くか、resolve-file=で指定したファイルに書く
$ sudo vim /etc/dnsmasq-resolve.conf
nameserver=~~~~
$ sudo vim /etc/dnsmasq.conf
~~~
resolv-file=/etc/dnsmasq-resolv.conf
# dnsmasq起動
$ sudo systemctl start dnsmasq
# 常に起動するよう有効化
$ sudo systemctl enable dnsmasq