使用smartdns分流ipv6进行科学上网

路由器开启ipv6梯子就会出现异常,使用smartdns可以改善这种情况。

路由器上ssrp、passwall等翻墙软件对ipv6支持不好,有ipv6会导致盒子不能看youtube、google play下载应用下载不下来。因为盒子手机这些终端设备里应用app都是ipv6优先,路由器解析到错误的ipv6就会导致这些终端无法翻墙或速度缓慢。有ipv6会严重干扰翻墙软件的正常发挥。

Smartdns可以将查询请求发送到多个上游 DNS 服务器,这些上游服务器可以进行分组进行设置,国内、国外可以进行不同的解析,国内正常使用ipv6,国外禁用ipv6使科学上网正常工作。smartdns还有其他特性,在此不做介绍。

本篇主要介绍简单使用SmartDNS,效果不是很完美,记录下折腾过程。需要详细完美的使用SmartDNS见 官方openwrt软路由科学上网状态下可以完美IPV6及科学上网 第三部分。

一、编译含smartdns的openwrt固件

源码选择lean的源码

1、下载smartdns源码 终端里执行:

cd
git clone https://github.com/pymumu/openwrt-smartdns lede/package/smartdns/
git clone -b lede https://github.com/pymumu/luci-app-smartdns lede/package/luci-app-smartdns/

注意路径,这两个软件都放入lede/package 目录

2、在lede/target/linux/x86里打开Makefile文件,在DEFAULT_PACKAGES 里面加入luci-app-smartdns ipv6helper ,这样make menuconfig会自动选择luci-app-smartdns和ipv6helper这两个应用。也可以不改写那Makefile文件,make menuconfig后自己手工选择,ipv6helper在Extra packages里;luci-app-smartdns在Luci-Applications里。

3、编译固件

cd lede
rm -rf ./tmp && rm -rf .config 
make menuconfig
make -j8

二、路由器设置

固件编译完成后刷入路由器。

注意:首先要ssrp要关闭,然后再进行相关设置。拨号成功后看Wan口有没有获取到ipv6地址。获取到了我们再进行下一步设置。

1、删除防火墙自定义规则

lean的固件在这里劫持了dns,我们要用smartdns作为主dns软件。打开“网络”–“防火墙”–“自定义规则”,删除以下内容:

iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
iptables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53
[ -n "$(command -v ip6tables)" ] && ip6tables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53
[ -n "$(command -v ip6tables)" ] && ip6tables -t nat -A PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53

2、有“Turbo ACC 网络加速”的话还需关闭“DNS缓存”,不使用这里的缓存。

3、配置ipv6

网络”–“接口”–“LAN”进行lan口设置

IPv6 分配长度:60还是64,不同地区不一样,根据本地实际情况填入。

使用smartdns分流ipv6进行科学上网

“DHCP服务器”–“IPV6设置”设置dhcp ipv6

路由公告服务:服务器模式

DHCPv6服务:服务器模式

NDP代理:混合模式

DHCPv6模式:无状态的+有状态的

总是通告默认路由:无需勾选

使用smartdns分流ipv6进行科学上网

2、smartdns设置

“服务”–“smartdns”进行smartdns设置。

(1)我们不设置smartdns为Dnsmasq的前置服务,直接将smartdns配置为主dns。

启用smartdns服务,本地端口设为53 。(SmartDNS本地服务端口,当端口号设置为53时,smartdns将会自动配置为主dns。)

使用smartdns分流ipv6进行科学上网

(2)设置上游服务器

增加国内、国外2组。

国内可以设置为:114.114.114.114、阿里等dns、ISP服务商dns等,国内设为udp协议。

国外设置为:8.8.8.8 8.8.4.4 1.1.1.1,协议设为tcp。

使用smartdns分流ipv6进行科学上网

(3)高级设置,这里设置的是第一组DNS服务器,我们当作设置国内dns服务。

测速模式:ping就可以了

ipv6服务器勾选,国内服务器开启ipv6

双栈优选勾选,对同时支持ipv6和ipv4的服务器自动选择快的ip。

域名预加载勾选,对主流网站自动主动进行预先解析,等你访问时更快一步。

缓存过期服务勾选,对于曾经解析但过期的解析记录,主动进行解析。

缓存大小,缓存个数,100000,可以设置大点。

解析本地主机名,如果你在Dnsmasq里设置了各主机名,可以勾选。

使用smartdns分流ipv6进行科学上网

其他无需修改,点击保存&应用。

测试ipv6电脑是否正常获取,电脑ipv6需要启用。http://ch.test-ipv6.com/index.html.zh_CN 进行测试

(4)设置国外网站解析,

启用第二dns服务器,由于ssrp提供了5335的接口,我们本地端口填入5335

tcp服务器开启,启用tcp协议解析

跳过测速开启,这里测速就没意义了。

服务器组,填入haiwai或你自行定义

跳过双栈优选勾选,

停用IPV6地址解析勾选,境外网站只启用ipv4。

使用smartdns分流ipv6进行科学上网

(5)“上游服务器”对国外dns分组。8.8.8.8、8.8.4.4等服务器后点击“修改”,服务器组设为上述的“haiwai”

使用smartdns分流ipv6进行科学上网

保存后这样我们smartdns就设置好了。

3、设置ShadowSocksR Plus+

选择科学上网服务器,然后将DNS解析方式设置为“使用本机端口为5335的dns服务器”,保存并应用。

使用smartdns分流ipv6进行科学上网

“访问控制”–“WAN IP访问控制”将8.8.8.8、8.8.4.4、1.1.1.1设为强制走代理的Wan ip(非必要步骤)。保存并应用。

使用smartdns分流ipv6进行科学上网

“状态”谷歌连通性检查,看看能否正常翻墙。

这样我们就设置好了,注意以后修改smartdns后ssrp可能会断开连接,需要先停止ssrp再启动ssrp。

实际使用下来,盒子看youtube有一定几率先黑屏再显示画面,电脑、手机youtube app、Google play下载应用倒没这个问题。smartdns有些配置不是很理解,还需要再学习。

技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/95.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注