天天看點

啟動或重新開機 dnsmasq 提示端口 53 被占用的解決方案

前言

Linux 開啟熱點需要使用 dnsmasq 服務,而這個服務使用 53 端口。但是 53 端口可能被占用,這是 dnsmasq 就會報錯:

failed to create listening socket for port 53: 位址已在使用
           

下面給出該錯誤的解決方案。

檢視占用端口情況

  • 終端指令檢視端口占用:
    sudo netstat -anlp | grep -w LISTEN
               
    可以看到:
    ......
    tcp        0      0 127.0.0.53:53              0.0.0.0:*               LISTEN      735/systemd-resolved
    ......
    tcp6       0      0 :::53                      :::*                    LISTEN      735/systemd-resolved
               

停用占用 53 端口的服務

  • 停用 systemd-resolved 服務。
    • 不一定是 systemd-resolved 服務,請根據自身情況進行修正。
    sudo systemctl stop systemd-resolved
               
  • 編輯 /etc/systemd/resolved.conf 檔案。
    sudo vim /etc/systemd/resolved.conf
               
  • 修改檔案中,

    [Resolve]

    部分。
    [Resolve]
    DNS=8.8.8.8  #取消注釋,增加dns
    #FallbackDNS=
    #Domains=
    #LLMNR=no
    #MulticastDNS=no
    #DNSSEC=no
    #Cache=yes
    DNSStubListener=no  #取消注釋,把yes改為no
               
  • 建立修改檔案連結。
    sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
               
  • 已經解除了 53 端口的占用。