SmartDNS 搭建及使用

在OpenWrt上使用SmartDNS进行DNS分流的步骤如下(GPT 生成):

  1. 安装SmartDNS

    • 首先,确保你的OpenWrt系统是最新的,然后通过SSH登录到你的设备。
    • 卸载可能存在的旧版本SmartDNS:opkg remove smartdns
    • SmartDNS的GitHub仓库下载适合你的OpenWrt架构的.ipk文件。
    • 使用opkg install smartdns.ipk安装SmartDNS核心包。
    • 安装LuCI界面包:opkg install luci-app-smartdns.ipk
  2. 配置SmartDNS

    • 在OpenWrt的LuCI界面中,进入“服务”->“SmartDNS”进行配置。
    • 在“常规设置”中,启用SmartDNS服务,并设置监听端口(默认为6053)。
    • 开启“TCP服务器”、“双栈IP优选”、“域名预加载”和“过期缓存服务”。
    • 在“重定向”选项中,选择“重定向53端口到SmartDNS”。
    • 设置合适的“缓存大小”和“域名TTL”。
  3. 配置上游服务器

    • 在“上游服务器”部分,添加多个上游DNS服务器。你可以使用国内外的公共DNS,如Google DNS(8.8.8.8)、阿里DNS(223.5.5.5)等。
    • 对于国内的DNS,可以设置服务器组为“China”,并选择UDP协议类型。
    • 对于国外的DNS,可以选择支持TLS或HTTPS的服务器,并在“额外参数”中添加-exclude-default-group以排除默认组。
  4. 配置Dnsmasq

    • 在“网络”->“DHCP/DNS”中,将DNS转发设置为SmartDNS的监听端口,例如127.0.0.1#6053
    • 确保Dnsmasq的DNS服务不是监听在53端口,或者配置SmartDNS以替代Dnsmasq的DNS服务。
  5. 测试配置

    • 在客户端设备上,将DNS服务器设置为OpenWrt设备的IP地址。
    • 使用nslookup命令测试DNS解析是否正常工作。
  6. 高级配置(可选):

    • 如果需要,可以在SmartDNS的“自定义设置”中添加更复杂的分流规则。
  7. 注意事项

    • 确保没有其他DNS服务冲突,如Turbo ACC网络加速等。
    • 如果使用IPv6,确保你的网络支持并正确配置IPv6。

下面是一个SmartDNS分流的配置文件示例,以及逐行的解释:

# 设置监听的DNS端口
bind 192.168.1.100:53

# 设置TCP监听的DNS端口
bind-tcp 192.168.1.100:53

# 设置上游DNS服务器
server 8.8.8.8 -group google
server 114.114.114.114 -group china
server-tls tls://1dot1dot1dot1.cloudflare-dns.com:853 -group cloudflare

# 设置分流规则,国内网站使用国内DNS
nameserver /domain-set:china/ -group china

# 设置分流规则,国外网站使用Cloudflare的TLS DNS
nameserver /domain-set:google/ -group cloudflare

# 设置域名集china,包含需要国内解析的域名
domain-set -name china -file /etc/smartdns/china_domain.list

# 设置域名集google,包含需要Google解析的域名
domain-set -name google -file /etc/smartdns/google_domain.list

# 设置日志级别为info,方便调试
log-level info

# 设置日志文件的大小和数量
log-size 128k
log-num 2

逐行解释:

  1. bind 192.168.1.100:53:SmartDNS监听的UDP DNS端口,这里设置为路由器的LAN IP地址192.168.1.100,端口53。
  2. bind-tcp 192.168.1.100:53:SmartDNS监听的TCP DNS端口,用于不支持UDP的环境。
  3. server 8.8.8.8 -group google:添加一个上游DNS服务器,这里使用Google的公共DNS,分组命名为google
  4. server 114.114.114.114 -group china:添加另一个上游DNS服务器,这里使用国内的114DNS,分组命名为china
  5. server-tls tls://1dot1dot1dot1.cloudflare-dns.com:853 -group cloudflare:添加一个支持TLS的上游DNS服务器,分组命名为cloudflare
  6. nameserver /domain-set:china/ -group china:设置分流规则,domain-set:china/是匹配的域名集,-group china指定使用china分组的DNS服务器解析。
  7. nameserver /domain-set:google/ -group cloudflare:设置分流规则,domain-set:google/是匹配的域名集,-group cloudflare指定使用cloudflare分组的DNS服务器解析。
  8. domain-set -name china -file /etc/smartdns/china_domain.list:定义一个域名集china,包含的域名列表在/etc/smartdns/china_domain.list文件中。
  9. domain-set -name google -file /etc/smartdns/google_domain.list:定义一个域名集google,包含的域名列表在/etc/smartdns/google_domain.list文件中。
  10. log-level info:设置日志记录的详细程度为info级别。
  11. log-size 128k:设置日志文件的最大大小为128KB。
  12. log-num 2:设置日志文件的数量为2个,旧的日志文件会被新的替换。
版权声明:本文由mxd's Blog发布,如需转载请注明出处。
如果文章中有风险行为,文章作者不负任何责任。
除非另有说明,否则本站内容依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接。

本文链接:https://blog.mxdyeah.top/mxdyeah_blog_post/smartdns-how-to-use.html
本文标题:SmartDNS 搭建及使用
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇