我们这个时代的最大神话就是技术即通讯。
利比·拉森(Libby Larsen),作曲家
今天我们聊一聊大多数人选择软路由的必要条件,也许这是很多伙伴关心和期待的功能——世界那么大,我想去看看。
在这之前,由于笔者使用了官方原版的 OpenWRT,所以在这里先发一下 OpenWRT 原版的下载地址:“https://downloads.openwrt.org/releases/22.03.2/targets/x86/64/”。该地址请自行复制粘贴到浏览器地址栏里访问,如果你希望下载其他版本,可以在“https://downloads.openwrt.org/releases/”选择,这里是所有的稳定发行版,直接选择你喜欢的版本即可。个人不建议使用开发快照版,除非你有能力自己开发和调试。进入上述22.03.2发行版的页面后,可以选择镜像的模式:
这里以我在使用的X86设置(就是普通计算机)为例:
- 如果你从来没有接触过软路由,而且希望在配置错误时,随时可以恢复到出厂设置,可以选择“generic-squashfs-combined”开头的镜像;
- 由于官方镜像默认的硬盘分区空间较小,如果你希望更方便地扩展“根”目录所在的分区,可以选择“generic-ext4-combined”开头的镜像;
- 如果你的设备是支持 uefi 启动的,可以选择带“efi”的镜像。
下载后:
- 可以用 physdiskwrite.exe(百度搜一下,下载时注意哪个才是真实的下载地址)写盘,使用方法:physdiskwrite.exe -u <镜像的完整路径>;
- 也可以通过 Ghost、DiskGenius 之类的工具克隆硬盘。
DiskGenius 使用方法及修改 LAN、WAN 接口等基础设置,见《安装和使用软路由【基础篇】》一文。
在此,不再赘述 OpenWRT 的配置了,不会的可以翻看之前的几篇文章,我们即将进入本文的主题。
先说明一下,在笔者的不断尝试之下,酸酸乳+、PASSWALL 虽然优点很多,比如占用资源少、转发速度快、对硬件要求不高等,但在笔者这里都不能达到目的,故放弃。酸酸乳+没有更多的日志可以参考,原因未知;PASSWALL 是版本原因,笔者通过日志发现,稳定版的dnsmasq-full无法达到 PASSWALL 要求的版本。另外,这两款插件还需要smartdns和chinadns等插件的配合分流,经过的环节过多,出了问题不容易判断和解决。剩下的主流工具就是 OpenClash 了,之前笔者使用的 HomeLede 这款软路由系统里被命名为 HomeClash,就是同一个插件,只是 HomeLede 的作者给它改了个性化的名字而已。OpenClash 的缺点很明显,就是刚才说的酸酸乳+和 PASSWALL 转发快,资源消耗少、硬件要求低,OpenClash 正好相反。不过,慢点总比没有好是吧,而且我用的电脑当软路由,这点性能还是有的。首先,当然是下载插件啦,上地址:“https://github.com/vernesong/OpenClash/releases”。打开页面后,找到最新的版本,前面的“注意事项”等说明先不管,直接拉到“Assets”,点开,再点击“luci-app-openclash_0.45.70-beta_all.ipk”,浏览器就会下载这个 ipk 文件了,当然,你也可以通过SSH连接到软路由的命令提示符界面,通过命令下载:
wget https://github.com/vernesong/OpenClash/releases/download/v0.45.70-beta/luci-app-openclash_0.45.70-beta_all.ipk
“wget ”后面的地址就是“Assets”里这个 ipk 文件的地址,获取方法:浏览器中右键点击就可以看到“复制链接”的选择,点击之后就可以获得这个地址,在软路由的命令提示符界面点右键就会直接粘贴。
接下来不要急着安装,我们刚才不是看到有“注意事项”吗,根据官方的提示,要先安装依赖的软件包:
#iptables
opkg update
opkg install coreutils-nohup bash iptables dnsmasq-full curl ca-certificates ipset ip-full iptables-mod-tproxy iptables-mod-extra libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip luci-compat luci luci-base
#nftables
opkg update
opkg install coreutils-nohup bash dnsmasq-full curl ca-certificates ipset ip-full libcap libcap-bin ruby ruby-yaml kmod-tun kmod-inet-diag unzip kmod-nft-tproxy luci-compat luci luci-base
注意,这两段命令的注释,一个是 iptables,一个是 nftables,对应着你软路由中使用的防火墙,可在“系统”→“软件包”里查看安装的是哪种防火墙。
如下图,在筛选器中输入“firewall”,你安装的是 firewall,则使用注释着 iptables 的命令;与笔者一样安装的 firewall4 的,则使用注释的 nftables 的命令。这里千万要按照你的 firewall 版本操作,否则 OpenClash 会安装出错,或者装上了也不起作用。
安装依赖,只要跳出的 errors 是这类配置文件重复的,那就说明安装好了,如果跳出的 errors 里有哪个 ipk 安装错误,那就行排查为什么错了,可能是有其它软件包冲突了,可以查看和哪个软件冲突了,把那个卸载了,就可以安装了。在安装好依赖后,我们可以安装 OpenClash 了。不知道刚才你把 OpenClash 的 ipk 下载到哪里了,如果在电脑上下载的,那在软件包界面点“上传软件包…”,找到 ipk 文件上传,opkg 就会帮你安装好这个 ipk;如果在软路由的命令提示符界面通过 wget 下载的,就到刚才下载的位置,用 opkg 命令安装:
opkg install luci-app-openclash_0.45.70-beta_all.ipk
安装完成后,在软路由的 luci 界面刷新一下,就能在“服务”菜单中找到“OpenClash”了。
不要以为安装了这个插件,就可以去世界看看了,这个想法图样图森破。我们先要检查和更新内核,OpenWRT 安装好后,还得安装内核,否则无法正常启用。安装方法如图:
安装好内核后,就可以去世界看看了吗?
别急,我们还要有自己的代理点或机场。我们先看看代理点如何添加。
只要你的节点是可用的,这个节点添加就完成了,如果你有多个节点,可以重复刚才的步骤。
由于笔者直接使用的机场,所以对添加节点这块没有深入研究,只是尝试过添加,关键是保证每个节点的设置要正确。
下面我们来看看添加机场:
“保存配置”后,点击“更新配置”,OpenClash 便会下载机场和配置文件并启动。正常情况下,待 OpenClash 启动完成后,就可以愉快地去世界看看了。这里插一下官方对机场的使用说明:
- Clash类型的订阅地址:机场提供的Clash专用的托管配置
- Surge类型的订阅地址:机场提供的Surge专用的托管配置,经过API转换后供OpenClash使用。
- V2ray类型的订阅地址:机场提供的V2ray专用的订阅地址,经过API转换后供OpenClash使用,但服务器策略组与规则部分都很简单,您可以配合第三方规则使用。
在 OpenClash 开启的情况下,可能会造成某些国内站点或 APP 打开慢、打不开等情况,可在“全局设置”的“规则设置”中勾上“自定义规则”,并在下方的框里添加该站点(APP 也是通过某个站点访问的)为直连,语法示例在框里有注释,为“#”后面的文字。下面,将笔者自己的配置放出(没有放出的设置页面或部分则完全默认),供各位参考:
这里启用的地址只要能满足解析,越少越好,因为每次 OpenClash 收到 DNS 请求,都会向这里所有启用的上游 DNS 服务器发送 DNS 请求。
再来看看如何使用网上现有的规则:
在这里,笔者还是建议用脚本隔一段时间自动下载为本地文件,OpenClash 默认只会显示“/etc/openclash/rule_provider”、“/etc/openclash/proxy_provider”和“/etc/openclash/game_rules”三个目录内的规则,所以下载后可以移动到“/etc/openclash/rule_provider”这个目录下。这样做为的是不会因 OpenClash 下载失败而影响到启动,同时也使这些脚本能尽量与服务器上的文件保持同步。若有需要,可以使用笔者在使用的规则维护组提供的规则:“https://github.com/ACL4SSR/ACL4SSR/tree/master/Clash/Providers”。也可以自己找个靠谱的规则,甚至自己编辑都可以。最后,看到运行日志里显示:“OpenClash 启动成功,请等待服务器上线!”就说明设置都OK了。
回到运行状态,如图显示就表示你已经可以去全世界看看了。世界这么大赶紧行动吧。
软路由可以干什么之四介绍完了,感谢耐心阅读。本篇主题:世界这么大,我想去看看。其实只要使用默认设置基本上都可以了,一些个性化的设置只是保证国内站点和个别站点可以被正确处理。如果想更深入了解 OpenClash 的设置,可以去查看官方的 Wiki,地址为:“https://github.com/vernesong/OpenClash/wiki”。
如果还有什么疑问,可以在评论区留言交流哦。敬请期待下一篇《安装和使用软路由【进阶篇】——软路由可以干什么?(五)》。