路由器上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,不同地区不一样,根据本地实际情况填入。
“DHCP服务器”–“IPV6设置”设置dhcp ipv6
路由公告服务:服务器模式
DHCPv6服务:服务器模式
NDP代理:混合模式
DHCPv6模式:无状态的+有状态的
总是通告默认路由:无需勾选
2、smartdns设置
“服务”–“smartdns”进行smartdns设置。
(1)我们不设置smartdns为Dnsmasq的前置服务,直接将smartdns配置为主dns。
启用smartdns服务,本地端口设为53 。(SmartDNS本地服务端口,当端口号设置为53时,smartdns将会自动配置为主dns。)
(2)设置上游服务器
增加国内、国外2组。
国内可以设置为:114.114.114.114、阿里等dns、ISP服务商dns等,国内设为udp协议。
国外设置为:8.8.8.8 8.8.4.4 1.1.1.1,协议设为tcp。
(3)高级设置,这里设置的是第一组DNS服务器,我们当作设置国内dns服务。
测速模式:ping就可以了
ipv6服务器勾选,国内服务器开启ipv6
双栈优选勾选,对同时支持ipv6和ipv4的服务器自动选择快的ip。
域名预加载勾选,对主流网站自动主动进行预先解析,等你访问时更快一步。
缓存过期服务勾选,对于曾经解析但过期的解析记录,主动进行解析。
缓存大小,缓存个数,100000,可以设置大点。
解析本地主机名,如果你在Dnsmasq里设置了各主机名,可以勾选。
其他无需修改,点击保存&应用。
测试ipv6电脑是否正常获取,电脑ipv6需要启用。http://ch.test-ipv6.com/index.html.zh_CN
进行测试
(4)设置国外网站解析,
启用第二dns服务器,由于ssrp提供了5335的接口,我们本地端口填入5335
tcp服务器开启,启用tcp协议解析
跳过测速开启,这里测速就没意义了。
服务器组,填入haiwai或你自行定义
跳过双栈优选勾选,
停用IPV6地址解析勾选,境外网站只启用ipv4。
(5)“上游服务器”对国外dns分组。8.8.8.8、8.8.4.4等服务器后点击“修改”,服务器组设为上述的“haiwai”
保存后这样我们smartdns就设置好了。
3、设置ShadowSocksR Plus+
选择科学上网服务器,然后将DNS解析方式设置为“使用本机端口为5335的dns服务器”,保存并应用。
“访问控制”–“WAN IP访问控制”将8.8.8.8、8.8.4.4、1.1.1.1设为强制走代理的Wan ip(非必要步骤)。保存并应用。
“状态”谷歌连通性检查,看看能否正常翻墙。
这样我们就设置好了,注意以后修改smartdns后ssrp可能会断开连接,需要先停止ssrp再启动ssrp。
实际使用下来,盒子看youtube有一定几率先黑屏再显示画面,电脑、手机youtube app、Google play下载应用倒没这个问题。smartdns有些配置不是很理解,还需要再学习。
技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/95.html