在 SmartDNS 的配置中,“DNS 转发”通常指的是上游 DNS 服务器,即 SmartDNS 自身去查询的服务器,这是 SmartDNS 工作的核心,配置正确与否直接关系到解析速度、准确性和功能实现。
以下是详细的填写方法和配置建议。
在 SmartDNS 的配置文件(通常是smartdns.conf)中,使用server 指令来添加上游 DNS 服务器。
基本格式:
server [IP地址或域名] [-参数] [-参数] ...
2. 去哪里找可填写的 DNS 服务器地址?
你可以填写任何公共的或你信任的 DNS 服务器地址,常见的公共 DNS 有:
| DNS 服务商 | 主要 IPv4 地址 | 次要 IPv4 地址 | 特点 |
| Cloudflare | 1.1.1.1 | 1.0.0.1 | 速度快,隐私性好 |
8.8.8.8 | 8.8.4.4 | 全球覆盖,稳定性高 | |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | 家庭安全过滤 |
| Quad9 | 9.9.9.9 | 149.112.112.112 | 安全,屏蔽恶意域名 |
| 阿里 AliDNS | 223.5.5.5 | 223.6.6.6 | 国内节点,访问国内网站快 |
| 腾讯 DNSPod | 119.29.29.29 | 182.254.116.116 | 国内节点,速度快 |
| 百度 | 180.76.76.76 | 国内节点 | |
| 114 DNS | 114.114.114.114 | 114.114.115.115 | 老牌国内 DNS |
| 本地运营商 DNS | 通常由路由器自动分配 | 访问本地内容可能最优 |
打开你的smartdns.conf 文件,找到或添加server 行。
一个基础配置示例:
国内推荐 DNS server 223.5.5.5 server 119.29.29.29 国外推荐 DNS server 8.8.8.8 server 1.1.1.1
这样配置后,SmartDNS 会向这 4 个服务器并行查询,并返回其中最快的有效响应。
这是 SmartDNS 的精髓,你可以通过参数为不同的上游服务器指定不同的用途。
| 参数 | 含义 | 应用场景示例 |
-group [name] | 将服务器分配到指定组。 | -group oversea 将此服务器分到“海外组”。 |
-exclude-default-group | 此服务器不包含在默认组中,只供特定组查询。 | 配合-group 使用,实现 DNS 分流。 |
-blacklist-ip | 当域名解析出的 IP 是特定网段时,抛弃此结果。 | -blacklist-ip 0.0.0.0/8 拒绝返回无效地址。 |
-whitelist-ip | 只接受特定网段的解析结果。 | 用于强制某些域名解析到特定地区的 IP。 |
-bootstrap-dns | 指定用于解析server-name 中域名的 DNS。 | 当上游服务器填的是域名(如dns.google)时使用。 |
-https | 使用 DoH 查询。 | server https://doh.pub/dns-query 更安全,防污染。 |
-tls | 使用 DoT 查询。 | server tls://dns.alidns.com:853 更安全,防污染。 |
5. 高级配置示例:国内外域名分流(最常见场景)
这是很多用户使用 SmartDNS 的主要目的:让国内域名走国内 DNS(速度快),让国外域名走国外 DNS(无污染)。
假设你的 SmartDNS 运行在本地路由器(192.168.1.1)的6053 端口。
步骤 1:配置 SmartDNS (smartdns.conf)
创建一个名为 “china” 的组,包含国内 DNS server 223.5.5.5 -group china server 119.29.29.29 -group china 创建一个名为 “oversea” 的组,包含国外 DNS,并强制不走默认组 server 8.8.8.8 -group oversea -exclude-default-group server 1.1.1.1 -group oversea -exclude-default-group 定义域名规则:匹配到 geosite:cn 的域名,只使用 china 组查询 conf-file /etc/smartdns/domain-set/china.conf domain-rules /geosite:cn/ -group china 可选:定义域名规则:匹配到 geosite:geolocation-!cn 的域名,只使用 oversea 组查询 domain-rules /geosite:geolocation-!cn/ -group oversea
步骤 2:创建域名列表文件
你需要准备一个china.conf 文件,里面包含国内域名列表,可以从项目Loyalsoldier/v2ray-rules-dat 下载geosite:cn 列表,或使用其他方式生成。
步骤 3:在路由器或设备上设置 DNS
将你的设备(或路由器的 DHCP 设置)的 DNS 服务器指向192.168.1.1:6053。
6. 在 OpenWrt/LEDE 的 LuCI 界面中如何填写?
如果你是通过 OpenWrt 的 LuCI 界面配置,操作更简单:
1、进入“服务” -> “SmartDNS”。
2、找到“上游服务器” 或“DNS 服务器” 的配置区域。
3、在输入框中,每行一个,填入服务器地址。
示例
223.5.5.5
119.29.29.29
tls://dns.google:853
https://doh.pub/dns-query4、如果需要分组,在“服务器组” 设置中,创建组(如china,oversea),并将对应的服务器分配到组里。
5、在“域名规则” 中,设置不同的域名使用不同的服务器组。
1、基础用法:直接添加 2-4 个你信任的公共 DNS(如223.5.5.5 和1.1.1.1),SmartDNS 会自动选择最快的。
2、进阶用法:使用-group 参数配合domain-rules,实现智能的国内外分流,这是发挥 SmartDNS 最大效能的用法。
3、安全需求:对于国外 DNS,建议使用其 DoT 或 DoH 地址(如tls://dns.google),以防止 DNS 污染和劫持。
4、测试配置:配置完成后,在命令行使用nslookup 或dig 命令测试,例如nslookup www.baidu.com 192.168.1.1:6053,观察返回的 IP 和速度是否正常。
希望这个详细的解答能帮助你配置好 SmartDNS 的 DNS 转发功能!
文章摘自:https://idc.huochengrm.cn/dns/23483.html
评论
留鸿波
回复SmartDNS中的DNS转发需填写目标服务器的IP地址,确保DNS请求正确转发。