家用网络折腾指北·路由篇02:看懂一张图,上网快又稳
创作立场声明:1. 看懂一张图,胜过千字言,本系列文章的精髓就在拓扑图上
2. 花钱好办事,一分钱一分货,两毛钱两分货,三块钱三分货
3. 适度性能过剩,重视软件设置,靠自己动手把体验调到更好
终于是时候展现真正的技术了!
家用网络路由系统中,软路由是关键点所在,我们希望实现的各种需求,都需要通过这个设备来实现。
所谓软路由,一般指的是在微型 PC 机硬件上安装 Openwrt 系统作为路由器使用。使用软路由最大的好处,就是 CPU 和内存更强大,系统扩展性更好,可以实现某些在硬路由上无法实现的功能。
对我个人而言,最常用的需求是使用 SmartDNS + PassWall 实现国内外流量的分流加速访问,尤其是流畅连接 Switch 服务提升猛男捡树枝的体验。尽管现在的很多固件都喜欢将 AdGuard Home 或者 KoolProxy 的去广告功能也加到这个组合中,但根据我个人的长期使用体验,路由系统中的去广告的功能不仅很难达到理想的效果,反而容易带来各种稀奇古怪的问题,所以建议一般使用者只用这两者的组合就行了。
以下是两个插件之间协同工作的拓扑图,看懂了这张图,那对于各个配置项该如何设置而且为什么这么设置也就了然于心了。看不懂也没关系,下方会有详细的教程,手把手教会你配置出一个又快又稳的软路由。
一、SmartDNS 设置要点
首先,添加 DNS 列表并分为国内(china)和国外(world)两个分组,国内采用 UDP 连接,国外采用 TCP 连接。
1. 点击“添加”按钮①,等新的 DNS 列表项出来了,再点击“修改”按钮②。
2. 在设置页面中,严格按照 DNS 列表中的内容,填写各个属性,建议每填完一个先“保存”①,然后“返回至概况”②,等待全部填写完毕之后再进行“保存并应用”。
3. 以下是我个人收集和测试过的国内外 DNS 列表,请参考选用。填写时,类型和服务器组请特别注意不要出错。
然后,对 DNS 分组的各项属性进行配置,我会结合编号来配合说明各项属性的意义。
1. 基本分组对应 china 分组,用来对国内的域名进行解析,可以实现直连效果。
① 服务器名称对应确认这个分组中可以使用哪些上面设置好了分组的 DNS 服务器。
② 本地端口不能是53等默认端口,之后在 Passwall 中需要对应设置。
③ 勾选TCP服务器,以便 Passwall 可以进行调用。
④ 域名预加载,可以提前解析已加载页面中还未访问的链接域名。
⑤ 过期缓存服务,可以避免查询等待。
⑥ (重要!)重定向选择“无”,以免干扰 Passwall 接管 DNS 解析。
⑦ 缓存大小可以根据软路由配置设置大一点。
2. 第二 DNS 服务器对应 world 分组,用来对国外的域名进行解析,可以实现加速效果。
① 不要跳过测速,以便可以从加速线路访问最快的地址。
② + ④ 组合勾选,以便去除 IPv6 DNS 解析对于访问的影响。
③ 跳过 Cache,使用 Passwall 的 pdnsd 进行缓存。
3. 把 IP 黑名单和自定义设置中的广告过滤规则全部清空,避免出现意想不到的问题。
经过如上操作,SmartDNS 的设置就完了,但其实还不能单独发挥效果。接下去进入更关键的 PassWall 设置,让两者结合产生奇妙化学反应。
二、PassWall 设置要点
首先,在“节点列表”或者“节点订阅”中添加你的加速路线节点,这个如何实现我们就不在这里细谈了,你懂的……
其次,也最重要的是,进入“基本设置-DNS”使用 PassWall 接管整个系统的 DNS 解析,并且实现国内外网站的访问分流。
① + ② 将 ChinaDNS-NG 强制设置为 dnsmasq 的上游,保证所有的联网设备都能获取正确的解析结果。
③ 使用 SmartDNS 的基本分组,为国内域名提供解析。
④ 使用 pdnsd 过滤方式,保留本地缓存,提升访问速度。
⑤ 设置通过 TCP 节点请求 DNS,和 SmartDNS 的相关设置匹配。
⑥ 服务请求地址指向 SmartDNS 的第二服务器,为国外域名提供解析。
然后,在“模式”选项中,对于流量的分流模式进行选择,如图所示即可。
最后,进入“直连/代理列表管理”,把所有的国内 DNS 地址加入直连列表,把国外 DNS 地址加入代理列表。同时,建议把京东、淘宝这些有国际站的域名,也都加入到直连列表中,以免出现错误定向至国际站的问题。
设置到这里,我们再回到“基本设置 - 主要”里面,选择对应的节点,再保存并应用,恭喜你已经可以享受又快又稳的网络啦!
不过为了能有最好的体验,强烈建议你在有条件的情况下,再多做几步让网络更稳点。
首先,在有多个节点可用的情况下,强烈建议使用负载均衡实现并发分流。
设置的关键是,如果有多个节点的物理位置很近甚至就在一个机房内,可以设置为一个分组。如果物理位置相隔很远,则不建议使用这个功能,带来的不可预测的问题会比较多。
设置为同一个组的节点,除了地址之外,其他的属性如类型、端口、密码等都必须完全一样。
通过设置不同的均衡端口,可以设置多个分组,比如我日常加速用的是香港节点分组,而为了看 Netflix 就特意建立了一个新加坡分组。
设置完负载均衡分组后,回到“节点列表”设置页,点击“添加”节点,新增一个相同类型的节点。
① + ② + ③ 使用和分组节点完全相同的属性。
④ + ⑤ 地址使用本地地址 127.0.0.1 ,端口选择对应分组的端口号。
如果你和我一样,还有通过新加坡节点看 Netflix 的需求,那么就再建一个 V2ry 的分流节点。
(你问我为啥要搞这么复杂?还不是因为贫穷!新加坡节点可以访问一个月只要36块的土区账号,比港区省了一半的钱啊!)
最后,我们再回到“基本设置 - 主要”里面,选择对应的节点,点击“保存和应用”,就可以开心的捡树枝啦!
三、来个小彩蛋
人啊,就是不知足啊,有了又快又稳的网络之后,总还是想着再玩点花样来。虽然我已经将主要的服务都用 Docker 方式部署到了服务器上,但软路由上还是上了几个轻量级的服务,可以再稍稍提升一下使用体验。
QW
DDNS:动态DNS,可以将家庭网络的 IP 地址和域名进行绑定,配合端口转发,方便从公网访问内网设备。