从一键脚本到手动二进制,从 3000 端口向导到 DHCP 全量下发,一次把它部署成你家的局域网 DNS。
Linux 上安装 AdGuard Home 最快的方式是官方脚本:curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh;或到 Releases 下载对应平台的二进制手动解压运行。首次启动后浏览器打开 http://服务器IP:3000 进入初始化向导,设置管理账号与上游 DNS。最后在路由器 DHCP 里把 DNS 指向它,或启用它内置的 DHCP,即可让全屋设备自动用上,并通过 ./AdGuardHome -s install 注册开机自启服务。
curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh
脚本会自动下载与当前系统匹配的版本、解压到 /opt/AdGuardHome 并尝试注册服务。Alpine 等使用 OpenRC 的发行版也兼容该安装方式,只是服务管理命令换成 openrc 风格。
wget https://github.com/AdguardTeam/AdGuardHome/releases/latest/download/AdGuardHome_linux_amd64.tar.gz
tar -zxvf AdGuardHome_linux_amd64.tar.gz
cd AdGuardHome
sudo ./AdGuardHome -s install
手动方式适合需要指定版本、离线安装或精简定制的场景。-s install 会把它注册成系统服务(systemd / OpenRC)。
sudo ./AdGuardHome -s start # 启动
sudo ./AdGuardHome -s stop # 停止
sudo ./AdGuardHome -s restart # 重启
sudo ./AdGuardHome -s status # 查看状态
sudo ./AdGuardHome -s uninstall # 卸载服务
配置文件为同目录下的 AdGuardHome.yaml,改完配置用 restart 生效。
服务启动后第一次是"裸"的,需要向导把它变成一个可用的 DNS
在与服务器同网段的浏览器访问 http://服务器IP:3000。首次启动时 Web 界面默认监听 3000 端口,用于完成初始化。
向导第一步要求创建登录账号与密码。请务必设置强密码,因为 Web 界面暴露在 3000(或你后续改的端口)。
DNS 服务默认监听 53 端口(UDP+TCP)。上游 DNS 建议填加密端点,例如 https://1.1.1.1/dns-query(DoH)、tls://dns.google(DoT),或自建的递归解析器。
装好只是第一步,让全屋设备的 DNS 都指向它才算真正落地
登录路由器后台,在 LAN/DHCP 设置里把"主 DNS 服务器"填成 AdGuard Home 所在设备的固定 IP(如 192.168.1.10)。之后所有通过 DHCP 拿到地址的设备,DNS 都会自动指向它。
在 AdGuard Home 的"设置 → DHCP 设置"里启用 DHCP 服务器,由它分配 IP 并把自己作为 DNS 下发。注意:一个局域网只能有一个 DHCP 服务器,启用前先关掉路由器自带的 DHCP,避免地址冲突。
部署前先心里有数,避免和已有服务打架
| 端口 | 协议 | 用途 | 是否需放行 |
|---|---|---|---|
53 | UDP + TCP | 对外提供 DNS 解析/过滤服务 | 局域网必需;云服务器需安全组放行 |
3000 | TCP | 首次初始化向导 / Web 管理界面 | 仅配置时需要,建议只对自己 IP 开放 |
67 | UDP | 内置 DHCP 服务(可选启用) | 仅本机局域网,且需关闭路由器 DHCP |
853 | TCP | 若对外提供 DoT 服务时监听 | 按需对外放行 |
443 | TCP | 若对外提供 DoH 服务时监听 | 按需对外放行 |
新手 90% 的问题都集中在下面这几处
sudo ss -lnp | grep ':53'
sudo systemctl disable --now systemd-resolved
Debian/Ubuntu 默认 systemd-resolved 占着 127.0.0.53:53,AdGuard Home 起不来时报 "address already in use"。按上面关掉 stub 后再启动。
到云控制台安全组入方向放行 53 端口(UDP+TCP),同时检查本机 firewalld / ufw:sudo ufw allow 53。然后在另一台机器 nslookup example.com 服务器IP 验证。
客户端有 DNS 缓存。Windows 执行 ipconfig /flushdns,macOS/Linux 重启网络或重启 AdGuard Home,再重新查询。
典型原因是路由器 DHCP 没关,两个 DHCP 打架。只保留一个 DHCP 服务器:要么路由器发、DNS 指向 AdGuard Home;要么 AdGuard Home 发、路由器 DHCP 关闭。
http://服务器IP:3000 进入初始化向导,设置 Web 管理账号密码,并选择 DNS 监听端口(默认 53)。向导完成后正式用配置的 Web 端口登录。sudo ss -lnp | grep :53 确认占用进程。Debian/Ubuntu 上常见是 systemd-resolved 占用 127.0.0.53:53,可 sudo systemctl disable --now systemd-resolved 后再启动 AdGuard Home。