前端时间在研究 odoo 程序,但是该程序要在 Ubuntu 系统上运行,而缙哥哥平常使用的 ADGuard Home 和宝塔都是在 CentOS 系统上运行。秉着不浪费的原则,计划将三大程序兼容运行在同一台服务器上,但是在安装 ADGuard Home 时,提示 53 端口被占用。
validating ports: listen tcp 0.0.0.0:53: bind: address already in use
首先使用以下命令查看系统是否使用 53 端口。
sudo lsof -i :53
当前的服务器反馈结果如下:
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 进程占用了。如果未获得任何输出,则表示未使用 53 端口。
修改下参数,不让 systemd-resolved 程序运行。
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 前的注释符号 # 去掉,同时添加指定的 DNS 作为解析地址,并将 DNSStubListener 末尾的值 yes 改为 no 保存。
接着将/run/systemd/resolve/resolv.conf作为/etc/resolv.conf目标地址链接起来。
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
这里, -s 要创建符号链接而不是硬链接, -f 这旨在删除现有的目标文件(如果 /etc/resolv.conf 存在),最后输入 sudo reboot 重启服务器即可。重启后可以使用最上方的代码检查 53 端口是否被占用,理论上无任何反应(即不被占用)。
请登录后发表评论
注册
停留在世界边缘,与之惜别