这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

高级功能

这里将会介绍一些私有服务的高阶使用技巧.

1 - DDNS动态解析

使用Adguard Private实现便捷的DDNS动态解析服务

什么是DDNS?

DDNS(Dynamic DNS)允许您为动态IP地址绑定一个固定域名,适合家庭宽带用户访问内网设备,如NAS、智能家居控制器等。

功能特点

  • 简单易用: 仅需一个脚本即可实现自动更新
  • 零额外成本: 无需购买域名
  • 高可靠性: 依托Adguard Private的DNS基础设施
  • 快速生效: DNS记录更新后即时生效, 无需等待DNS传播

使用准备

使用DDNS功能需要:

  1. 一个有效的Adguard Private服务
  2. 管理面板的用户名和密码
  3. 需要解析的域名(如:nas.home)

DDNS脚本下载:

配置步骤

1. 获取必要信息

您需要准备:

  1. Adguard Private服务地址,形如:https://xxxxxxxx.adguardprivate.com
  2. 管理员用户名和密码
  3. 需要解析的域名,如:nas.home

2. 部署更新脚本

以下脚本将会自动更新指定域名的解析地址。

Windows PowerShell

# 下载脚本
Invoke-WebRequest -Uri https://www.adguardprivate.com/docs/startup/private/tutorial/ddns/update_dns.ps1 -OutFile update_dns.ps1
# 设置执行策略(可选, 仅当前会话)
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
# 执行脚本
.\update_dns.ps1 https://xxxxxxxx.adguardprivate.com admin:password123 nas.home

Linux && MacOS

# 下载脚本
wget https://www.adguardprivate.com/docs/startup/private/tutorial/ddns/update_dns.sh -O update_dns.sh
# 添加执行权限
chmod +x update_dns.sh
# 执行脚本
./update_dns.sh https://xxxxxxxx.adguardprivate.com admin:password123 nas.home

常见问题

如何验证是否生效?

可以通过ping your-domain.name命令检查解析是否正确指向您的当前IP地址。

或登录服务后台, 查看过滤器->DNS重写记录.

如何设置定时更新?

Windows计划任务

  1. 打开任务计划程序
  2. 创建基本任务
  3. 设置运行频率(建议15-30分钟)
  4. 程序位置选择PowerShell,参数填入脚本完整命令

Linux Cron任务

将以下内容添加到crontab(每15分钟执行一次):

*/15 * * * * /path/to/update_dns.sh https://xxxxxxxx.adguardprivate.com admin:password123 nas.home

注意事项

  • 请妥善保管您的用户名和密码,避免泄露
  • 建议将更新脚本加入系统计划任务,实现自动运行
  • 如遇解析未及时生效,请检查网络连接和凭证是否有效

2 - DNS分流配置指南

详细介绍如何通过配置DNS分流来优化网络访问体验,包含国内外DNS服务器配置指南和分流规则设置说明。

DNS分流概述

DNS分流通过将不同域名的解析请求分发到不同的DNS服务器,可以显著提升网络访问体验。合理的DNS分流配置可以:

  • 加快域名解析速度
  • 提升网站访问稳定性
  • 优化跨境访问体验
  • 避免DNS污染问题

Adguard Private 分流配置

基础配置示例

# 国内DNS服务器
223.5.5.5                                    # 阿里DNS
2400:3200::1                                 # 阿里DNS IPv6
public0.adguardprivate.svc.cluster.local    # 私有DNS, 大陆上游

# 国外DNS服务器
tls://1.0.0.1                               # Cloudflare DNS
tls://[2606:4700:4700::1001]               # Cloudflare DNS IPv6
public2.adguardprivate.svc.cluster.local    # 私有DNS, 其它上游

# 分流规则示例
[/google.com/bing.com/github.com/stackoverflow.com/]tls://1.0.0.1 public2.adguardprivate.svc.cluster.local
[/cn/xhscdn.com/tencentclb.com/tencent-cloud.net/aliyun.com/alicdn.com/]223.5.5.5 2400:3200::1 public0.adguardprivate.svc.cluster.local

国内运营商DNS服务器列表

电信DNS服务器

名称首选 DNS 服务器备用 DNS 服务器
安徽电信61.132.163.68202.102.213.68
北京电信219.142.76.3219.141.140.10
重庆电信61.128.192.6861.128.128.68
福建电信218.85.152.99218.85.157.99
甘肃电信202.100.64.6861.178.0.93
广东电信202.96.128.86202.96.128.166
广西电信202.103.225.68202.103.224.68
贵州电信202.98.192.67202.98.198.167
河南电信222.88.88.88222.85.85.85
黑龙江电信219.147.198.230219.147.198.242
湖北电信202.103.24.68202.103.0.68
湖南电信222.246.129.8059.51.78.211
江苏电信218.2.2.2218.4.4.4
江西电信202.101.224.69202.101.226.68
内蒙古电信219.148.162.31222.74.39.50
山东电信219.146.1.66219.147.1.66
陕西电信218.30.19.4061.134.1.4
上海电信202.96.209.133116.228.111.118
四川电信61.139.2.69218.6.200.139
天津电信219.150.32.132219.146.0.132
云南电信222.172.200.6861.166.150.123
浙江电信202.101.172.3561.153.177.196
西藏电信202.98.224.68202.98.224.69

联通DNS服务器

名称首选 DNS 服务器备用 DNS 服务器
北京联通123.123.123.123123.123.123.124
重庆联通221.5.203.98221.7.92.98
广东联通210.21.196.6221.5.88.88
河北联通202.99.160.68202.99.166.4
河南联通202.102.224.68202.102.227.68
黑龙江联通202.97.224.69202.97.224.68
吉林联通202.98.0.68202.98.5.68
江苏联通221.6.4.66221.6.4.67
内蒙古联通202.99.224.68202.99.224.8
山东联通202.102.128.68202.102.152.3
山西联通202.99.192.66202.99.192.68
陕西联通221.11.1.67221.11.1.68
上海联通210.22.70.3210.22.84.3
四川联通119.6.6.6124.161.87.155
天津联通202.99.104.68202.99.96.68
浙江联通221.12.1.227221.12.33.227
辽宁联通202.96.69.38202.96.64.68

全国移动 DNS IP

名称首选 DNS 服务器备用 DNS 服务器
北京移动221.130.33.60221.130.33.52
广东移动211.136.192.6211.139.136.68
江苏移动221.131.143.69112.4.0.55
安徽移动211.138.180.2211.138.180.3
山东移动218.201.96.130211.137.191.26

公共 DNS IP

名称首选 DNS 服务器备用 DNS 服务器
114 DNS114.114.114.114114.114.115.115
CNNIC SDNS1.2.4.8210.2.4.8
阿里云公共DNS223.5.5.5223.6.6.6
DNSPod DNS+119.29.29.29119.29.29.29
Google DNS8.8.8.88.8.4.4

配置建议

  1. 优先选择就近的DNS服务器
  2. 同时配置IPv4和IPv6 DNS
  3. 为重要域名配置备用DNS
  4. 定期更新分流规则
  5. 监控DNS响应时间

注意事项

  • 配置前请记录原有DNS设置
  • 避免使用不可信的DNS服务器
  • 定期检查DNS解析是否正常
  • 保持规则列表简洁且有效

通过合理配置DNS分流,可以显著提升网络访问体验。建议根据实际需求选择合适的DNS服务器和分流规则。

参考

3 - 使用自定义设备名

如果直接使用服务的监听地址, 如:

  • tls://xxxxxxxx.adguardprivate.com
  • https://xxxxxxxx.adguardprivate.com/dns-query

在后台看到的客户端排行的IP是负载均衡器的集群IP, 对用户无意义, 无法区分不同设备.

客户端排行

可以通过扩展域名增加URL路径的方式来识别不同设备.

自定义客户端名称

  • DoT使用扩展域名方式, 如tls://device1.xxxxxxxx.adguardprivate.com
  • DoH使用增加URL路径方式, 如https://xxxxxxxx.adguardprivate.com/dns-query/device2

注意:

  • 安卓设备设置时不需要输入协议前缀 tls://, 只需要输入 device1.xxxxxxxx.adguardprivate.com
  • 苹果设备在设置指导中, 输入客户端ID, 下载配置文件以进行设置, 无需手动输入

苹果设备设置指导

个人服务的所有设备共享服务的查询限制每秒30次请求.

4 - 更快的请求响应

付费用户使用AdGuard私有服务, DNS请求路径如下:

根据路径可以分析最快响应方案.

本地缓存命中

最快的响应是本地缓存命中, 由于本地缓存是内存级别的, 因此速度非常快, 只需要几微秒.

这由DNS响应的TTL(time to live)值控制, 通常是几分钟到几小时, 表示查询结果在这段时间内有效, 不需要再次查询.

您可以在控制面板 -> 设置 -> DNS 设置 -> DNS 缓存配置 -> 覆盖最小 TTL 值中设置最小TTL值, 增大该值以延长缓存时间, 使得系统更多的使用本地缓存, 通常的TTL值是600秒.

但是, 由于本站同时有过滤能力, 如果您需要的服务被广告规则误拦截, 那么即使您暂时关闭了加密DNS, 也无法立刻访问到您需要的服务, 因为本地缓存的结果是被过滤规则修改过的. 因此, 设置为60秒是一个比较安全的值, 保证少数情况下用户不会因为误拦截, 在关闭加密DNS后等待过长时间.

AdGuard DNS服务器

本站目前使用位于杭州的阿里云服务器, 可以满足绝大部分东部地区用户的低延迟需求, 随着业务增长, 未来会在全国范围内增加服务器.

服务器缓存命中

默认为每个用户设置了4MB的DNS缓存, 根据经验, 这已经足够一个家庭的使用. 该设置的自由修改可能导致用户服务被强制中止, 本站已屏蔽了该设置的修改入口.

上游DNS服务器

由于使用的阿里云服务, 上游DNS服务也选用了阿里云的DNS服务, 速度非常快, 通常在几毫秒内返回结果.

用户会有三个请求上游DNS服务器的方式:

  1. 负载均衡: 本站默认使用了负载均衡, 会自动选择最快的服务器返回结果.
  2. 并行请求: 本站暂时不会限制并行请求的使用.
  3. 最快的IP地址: 当前没有意义的设置, 本站已屏蔽了该设置的修改入口.

说明一下为什么最快的IP地址没有意义, 最快IP需要由真正访问服务的设备本身来选择. 当AdGuard服务运行在杭州, 而用户在北京, AdGuard会认为杭州的IP地址最快, 但是实际上用户访问北京的服务速度最快, 选择杭州的IP地址反而会增加延迟. 因此, 本站已屏蔽了该设置的修改入口. 此设置在用户的家庭网络中可能有用, 但是在公共服务中没有意义.

影响网络体验的因素有很多, 例如服务端带宽, 网络拥塞, 服务器负载, 网络质量等, 选择最快的IP地址并不能保证最快的响应速度, 延迟只是其中的一个因素, 不是唯一的因素. 为避免用户设置错误导致服务质量下降, 本站已屏蔽了该设置的修改入口.

规则过滤

最常用的模式是黑名单列表, 用户可以从预置的黑名单列表中选择. 黑名单的命中使用hash算法, 无论规则量多少, 命中时间都是O(1), 用户不必担心规则量过大导致命中时间过长.

但是, 规则计算后存储在内存, 每个用户的服务内存使用限制在300MB以内, 这可以满足绝大部分用户的需求, 如果用户的规则量过大, 可能会导致内存不足, 服务被反复重启, 造成服务中断.

本站暂时屏蔽了第三方规则的使用, 以避免用户引入过大的规则. 未来有更好的限制手段后, 会重新开放第三方规则的使用.

总结

希望获得更快的请求响应, 用户可以:

  1. 适当增大最小TTL值, 增大本地缓存命中率.
  2. 设置合适的DNS缓存大小(已预设值).
  3. 选择地理位置最接近的城市创建服务(待企业发展).
  4. 无出海需求, 选择负载均衡; 有出海需求, 选择并行请求.
  5. 使用合适自己的黑名单规则, 避免引入过大的规则.

5 - 设置信任的服务商

付费服务创建时, 默认使用国内较快的上游服务, 包括阿里的IPv4和IPv6及DoT服务.

一些服务商可能存在解析错误问题, 将一些海外网站解析到错误的IP地址, 造成无法访问. 常见的表现是浏览器报证书错误.

如果需要避免解析错误, 可以更换上游服务商, 使用Cloudflare的服务, 使用这类服务时, 请确保使用的是DoHDoT协议, 以免被劫持.

同时, 还需要关闭国内的上游服务, 因为它们离得近, 速度更快, AdGuard会优先使用它们.

在对应的服务IP前加上#即可禁用该上游服务.

避免解析错误

设置好后, 需要测试上游以确保上游服务器可用, 确认可用后应用.

避免解析错误-应用

但是, 只使用海外服务, 会导致国内各App的访问体验下降, 因为国内的App通常将供海外的解析设置到特定的对外服务器, 国内访问速度较慢.

如果您只需要避免常用服务的解析错误, 可以自行将被解析错误的域名指定特定的解析地址, 未指定的域名仍然使用默认的国内上游服务.

在AdGuard控制台中, 选中 设置 -> DNS 设置 -> 上游DNS服务器, 将被解析错误的域名以[/example1.com/example2.com/]tls://1.0.0.1的格式添加到 自定义DNS服务器 中, 然后点击 保存设置 即可.

设置上游服务器

设置上游服务器

public2.adguardprivate.svc.cluster.local 是我们内部提供的无解析错误解析, 上游选择了Cloudflare, 相较于用户自行指定海外上游, 有更快的解析速度, 代价是域名解析更新时会产生少量的延迟. 如果用户没有专业需求, 都可以使用我们提供的无解析错误解析.

如果需要使用CloudflareGoogle的外部解析地址, 需要指定IP使用DoT/DoH, 可参考使用:

#tls://1.1.1.1
tls://1.0.0.1
tls://[2606:4700:4700::1111]
tls://[2606:4700:4700::1001]
tls://[2606:4700:4700::64]
tls://[2606:4700:4700::6400]
https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
https://[2606:4700:4700::1111]/dns-query
https://[2606:4700:4700::1001]/dns-query
#tls://8.8.8.8
#tls://8.8.4.4
tls://[2001:4860:4860::8888]
tls://[2001:4860:4860::8844]
tls://[2001:4860:4860::64]
tls://[2001:4860:4860::6464]
#https://8.8.8.8/dns-query
#https://8.8.4.4/dns-query
#https://[2001:4860:4860::8888]/dns-query
https://[2001:4860:4860::8844]/dns-query

其中#注释的地址表示已被防火墙拦截, 暂时无法使用.

本站全栈支持IPv6, 这是我们的优势之一, 可以使用IPv6地址的上游, 获得更稳定的解析速度.