AdGuard Home是UOS ARM64平台首选DNS广告过滤方案,需先禁用dnsmasq、配置systemd-resolved释放53端口,再下载ARM64安装包、设为系统服务并配置DNS过滤规则,最后将系统DNS指向127.0.0.1完成接管。

如果您希望在统信UOS系统上实现DNS层级的广告过滤,Pi-hole是一种成熟、开源且可本地部署的解决方案。但需注意:Pi-hole官方未提供原生ARM64或UOS适配包,且其默认依赖systemd-resolved与dnsmasq存在端口冲突,需手动规避。以下是兼容UOS桌面版与服务器版的多种可行安装路径:
一、使用Docker方式部署Pi-hole(推荐,兼容性高)
该方法通过容器隔离运行环境,避免与UOS自带DNS服务(dnsmasq/systemd-resolved)直接冲突,无需修改系统级配置,便于启停与版本管理。
1、确认系统已安装Docker并启动服务:sudo systemctl is-active docker
2、拉取Pi-hole官方镜像(支持amd64与arm64架构):sudo docker pull pihole/pihole:latest
3、停止并禁用UOS默认dnsmasq服务:sudo systemctl stop dnsmasq && sudo systemctl disable dnsmasq
4、释放53端口:检查53端口占用情况,若systemd-resolved仍在监听,则编辑/etc/systemd/resolved.conf,将DNSStubListener设为no,再执行sudo systemctl restart systemd-resolved
5、创建Pi-hole持久化目录并运行容器:
sudo mkdir -p /opt/pihole/{etc-pihole,etc-dnsmasq.d}
sudo docker run -d \
--name pihole \
-p 53:53/tcp -p 53:53/udp \
-p 80:80 \
-p 443:443 \
-e TZ=Asia/Shanghai \
-v /opt/pihole/etc-pihole:/etc/pihole \
-v /opt/pihole/etc-dnsmasq.d:/etc/dnsmasq.d \
--dns=127.0.0.1 \
--restart=unless-stopped \
--cap-add=NET_ADMIN \
pihole/pihole:latest
6、获取初始Web管理密码:sudo docker logs pihole | grep "password"
7、浏览器访问http://本机IP地址,使用输出的密码登录Pi-hole控制台
二、通过Debian兼容源手动安装Pi-hole(仅限UOS D版)
该方法适用于UOS D版(基于Debian 11/12),利用Pi-hole官方一键脚本安装,但需提前解除NetworkManager对resolv.conf的接管,并确保基础依赖完整。
1、切换至root权限:sudo -i
2、备份并锁定DNS配置文件:cp /etc/resolv.conf /etc/resolv.conf.bak && chattr +i /etc/resolv.conf
3、安装必要依赖:apt update && apt install curl wget gnupg ca-certificates -y
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
4、下载并执行Pi-hole安装脚本:curl -sSL https://install.pi-hole.net | bash
5、安装过程中,当提示选择上游DNS时,推荐输入223.5.5.5,114.114.114.114;当询问是否启用PI-HOLE DNS时,选择Yes
6、安装完成后,脚本将输出Web管理地址及Admin密码,请记录Admin password字段值
7、手动修改UOS网络连接DNS为127.0.0.1(通过图形界面或nmcli设置),使本机流量经Pi-hole解析
三、使用Pi-hole替代方案AdGuard Home(强兼容UOS ARM64)
鉴于Pi-hole对UOS ARM64平台支持有限,AdGuard Home提供更稳定的二进制分发与图形化管理界面,且原生支持ARM64架构,是UOS专业版(尤其是ARM64设备)的首选替代方案。
1、下载AdGuard Home ARM64版:wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_arm64.tar.gz
2、解压并进入目录:tar xzf AdGuardHome_linux_arm64.tar.gz && cd AdGuardHome
3、安装为系统服务:sudo ./AdGuardHome -s install
4、编辑配置文件以避免端口冲突:sudo nano AdGuardHome.yaml,确认web_port为3000,dns.port为53,若被占用则修改为5353并同步调整DNS客户端设置
5、启动服务:sudo systemctl start AdGuardHome
6、浏览器访问http://本机IP:3000完成初始化向导,设置管理员账户后,进入“DNS过滤”页面启用广告过滤规则集
7、在UOS网络设置中,将DNS服务器地址设为127.0.0.1,完成流量接管

















