解决Debian安装AdGuardHome时端口占用问题
解决Debian安装AdGuardHome时端口占用bind: address already in use
的问题
发生这种情况是因为用于 DNS 的53端口已被另一个程序占用。
Debian/Ubuntu 附带一个名为systemd-resolved
的本地DNS,它使用该地址127.0.0.53:53,阻止 AdGuard Home 绑定到127.0.0.1:53
通过运行看到:
lsof -i :53
输出应类似于:
1 |
|
要解决此问题,您需要禁用systemd-resolved守护程序或选择不同的网络接口并绑定到其上可访问的 IP 地址,例如路由器的 IP 地址。
但如果需要收听localhost,有多种解决方案。
具体操作
请按照以下指南操作。请注意,如果您将 AdGuard Home 与 docker 或 snap 一起使用,则必须自己执行此操作。
/etc/systemd/resolved.conf.d
如有必要,创建目录:
mkdir -p /etc/systemd/resolved.conf.d
停用DNSStubListener并更新 DNS 服务器地址。为此,请创建一个新文件/etc/systemd/resolved.conf.d/adguardhome.conf
其中包含以下内容:
1 |
|
激活另一个resolv.conf文件:
1 |
|
重新启动DNSStubListener:
1 |
|
就完成了
解决Debian安装AdGuardHome时端口占用问题
https://blog.5772447.xyz/posts/53dc6f23/