前段時(shí)間在研究 odoo 程序,但是該程序要在 Ubuntu 系統(tǒng)上運(yùn)行,而縉哥哥平常使用的 ADGuard Home 和寶塔都是在 CentOS 系統(tǒng)上運(yùn)行。秉著不浪費(fèi)的原則,計(jì)劃將三大程序兼容運(yùn)行在同一臺(tái)服務(wù)器上,但是在安裝 ADGuard Home 時(shí),提示 53 端口被占用。
validating ports: listen tcp 0.0.0.0:53: bind: address already in use
首先使用以下命令查看系統(tǒng)是否使用 53 端口。
sudo lsof -i :53
當(dāng)前的服務(wù)器反饋結(jié)果如下:
ubuntu@dujin:~$ sudo lsof -i :53 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME systemd-r 591 systemd-resolve 12u IPv4 19824 0t0 UDP 127.0.0.53:domain systemd-r 591 systemd-resolve 13u IPv4 19825 0t0 TCP 127.0.0.53:domain (LISTEN)
果然是 systemd-resolved 進(jìn)程占用了。如果未獲得任何輸出,則表示未使用 53 端口。
修改下參數(shù),不讓 systemd-resolved 程序運(yùn)行。
sudo vim /etc/systemd/resolved.conf
輸入上方代碼,使用 vim 編輯器編輯 resolved.conf 文件。
[Resolve] DNS=223.5.5.5 #FallbackDNS= #Domains= #LLMNR=no #MulticastDNS=no #DNSSEC=no #DNSOverTLS=no #Cache=yes DNSStubListener=no #ReadEtcHosts=yes
這里將 DNS 和 DNSStubListener 前的注釋符號(hào) # 去掉,同時(shí)添加指定的 DNS 作為解析地址,并將 DNSStubListener 末尾的值 yes 改為 no 保存。
接著將/run/systemd/resolve/resolv.conf作為/etc/resolv.conf目標(biāo)地址鏈接起來(lái)。
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
這里, -s 要?jiǎng)?chuàng)建符號(hào)鏈接而不是硬鏈接, -f 這旨在刪除現(xiàn)有的目標(biāo)文件(如果 /etc/resolv.conf 存在),最后輸入 sudo reboot 重啟服務(wù)器即可。重啟后可以使用最上方的代碼檢查 53 端口是否被占用,理論上無(wú)任何反應(yīng)(即不被占用)。