软路由配置 AdGuardHome,比 smartdns 更好用的 DNS 服务器

本贴最后更新于 1504 天前,其中的信息可能已经水流花落

AdGuardHome 是什么

AdGuardHome 是 AdGuard 里 DNS Server 的开源版本,项目地址 AdGuardHome

那么什么是 DNS 服务器呢?

我们百度了一下答案:

DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的 IP 地址 (IP address)转换的服务器。DNS 中保存了一张域名(domain name)和与之相对应的 IP 地址 (IP address)的表,以解析消息的域名。 域名是 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。

既然有现成的 DNS 服务器,那为什么我们要自己搭建呢?

我们知道我们访问一个网站时,只要在浏览器地址栏输入域名就可以了,但是中间浏览器做了什么呢,第一步就是解析域名,这就需要 dns 服务器,但是做 dns 服务器的有很多,到底用哪一个呢,这时候就轮到我们自己搭建的服务器出场了。通过 AdGuardHome 在解析域名时,可以同时向多个公共 dns 服务器发送请求,并选择解析到的最快的地址,这样就不用忍受有的网站因为解析到的地址比较远导致慢,我们从多个服务器上找到最快的地址,然后之后就访问这个最快的地址。另外,因为 DNS 解析是从我们自己的服务器走的,我们还可以对一些知道的钓鱼网站,广告网站进行过滤。

怎么安装 AdGuardHome

现在很多提供的软路由固件都会集成 AdGuardHome 插件,如果没有可以到软件中搜索安装如图adguard.jpg

因为我的已经安装了,如果没有安装应该在可用软件包里面有

下面是安装后的界面adguardindex.jpg

配置 AdGuardHome

我们点击这个界面的手动配置看到配置文件

bind_host: 0.0.0.0
bind_port: 3000
users:
- name: root
  password: "你的加密后密码"
http_proxy: ""
language: ""
rlimit_nofile: 0
debug_pprof: false
web_session_ttl: 720
dns:
  bind_host: 0.0.0.0
  port: 7913
  statistics_interval: 1
  querylog_enabled: true
  querylog_file_enabled: true
  querylog_interval: 90
  querylog_size_memory: 1000
  anonymize_client_ip: false
  protection_enabled: true
  blocking_mode: default
  blocking_ipv4: ""
  blocking_ipv6: ""
  blocked_response_ttl: 10
  parental_block_host: family-block.dns.adguard.com
  safebrowsing_block_host: standard-block.dns.adguard.com
  ratelimit: 20
  ratelimit_whitelist: []
  refuse_any: true
  upstream_dns:
  - 119.29.29.29
  - 114.114.114.114
  - 223.5.5.5
  - 101.226.4.6
  - 180.76.76.76
  - 1.2.4.8
  - 8.8.8.8
  bootstrap_dns:
  - 1.1.1.1:53
  - 1.0.0.1:53
  - 114.114.114.114:53
  - 8.8.8.8:53
  - 8.8.4.4:53
  - 1.1.1.1:53
  - 208.67.220.220:53
  - 208.67.222.222:53
  all_servers: true
  fastest_addr: false
  allowed_clients: []
  disallowed_clients: []
  blocked_hosts: []
  cache_size: 4194304
  cache_ttl_min: 0
  cache_ttl_max: 0
  bogus_nxdomain: []
  aaaa_disabled: false
  enable_dnssec: false
  edns_client_subnet: false
  filtering_enabled: true
  filters_update_interval: 24
  parental_enabled: false
  safesearch_enabled: false
  safebrowsing_enabled: false
  safebrowsing_cache_size: 1048576
  safesearch_cache_size: 1048576
  parental_cache_size: 1048576
  cache_time: 30
  rewrites: []
  blocked_services: []
tls:
  enabled: false
  server_name: ""
  force_https: false
  port_https: 443
  port_dns_over_tls: 853
  allow_unencrypted_doh: false
  strict_sni_check: false
  certificate_chain: ""
  private_key: ""
  certificate_path: ""
  private_key_path: ""
filters:
- enabled: false
  url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt
  name: AdGuard Simplified Domain Names filter
  id: 1
- enabled: false
  url: https://adaway.org/hosts.txt
  name: AdAway
  id: 2
- enabled: false
  url: https://www.malwaredomainlist.com/hostslist/hosts.txt
  name: MalwareDomainList.com Hosts List
  id: 4
- enabled: false
  url: https://gitee.com/privacy-protection-tools/anti-ad/raw/master/easylist.txt
  name: anti-AD
  id: 1592929148
- enabled: true
  url: http://sub.adtchrome.com/adt-chinalist-easylist.txt
  name: ChinaList+EasyList(修正)
  id: 1592929149
whitelist_filters: []
user_rules: []
dhcp:
  enabled: false
  interface_name: ""
  gateway_ip: ""
  subnet_mask: ""
  range_start: ""
  range_end: ""
  lease_duration: 86400
  icmp_timeout_msec: 1000
clients: []
log_compress: false
log_localtime: false
log_max_backups: 0
log_max_size: 100
log_max_age: 3
log_file: ""
verbose: false
schema_version: 6

贴一下我的配置:

主要可能要改的就是

bind_port: 改用你想使用网页配置的端口

password:这个修改成你想要的密码 (注意是加密后的密码,在基本设置最下方选项中选择改变网页密码,可以添加一个加密模板,输入原始密码,会计算出加密密码)

dns 下的 port 这个修改你 dns 服务器使用的端口

其他的可以到网页上设置

修改之后可以点击保存并应用,然后就可以打开 AdGuardHome 网页设置了

adguardweb.jpg

然后我们点击上面的设置->DNS 设置

设置上游服务器

image.png

设置下上游 DNS 服务器和 Bootstrap DNS 服务器

附一下我自己的设置,你们可以从里面挑选你们那比较快的

上游 DNS 服务器

119.29.29.29
114.114.114.114
223.5.5.5
101.226.4.6
180.76.76.76
1.2.4.8
8.8.8.8

Bootstrap DNS 服务器

1.1.1.1:53
1.0.0.1:53
114.114.114.114:53
8.8.8.8:53
8.8.4.4:53
1.1.1.1:53
208.67.220.220:53
208.67.222.222:53

点一下测试上游 DNS,把出错的删除掉应用就可以了

让软路由使用 AdGuardHome 解析

我们的 DNS 服务器已经配置好了,怎么让软路由使用 AdGuardHome 解析呢,那就是让我们的 DNS 请求直接转发到 AdGuardHome,之前我们设置了 DNS 的端口,现在我们设置 DNS 请求转发到这个端口

image.png

我们进入软路有的网络->DHCP/DNS 下,将 DNS 转发设置成 127.0.0.1:7913(端口要填你自己之前设置的)

现在保存应该就可以了。效果就大家自己体验了。

总结

这篇文章给大家讲述了,在软路由中如何安装 AdGuardHome 插件,以及如何配置 AdGuardHome,使用 AdGuardHome 作解析,优化 DNS 服务器,达到网页秒开的效果(当然具体要大家测试,比较你的网络环境跟我的不一样)。当然 AdGuardHome 的功能远不止这些,其他的功能还是大家自己研究,我这里就不介绍了,我只介绍 DNS 相关的功能。

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...