前言
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 端口的占用。