启动或重启 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 端口的占用。

posted @ 2020-04-26 16:05  Yogile  阅读(14317)  评论(0编辑  收藏  举报