Ubuntu 18.10でdnsmasq
をアドレスリゾルバーとして設定しようとしています。
これまでのところ、デフォルトのリゾルバとしてsystemd-resolved
を無効にし、dnsmasq
を導入しました。netstat -tulpn
を実行すると、次のように表示されます。
> Sudo netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 31609/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 561/sshd
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 4614/openvpn
tcp6 0 0 :::53 :::* LISTEN 31609/dnsmasq
tcp6 0 0 :::22 :::* LISTEN 561/sshd
udp 0 0 0.0.0.0:53 0.0.0.0:* 31609/dnsmasq
udp 0 0 XXX.XXX.XX.XX:YY 0.0.0.0:* 440/systemd-network
udp6 0 0 :::53 :::* 31609/dnsmasq
dnsmasq
がポート53でリッスンしているので、これで今のところうまくいくと思います。
私の/etc/resolv.conf
は次のようになります。
nameserver 127.0.0.1
nameserver 127.0.1.1
nameserver 127.0.0.53
2番目の行についてはわかりませんが、これでもこれで問題ないはずです。
それでも、Dig
、ping
などを実行しようとすると、接続は常にタイムアウトします。
> Dig askubuntu.com
; <<>> Dig 9.11.4-3ubuntu5-Ubuntu <<>> askubuntu.com
;; global options: +cmd
;; connection timed out; no servers could be reached
どこで何か間違ったことをしたので、それらの機能を壊しましたか?
systemd-resolved
に127.0.0.53が表示されているように、/etc/resolv.conf
はまだ実行中です。
dnsmasq
が実行されている場合、127.0.0.1と表示されます。
両方を一緒に実行すると、お互いのつま先を踏む傾向があります。
dnsmsaq
を実行し、systemd-resolved
のDNS機能を無効にするには、/etc/systemd/resolved.conf
を編集する必要があります...
変化する:
#DNSStubListener=yes
に:
DNSStubListener=no
再起動して、/etc/resolv.conf
を再確認すると、127.0.0.1が表示されます。
ポストノート:do [〜#〜] not [〜#〜]/etc/resolv.conf
を手動で編集します。