SmartDNS 相见恨晚,进一步优化IPv6
之前发过二偏关于ipv6设置的帖子,
经过一年多的使用也算稳定, 但最近遇到一个问题才有了这遍文章
当电脑获取ipv4+ipv6时, 优先使用ipv6连接, (当然可以设置成ipv4优先), 但秉承全自动,不用一台台设置, 所以还是要折腾新的玩法.
背景: 我经常用chatgpt, 通过WARP解锁IPv4+IPv6, 且把对应的域名加到代理列表里, 可以实现白名单功能. 分流访问
最近claude更新后可以传附件还免费, 使用率更高, 但面临的问题就是不能双栈访问claude(如下图)
解决办法: 终端 IPv4+IPv6正常获取, 正常解析所有国内网站 , 当需要魔法的时候只用IPv4解析网站
效果图
搭建环境: iKuai + AdguardHome (debian环境) + OpenWrt
网络: 联通公网 IPv4+IPv6
这里说明下 为什么不使用openwrt里的 ad, 因为最开始的时候是用的,但代理后不能完美显示设置IP, 就放弃了. 独立拿出来了
iKuai 相关
iKuai做为主路由器, 负责DHCP和DNS分配,
网关指向 OpenWrt (192.168.28.254)
DNS指向 AdguardHome (192.168.28.2)
备选其实经过我的测试, 只有在首先挂掉的时候才会启动, 所以我选择了OpenWrt (192.168.28.254)
IPv6外网设置:
请求前缀长度 60/62 , 不要选择自动, 具体是哪个, 每个家的网络都不一样, 每个都切换试一下, 当 OpenWrt的 lan6 里有获取到 PD 就行
IPv6内网设置
前缀分配长度, 和上面的一样, 只要组合出来 显示 PD就行, 可以先参考我的试试
IPv6DNS 一定要关闭 一定要关闭 一定要关闭 ( 我在这里卡了半天时间)
OpenWrt 相关
Lan接口设置
一共会有二个接口, lan 和 lan6 , 接口取消桥接,
DNS 随便设置一个114.114.114.114 能上网就行
IPv6设置
关闭DHCP, 关闭图片中个 IPv6 设置
Lan口状态 这里补充下 , 其实lan可以把所有的ipv6相关的都关了, 但我觉得二个地址好看 哈哈.
添加Lan6 接口
新增一个接口,
选择DHCPv6客户端
指定@lan (具体要看你自己的名字), 不要桥接,
请求指定长度的 IPv6 前缀, 我选择的64 , 其它的自行尝试
防火墙选择和 lan 一起
SmartDNS
我用的好像是最新版本, 网上好多视频设置界面都和我的不一样
添加DNS等步骤忽略了 网上太多视频. 不浪费大家时间直接说设置
先改DNS1的端口, 经过我的测试如果是默认的6053, 那么DNSmasq相当于不工作, 而改成其它的如 图中的 6053 上游其实是DNSmasq
在DHCP/DNS里把 DNS转换设置成 127.0.0.1#6053, 其它设置参考图片
高级设置里
第二DNS设置
上游服务器列表
域名分流设置
其实这个界面不太理解, 我通过不同的设置试出来了,如果有大老了解, 希望能讲下功能是什么, 如何设置
域名规则列表默认就好
域名地址里我也加了禁止网点解析ipv6
PW设置
代理列表里也增加指定的域名
验证有效性
在openwrt里查看解析情况
nslookup -port=6053 g.cn #同时解析出 ipv4+ipv6
nslookup -port=6054 g.cn #只解析出 ipv4
来个IPv6测试
但g也能通过ipv6测试, 这个逻辑与上面我说的6054端口分流不解析ipv6 有点矛盾, 但目的所有的访问都是正常的. 不知道是不是只生效的SmartDNS里的域名地址规则, 求大老指点下.
这是最终实现的效果
以上只是解决我个人的问题写下的经历和总结 , 每个家庭的网络和设备, 固件都不一样, 仅供参考, 如有不对欢迎一起讨论
通过smartdns 应该能组合出更多的玩法
评论区