Raspbian

Dnsmasq 在埠 53 上不起作用,但在埠 53 上沒有其他內容

  • January 5, 2020

所以我在 raspberry pi 2 上執行 apache2 伺服器和 hostapd,使用 raspbian。當我嘗試使用 dnsmasq.conf localhost=127.0.0.1 執行 dnsmasq 時(在其他設置中,我認為它們現在不重要)它說

dnsmasq: failed to create listening socket for port 53: Address already in use [fail].

但我試過了

lsof -i -P -n | grep '53' 

而我只得到dnsmasq.

當我跑網時netstat -ap46,我得到

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address State  PID/Program name    
tcp        0      0 localhost:mysql 0.0.0.0:*       LISTEN 559/mysqld          
tcp        0      0 0.0.0.0:domain  0.0.0.0:*       LISTEN 438/dnsmasq         
tcp        0      0 0.0.0.0:ssh     0.0.0.0:*       LISTEN 445/sshd            
tcp6       0      0 [::]:http       [::]:*          LISTEN 627/apache2         
tcp6       0      0 [::]:domain     [::]:*          LISTEN 438/dnsmasq         
tcp6       0      0 [::]:ssh        [::]:*          LISTEN 445/sshd            
udp        0      0 0.0.0.0:mdns    0.0.0.0:*              327/avahi-daemon: r 
udp        0      0 0.0.0.0:domain  0.0.0.0:*              438/dnsmasq         
udp        0      0 0.0.0.0:bootpc  0.0.0.0:*              370/dhcpcd          
udp        0      0 0.0.0.0:59990   0.0.0.0:*              327/avahi-daemon: r 
udp6       0      0 [::]:mdns       [::]:*                 327/avahi-daemon: r 
udp6       0      0 [::]:55646      [::]:*                 327/avahi-daemon: r 
udp6       0      0 [::]:domain     [::]:*                 438/dnsmasq         
raw6       0      0 [::]:ipv6-icmp  [::]:*             7   370/dhcpcd   

我沒有安裝網路管理器。dnsmasq 會干擾自身嗎?我該如何解決?

在本地地址下,埠 53 被命名為 :domain 並被列為所有協議的程序“438/dnsmasq”使用。如果您使用netstat -ap46n,您將看到數字而不是名稱。

程序名稱是 dnsmasq,這意味著它確實已經在執行。如果你有htop,你可以通過程序 id 搜尋它,在本例中為 438。它將向您顯示用於啟動該過程的命令。或者,用於cat /proc/438/cmdline顯示該資訊。

因此,在 dnsmasq 已經執行的情況下,您需要檢查配置文件,並且可以在 /proc/438/cmdline 中的命令中找到使用哪個配置文件的提示。我係統上 dnsmasq 的手冊頁確實列出了許多文件,但沒有列出目錄/etc/dnsmasq.d和預設配置文件/etc/default/dnsmasq。檢查後一個文件可能是一個不錯的起點。例如,用於sudo nano /etc/default/dnsmasq在 CLI 上執行此操作。

我希望這足以讓你繼續這個。

引用自:https://unix.stackexchange.com/questions/560462