Dnsmasq 无法为端口 53 创建侦听套接字

Dnsmasq 无法为端口 53 创建侦听套接字

我正在尝试在运行 Raspbian 的 Raspberry pi 上设置 DNS 服务器。我一直在网上学习如何设置 DNS 服务器的教程,我发现这个教程非常容易理解。

http://www.heystephenwood.com/2013/06/use-your-raspberry-pi-as-dns-cache-to.html

我按照说明并通过本网站上列出的链接安装了 dnsmasq

curl "https://raw.github.com/stephendotexe/raspberrypi/master/roles/dnsmasq_server" | sudo sh,

但是当它尝试启动 dnsmasq 时,它给了我错误;

dnsmasq: failed to create listening socket for port 53: Address already in use failed!

我做了一些研究,并在 Askubuntu 网站上发现了这篇文章。

https://askubuntu.com/questions/191226/dnsmasq-failed-to-create-listening-socket-for-port-53-address-already-in-use

我再次按照指示进行操作,发现 dnsmasq 会干扰网络管理器,因此我按照帖子的指示运行了以下命令。

sudo apt-get remove dnsmasq-base
sudo apt-get install dnsmasq
sudo apt-get install network-manager network-manager-gnome

再说一遍,这并没有解决我的问题。我试图lsof找出什么正在使用端口 53,所以我安装了它sudo apt-get install lsof并运行了命令;

sudo lsof -Pn +M | grep ':53 (LISTEN)

我得到这个输出

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
named   1955 bind   20u  IPv4   2467      0t0  TCP 127.0.0.1:53 (LISTEN)
named   1955 bind   21u  IPv4   2469      0t0  TCP 192.168.0.102:53 (LISTEN)
named   1955 bind  512u  IPv4   2466      0t0  UDP 127.0.0.1:53 
named   1955 bind  513u  IPv4   2468      0t0  UDP 192.168.0.102:53

我认为这意味着我需要卸载 BIND 或至少使其不在启动时执行。

答案1

在您的 DNSMASQ.conf 中,确保相关接口禁用 TFTP(在我的例子中为 eth8,替换为您的接口)

# = dont provide DHCP or TFTP on this interface : (BUT provide DNS service)
no-dhcp-interface=eth8

相关内容