我正在尝试dnsmasq
在 Ubuntu 18.10 上设置为地址解析器。
到目前为止,我禁用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
我不确定第二行,但我认为到目前为止也应该没问题。
然而,当我尝试运行时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
仍在运行,正如我在您的/etc/resolv.conf
.如果
dnsmasq
正在运行,它将显示 127.0.0.1。当你一起跑步时,他们往往会踩到对方的脚趾。
要运行
dnsmsaq
并禁用 的 DNS 功能systemd-resolved
,您需要编辑/etc/systemd/resolved.conf
并...改变:
至:
然后重新启动,重新检查
/etc/resolv.conf
,您应该会看到 127.0.0.1。后注:请勿手动编辑
/etc/resolv.conf
.