我之前使用的是 Ubuntu 16.04,最近升级到了 18.04。在 16.04 上,我使用 dnsmasq 并同时运行配置和 bind。升级后,由于以下错误,我无法启动 dnsmasq:
dnsmasq: failed to create listening socket for port 53: Address already in use
。
我可以通过以下方式检查活动的互联网连接netstat -tulpn
,发现它named
使用与 dnsmasq.conf 中配置相同的 IP 和端口 (127.0.0.1:53) (listen-address=127.0.0.1)
你能帮我解决这个问题吗?
先感谢您
答案1
DNSStubListener=no
没有帮助。
但根据https://wiki.archlinux.org/index.php/dnsmasq我使用了
port=0
dnsmasq.conf,这解决了我的问题。
谢谢 !
答案2
端口冲突dnsmasq
通常是由systemd-resolved
运行引起的。从 18.04 开始,systemd-resolved
默认启用。 systemd-resolved
基本上提供了一个本地 DNS 缓存服务器。
还有其他页面介绍如何解决此问题。例如https://unix.stackexchange.com/questions/304050/how-to-avoid-conflicts-between-dnsmasq-and-systemd-resolved
根据您所发现的有关 正在使用的端口的信息named
,您可能与 存在不同的冲突bind
。同样的概念适用。您可以禁用bind
,也可以将服务配置为侦听非冲突的地址和端口。