OpenWrt 路由器 DNS 设置入门
前言
OpenWrt 作为一款功能强大的路由器固件,为用户提供了极高的灵活性来定制其网络行为。其中,DNS(域名系统)设置是网络配置中至关重要的一环。正确配置 DNS 不仅可以提升网络访问速度,还能增强隐私保护、过滤恶意内容,甚至帮助绕过地理限制。本文将为 OpenWrt 新手提供一份详细的 DNS 设置入门指南。
什么是 DNS?为何要在 OpenWrt 上配置它?
DNS 的全称是 Domain Name System,它就像互联网的电话簿,负责将我们日常访问的网站域名(如 www.google.com)转换成计算机能够识别的 IP 地址(如 172.217.160.142)。当你输入一个网址时,你的设备会向 DNS 服务器查询对应的 IP 地址,然后才能连接到网站。
通常情况下,你的 OpenWrt 路由器会默认使用互联网服务提供商 (ISP) 提供的 DNS 服务器。但在 OpenWrt 上配置自定义 DNS 服务器,可以让所有连接到你网络的设备享受到以下好处:
- 提升隐私: 使用注重隐私的 DNS 服务提供商可以防止 ISP 追踪你的浏览历史。
- 增强安全性: 某些 DNS 服务可以阻止访问恶意网站或过滤不良内容。
- 加快解析速度: 特定 DNS 服务器可能响应更快,从而带来更流畅的上网体验。
- 规避地理限制: 一些 DNS 服务有助于绕过区域内容限制。
1. 访问你的 OpenWrt 路由器管理界面 (LuCI)
要修改 DNS 设置,你需要登录到 OpenWrt 路由器的网页管理界面,即 LuCI。
- 打开你的网页浏览器,在地址栏输入路由器的 IP 地址(通常是
192.168.1.1或192.168.0.1)。 - 输入你的路由器用户名和密码进行登录。
2. 配置上游 DNS 服务器 (WAN 接口)
这是更改路由器用于解析域名的最常用方法。这些是你 OpenWrt 路由器将查询的“上游”服务器。
通过 LuCI 界面设置:
- 在 LuCI 界面中,导航到 “网络 (Network)” > “接口 (Interfaces)”。
- 找到你的 WAN 接口(如果是 IPv6,则可能是
wan6),然后点击其旁边的 “修改 (Edit)” 按钮。 - 切换到 “高级设置 (Advanced Settings)” 标签页。
- 取消勾选 “使用 ISP 提供的 DNS 服务器 (Use DNS servers advertised by peer)” 选项。这会阻止路由器自动使用 ISP 的 DNS 服务器。
-
在 “使用自定义 DNS 服务器 (Use custom DNS servers)” 字段中,输入你偏好的 DNS 服务器 IP 地址。你可以输入多个服务器,用空格隔开,以增加冗余。
- 常用公共 DNS 服务器示例:
- Google Public DNS:
8.8.8.8和8.8.4.4(IPv4) - Cloudflare DNS:
1.1.1.1和1.0.0.1(IPv4)
- Google Public DNS:
- 点击底部的 “保存 (Save)”,然后点击 “保存 & 应用 (Save & Apply)” 来使更改生效。
- 常用公共 DNS 服务器示例:
通过命令行 (UCI) 设置 (适用于高级用户):
如果你习惯使用 SSH 连接路由器,也可以通过 UCI 命令进行设置:
“`bash
uci set network.wan.peerdns=”0″
uci set network.wan.dns=”8.8.8.8 8.8.4.4″
如果适用 IPv6
uci set network.wan6.peerdns=”0″
uci set network.wan6.dns=”2001:4860:4860::8888 2001:4860:4860::8844″
uci commit network
service network reload
“`
3. 为局域网 (LAN) 客户端配置 DNS
OpenWrt 默认使用 dnsmasq 作为其 DNS 和 DHCP 服务器。dnsmasq 充当一个缓存 DNS 服务器,将请求转发给你在 WAN 接口上配置的上游 DNS 服务器。默认情况下,通过 DHCP 连接到 OpenWrt 路由器的设备会将其路由器的 IP 地址作为 DNS 服务器,这意味着它们将使用 dnsmasq,进而使用你选择的上游 DNS 服务器。
如果你想明确地将不同的 DNS 服务器推送给你的局域网客户端(例如,用于特定过滤或如果你有像 Pi-hole 这样的本地 DNS 服务器),你可以配置 DHCP 选项:
- 导航到 “网络 (Network)” > “接口 (Interfaces)”。
- 编辑你的 LAN 接口。
- 转到 “DHCP 服务器 (DHCP Server)” 标签页,然后进入 “高级设置 (Advanced Settings)”。
-
在 “DHCP-选项 (DHCP-Options)” 字段中,你可以添加
6,x.x.x.x,y.y.y.y,其中x.x.x.x和y.y.y.y是你希望推送给客户端的 DNS 服务器。数字6指定了 DHCP 的 DNS 服务器选项。- 示例: 要将 Cloudflare DNS 推送给 LAN 客户端:
6,1.1.1.1,1.0.0.1 - 点击 “保存 (Save)”,然后点击 “保存 & 应用 (Save & Apply)”。
- 示例: 要将 Cloudflare DNS 推送给 LAN 客户端:
4. 应用更改和重启
在进行任何 DNS 更改后,务必应用它们。虽然“保存 & 应用”通常会处理此问题,但重启路由器可以确保所有服务都使用新配置重新启动。某些更改,特别是对网络接口的更改,可能需要重启才能完全生效。
5. 验证设置
为确认你的新 DNS 设置是否生效:
- 在连接到你 OpenWrt 路由器的客户端设备上:
- Windows: 打开命令提示符,输入
ipconfig /all。在你的活动网络适配器下查找“DNS 服务器”。 - macOS/Linux: 打开终端,输入
cat /etc/resolv.conf或nmcli dev show | grep DNS。
- Windows: 打开命令提示符,输入
- 执行 DNS 泄露测试: 在线搜索“DNS 泄露测试”并使用一个可靠的服务来查看你的设备正在使用哪个 DNS 服务器。
6. 进阶 DNS 主题 (简要提及)
对于寻求更高级配置的用户,OpenWrt 还支持:
- DNS over TLS (DoT) / DNS over HTTPS (DoH): 这些协议加密你的 DNS 查询,提供更高级别的隐私保护,防止 DNS 流量被窃听。OpenWrt 可以通过
https-dns-proxy和dnsmasq等软件包配置使用 DoT/DoH。 - 为特定设备自定义 DNS: 利用
dnsmasq的高级功能,你可以根据 MAC 地址为网络上的单个设备分配不同的 DNS 服务器。 - DNS 过滤/拦截: OpenWrt 可以与 AdGuard Home 或 Pi-hole 等工具(通常运行在单独设备上,但通过 OpenWrt 配置)配合使用,在全网络范围内阻止广告和恶意域名。你还可以设置防火墙规则,强制客户端使用路由器的 DNS,而不是硬编码的 DNS 服务器(如 Google DNS)。
结论
通过遵循本指南,你可以有效地管理和自定义 OpenWrt 路由器上的 DNS 设置,根据你的隐私、安全和性能需求来调整你的网络行为。