这里将会介绍一些私有服务的高阶使用技巧.
1 - DDNS动态解析
什么是DDNS?
DDNS(Dynamic DNS)允许您为动态IP地址绑定一个固定域名,适合家庭宽带用户访问内网设备,如NAS、智能家居控制器等。
功能特点
- 简单易用: 仅需一个脚本即可实现自动更新
- 零额外成本: 无需购买域名
- 高可靠性: 依托Adguard Private的DNS基础设施
- 快速生效: DNS记录更新后即时生效, 无需等待DNS传播
使用准备
使用DDNS功能需要:
- 一个有效的Adguard Private服务
- 管理面板的用户名和密码
- 需要解析的域名(如:nas.home)
DDNS脚本下载:
配置步骤
1. 获取必要信息
您需要准备:
- Adguard Private服务地址,形如:
https://xxxxxxxx.adguardprivate.com
- 管理员用户名和密码
- 需要解析的域名,如:
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计划任务
- 打开任务计划程序
- 创建基本任务
- 设置运行频率(建议15-30分钟)
- 程序位置选择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污染问题
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.68 | 202.102.213.68 |
北京电信 | 219.142.76.3 | 219.141.140.10 |
重庆电信 | 61.128.192.68 | 61.128.128.68 |
福建电信 | 218.85.152.99 | 218.85.157.99 |
甘肃电信 | 202.100.64.68 | 61.178.0.93 |
广东电信 | 202.96.128.86 | 202.96.128.166 |
广西电信 | 202.103.225.68 | 202.103.224.68 |
贵州电信 | 202.98.192.67 | 202.98.198.167 |
河南电信 | 222.88.88.88 | 222.85.85.85 |
黑龙江电信 | 219.147.198.230 | 219.147.198.242 |
湖北电信 | 202.103.24.68 | 202.103.0.68 |
湖南电信 | 222.246.129.80 | 59.51.78.211 |
江苏电信 | 218.2.2.2 | 218.4.4.4 |
江西电信 | 202.101.224.69 | 202.101.226.68 |
内蒙古电信 | 219.148.162.31 | 222.74.39.50 |
山东电信 | 219.146.1.66 | 219.147.1.66 |
陕西电信 | 218.30.19.40 | 61.134.1.4 |
上海电信 | 202.96.209.133 | 116.228.111.118 |
四川电信 | 61.139.2.69 | 218.6.200.139 |
天津电信 | 219.150.32.132 | 219.146.0.132 |
云南电信 | 222.172.200.68 | 61.166.150.123 |
浙江电信 | 202.101.172.35 | 61.153.177.196 |
西藏电信 | 202.98.224.68 | 202.98.224.69 |
联通DNS服务器
名称 | 首选 DNS 服务器 | 备用 DNS 服务器 |
---|---|---|
北京联通 | 123.123.123.123 | 123.123.123.124 |
重庆联通 | 221.5.203.98 | 221.7.92.98 |
广东联通 | 210.21.196.6 | 221.5.88.88 |
河北联通 | 202.99.160.68 | 202.99.166.4 |
河南联通 | 202.102.224.68 | 202.102.227.68 |
黑龙江联通 | 202.97.224.69 | 202.97.224.68 |
吉林联通 | 202.98.0.68 | 202.98.5.68 |
江苏联通 | 221.6.4.66 | 221.6.4.67 |
内蒙古联通 | 202.99.224.68 | 202.99.224.8 |
山东联通 | 202.102.128.68 | 202.102.152.3 |
山西联通 | 202.99.192.66 | 202.99.192.68 |
陕西联通 | 221.11.1.67 | 221.11.1.68 |
上海联通 | 210.22.70.3 | 210.22.84.3 |
四川联通 | 119.6.6.6 | 124.161.87.155 |
天津联通 | 202.99.104.68 | 202.99.96.68 |
浙江联通 | 221.12.1.227 | 221.12.33.227 |
辽宁联通 | 202.96.69.38 | 202.96.64.68 |
全国移动 DNS IP
名称 | 首选 DNS 服务器 | 备用 DNS 服务器 |
---|---|---|
北京移动 | 221.130.33.60 | 221.130.33.52 |
广东移动 | 211.136.192.6 | 211.139.136.68 |
江苏移动 | 221.131.143.69 | 112.4.0.55 |
安徽移动 | 211.138.180.2 | 211.138.180.3 |
山东移动 | 218.201.96.130 | 211.137.191.26 |
公共 DNS IP
名称 | 首选 DNS 服务器 | 备用 DNS 服务器 |
---|---|---|
114 DNS | 114.114.114.114 | 114.114.115.115 |
CNNIC SDNS | 1.2.4.8 | 210.2.4.8 |
阿里云公共DNS | 223.5.5.5 | 223.6.6.6 |
DNSPod DNS+ | 119.29.29.29 | 119.29.29.29 |
Google DNS | 8.8.8.8 | 8.8.4.4 |
配置建议
- 优先选择就近的DNS服务器
- 同时配置IPv4和IPv6 DNS
- 为重要域名配置备用DNS
- 定期更新分流规则
- 监控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服务器的方式:
- 负载均衡: 本站默认使用了负载均衡, 会自动选择最快的服务器返回结果.
- 并行请求: 本站暂时不会限制并行请求的使用.
- 最快的IP地址: 当前没有意义的设置, 本站已屏蔽了该设置的修改入口.
说明一下为什么最快的IP地址
没有意义, 最快IP需要由真正访问服务的设备本身来选择. 当AdGuard服务运行在杭州, 而用户在北京, AdGuard会认为杭州的IP地址最快, 但是实际上用户访问北京的服务速度最快, 选择杭州的IP地址反而会增加延迟. 因此, 本站已屏蔽了该设置的修改入口. 此设置在用户的家庭网络中可能有用, 但是在公共服务中没有意义.
影响网络体验的因素有很多, 例如服务端带宽, 网络拥塞, 服务器负载, 网络质量等, 选择最快的IP地址并不能保证最快的响应速度, 延迟只是其中的一个因素, 不是唯一的因素. 为避免用户设置错误导致服务质量下降, 本站已屏蔽了该设置的修改入口.
规则过滤
最常用的模式是黑名单列表, 用户可以从预置的黑名单列表中选择. 黑名单的命中使用hash算法, 无论规则量多少, 命中时间都是O(1), 用户不必担心规则量过大导致命中时间过长.
但是, 规则计算后存储在内存, 每个用户的服务内存使用限制在300MB以内, 这可以满足绝大部分用户的需求, 如果用户的规则量过大, 可能会导致内存不足, 服务被反复重启, 造成服务中断.
本站暂时屏蔽了第三方规则的使用, 以避免用户引入过大的规则. 未来有更好的限制手段后, 会重新开放第三方规则的使用.
总结
希望获得更快的请求响应, 用户可以:
- 适当增大最小TTL值, 增大本地缓存命中率.
- 设置合适的DNS缓存大小(已预设值).
- 选择地理位置最接近的城市创建服务(待企业发展).
- 无出海需求, 选择负载均衡; 有出海需求, 选择并行请求.
- 使用合适自己的黑名单规则, 避免引入过大的规则.
5 - 设置信任的服务商
付费服务创建时, 默认使用国内较快的上游服务, 包括阿里的IPv4和IPv6及DoT服务.
一些服务商可能存在解析错误问题, 将一些海外网站解析到错误的IP地址, 造成无法访问. 常见的表现是浏览器报证书错误.
如果需要避免解析错误, 可以更换上游服务商, 使用Cloudflare
的服务, 使用这类服务时, 请确保使用的是DoH
或DoT
协议, 以免被劫持.
同时, 还需要关闭国内的上游服务, 因为它们离得近, 速度更快, AdGuard会优先使用它们.
在对应的服务IP前加上#
即可禁用该上游服务.
设置好后, 需要测试上游
以确保上游服务器可用, 确认可用后应用
.
但是, 只使用海外服务, 会导致国内各App的访问体验下降, 因为国内的App通常将供海外的解析设置到特定的对外服务器, 国内访问速度较慢.
如果您只需要避免常用服务的解析错误, 可以自行将被解析错误的域名指定特定的解析地址, 未指定的域名仍然使用默认的国内上游服务.
在AdGuard控制台中, 选中 设置
-> DNS 设置
-> 上游DNS服务器
, 将被解析错误的域名以[/example1.com/example2.com/]tls://1.0.0.1
的格式添加到 自定义DNS服务器
中, 然后点击 保存设置
即可.
public2.adguardprivate.svc.cluster.local
是我们内部提供的无解析错误解析, 上游选择了Cloudflare, 相较于用户自行指定海外上游, 有更快的解析速度, 代价是域名解析更新时会产生少量的延迟. 如果用户没有专业需求, 都可以使用我们提供的无解析错误解析.
如果需要使用Cloudflare或Google的外部解析地址, 需要指定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地址的上游, 获得更稳定的解析速度.