OpenWRT DNS设置:分步指南(含图文)
OpenWRT DNS 设置:分步指南(含图文)
OpenWRT 是一个高度可定制的开源路由器操作系统,允许用户对网络进行精细控制。其中一个关键方面就是 DNS(域名系统)设置。正确配置 DNS 可以提高网络速度、安全性,甚至可以绕过某些地理限制。
本文将深入探讨 OpenWRT 中的 DNS 设置,涵盖从基本配置到高级技巧的各个方面。我们将通过图文并茂的方式,一步步指导您完成整个过程。
目录:
-
DNS 基础知识
- 什么是 DNS?
- DNS 的工作原理
- 为什么需要自定义 DNS?
-
OpenWRT DNS 基础配置
- 通过 LuCI Web 界面配置
- 通过 SSH 命令行配置
-
高级 DNS 设置
- DNS 转发
- 自定义 DNS 服务器(如 Cloudflare, Google DNS)
- DNS over HTTPS (DoH)
- DNS over TLS (DoT)
- DNSCrypt
- AdGuard Home/Pi-hole 集成
-
DNS 泄漏测试与防护
- 什么是 DNS 泄漏?
- 如何测试 DNS 泄漏?
- 如何防止 DNS 泄漏?
-
故障排除
1. DNS 基础知识
-
什么是 DNS?
域名系统(DNS)是互联网的电话簿。当您在浏览器中输入网址(如 google.com)时,您的设备需要知道该域名对应的 IP 地址(如 172.217.160.142)。DNS 服务器负责将域名解析为 IP 地址,使您的设备能够连接到正确的服务器。
-
DNS 的工作原理
- 查询: 当您输入网址时,您的设备会向配置的 DNS 服务器发送查询请求。
- 递归查询: 如果 DNS 服务器不知道该域名的 IP 地址,它会向其他 DNS 服务器(根服务器、顶级域服务器、权威服务器)进行递归查询。
- 响应: 最终,权威 DNS 服务器会返回该域名的 IP 地址。
- 缓存: 您的设备和中间的 DNS 服务器会将解析结果缓存一段时间,以加快后续访问速度。
-
为什么需要自定义 DNS?
- 速度: 默认的 ISP 提供的 DNS 服务器可能速度较慢。使用更快的公共 DNS 服务器(如 Google DNS、Cloudflare DNS)可以提高网页加载速度。
- 可靠性: 默认的 DNS 服务器有时可能会出现故障。使用更可靠的 DNS 服务器可以减少网络中断。
- 隐私: 您的 ISP 可以通过您的 DNS 查询记录您的上网活动。使用注重隐私的 DNS 服务器可以保护您的隐私。
- 安全: 某些 DNS 服务器提供恶意软件和钓鱼网站拦截功能,提高网络安全性。
- 绕过地理限制: 某些 DNS 服务器可以帮助您绕过某些网站或服务的地理限制。
- 广告拦截: 通过特定的DNS服务器,可以拦截广告。
2. OpenWRT DNS 基础配置
OpenWRT 提供了两种主要的 DNS 配置方式:通过 LuCI Web 界面和通过 SSH 命令行。
-
通过 LuCI Web 界面配置
- 登录 LuCI: 在浏览器中输入路由器的 IP 地址(通常是 192.168.1.1)并登录。
- 导航到网络接口: 点击“网络”->“接口”。
-
编辑 WAN 接口: 找到您的 WAN 接口(通常是 "WAN" 或 "WAN6"),点击“编辑”。
(请替换为实际的 WAN 接口截图)
4. 配置 DNS 服务器:
* 使用对端通告的DNS服务器: 如果取消勾选此选项,DHCP服务器将不会通告路由器本身作为DNS服务器。
* 使用自定义的 DNS 服务器: 取消勾选“使用对端通告的DNS服务器(Use DNS servers advertised by peer)”选项。然后在“使用自定义的 DNS 服务器(Use custom DNS servers)”字段中输入您要使用的 DNS 服务器的 IP 地址,多个地址之间用空格分隔。例如:
8.8.8.8 8.8.4.4 (Google DNS)
1.1.1.1 1.0.0.1 (Cloudflare DNS)
(请替换为实际的 DNS 设置截图)
5. 配置DHCP服务器DNS:
* 进入LAN口设置。
* 选择DHCP服务器选项卡。
* 选择“高级设置“。
* 在DHCP-选项中填写6,8.8.8.8,8.8.4.4
。其中6
代表通告的选项,8.8.8.8,8.8.4.4
为自定义的DNS服务器.
(请替换为实际的DHCP设置截图)
6. 保存并应用: 点击“保存 & 应用”按钮。
-
通过 SSH 命令行配置
- SSH 登录: 使用 SSH 客户端(如 PuTTY)连接到您的路由器。
- 编辑网络配置文件: 使用
vi
或nano
编辑器打开/etc/config/network
文件。
vi /etc/config/network
- 修改 WAN 接口配置: 找到您的 WAN 接口配置部分(通常是
config interface 'wan'
)。添加或修改dns
选项,指定您要使用的 DNS 服务器,多个地址之间用空格分隔。例如:
config interface 'wan'
option ifname 'eth0' (根据实际情况修改)
option proto 'dhcp'
option dns '8.8.8.8 8.8.4.4' - 修改DHCP配置文件:
vi /etc/config/dhcp
- 修改 LAN 接口配置: 找到您的 LAN 接口配置部分(通常是
config dhcp 'lan'
)。添加或修改dhcp_option
选项,option dhcp_option '6,8.8.8.8,8.8.4.4'
- 保存并重启网络服务: 保存文件并退出编辑器。然后重启网络服务:
/etc/init.d/network restart
3. 高级 DNS 设置
-
DNS 转发
DNS 转发允许您将特定的域名查询转发到不同的 DNS 服务器。这对于以下情况非常有用:
- 内部域名解析: 将内部域名(如
myhome.local
)转发到内部 DNS 服务器。 - 特定域名加速: 将某些特定域名(如
example.com
)转发到更快的 DNS 服务器。
在 LuCI 中,您可以在“网络”->“DHCP 和 DNS”->“服务器设置”中的“DNS转发”部分进行配置。
(请替换为实际的DNS forwarding设置截图)在 SSH 中,您可以通过修改
/etc/config/dhcp
文件中的config domain
部分来实现:```
config domain
option name 'example.com'
option ip '1.2.3.4' (目标 DNS 服务器 IP)config domain
option name 'myhome.local'
option ip '192.168.1.100' (内部 DNS 服务器 IP)
``` - 内部域名解析: 将内部域名(如
-
自定义 DNS 服务器(如 Cloudflare, Google DNS)
如前所述,您可以在 WAN 接口设置中直接指定自定义 DNS 服务器的 IP 地址。
-
DNS over HTTPS (DoH)
DoH 通过 HTTPS 加密 DNS 查询,提高隐私和安全性。OpenWRT 支持多种 DoH 实现方式:
- https-dns-proxy: 这是一个常用的 DoH 软件包。
- 安装:
opkg update
opkg install https-dns-proxy - 配置:
编辑/etc/config/https-dns-proxy
文件,配置您要使用的 DoH 服务器(如 Cloudflare、Google)。
config https-dns-proxy
option bootstrap_dns '1.1.1.1,1.0.0.1'
option resolver_url 'https://cloudflare-dns.com/dns-query'
option listen_addr '127.0.0.1'
option listen_port '5053' - 在“网络”->“DHCP 和 DNS”中,将“DNS 转发”设置为
127.0.0.1#5053
。
- 安装:
- https-dns-proxy: 这是一个常用的 DoH 软件包。
-
DNS over TLS (DoT)
DoT 通过 TLS 加密 DNS 查询,类似于 DoH。
- Stubby: 这是一个常用的 DoT 软件包。安装和配置过程与 https-dns-proxy 类似。
-
DNSCrypt
DNSCrypt 是另一种 DNS 加密协议。
- dnscrypt-proxy2: 这是一个常用的 DNSCrypt 软件包。安装和配置过程与 https-dns-proxy 类似。
-
AdGuard Home/Pi-hole 集成
AdGuard Home 和 Pi-hole 是流行的广告拦截和 DNS 过滤工具。您可以在 OpenWRT 上安装它们,或者将 OpenWRT 的 DNS 查询转发到运行 AdGuard Home 或 Pi-hole 的设备。
- 在 OpenWRT 上安装 AdGuard Home:
- 安装 AdGuard Home 软件包。
- 配置 AdGuard Home。
- 将 OpenWRT 的 DNS 转发设置为 AdGuard Home 的地址。
- 将 DNS 查询转发到 AdGuard Home/Pi-hole 设备:
在 OpenWRT 的 WAN 接口设置中,将 DNS 服务器设置为 AdGuard Home 或 Pi-hole 设备的 IP 地址。
- 在 OpenWRT 上安装 AdGuard Home:
4. DNS 泄漏测试与防护
-
什么是 DNS 泄漏?
当您使用 VPN 时,您的 DNS 查询应该通过 VPN 服务器进行,以保护您的隐私。如果 DNS 查询仍然通过您的 ISP 或其他第三方 DNS 服务器,就会发生 DNS 泄漏。
-
如何测试 DNS 泄漏?
您可以使用一些在线工具来测试 DNS 泄漏,如:
- dnsleaktest.com
- ipleak.net
这些工具会显示您当前使用的 DNS 服务器列表。如果列表中包含您的 ISP 或您未配置的 DNS 服务器,则可能存在 DNS 泄漏。
-
如何防止 DNS 泄漏?
- 确保 VPN 客户端已正确配置: 大多数 VPN 客户端都提供 DNS 泄漏保护选项,确保已启用。
- 在 OpenWRT 中强制使用 VPN 的 DNS: 如果您的 VPN 客户端没有提供 DNS 泄漏保护,您可以在 OpenWRT 中手动配置,强制所有 DNS 查询通过 VPN 隧道。
- 在防火墙自定义规则中,设置重定向规则。
5. 故障排除
- 无法解析域名:
- 检查 DNS 服务器设置是否正确。
- 尝试使用不同的 DNS 服务器。
- 检查网络连接是否正常。
- 清除 DNS 缓存(在 OpenWRT 中,可以重启
dnsmasq
服务)。
- DNS 泄漏:
- 检查 VPN 客户端设置。
- 在 OpenWRT 中强制使用 VPN 的 DNS。
- 速度慢:
- 使用更快的 DNS 服务器。
- 检查网络拥塞情况。
希望这篇详细的指南能帮助您在 OpenWRT 上正确配置 DNS,提升您的网络体验和安全性!