最近想找一个稳定的设备做软路由,要求支持2.5G网口,目前家宽1G,内网2.5G。有朋友买过友善R5S,反馈挺稳定的,遂购入一台 R5S LTS 4+32。
预期
- 作为主路由,必须稳定
- 上网(openclash + mosdns)
- 异地组网(tailscale)
固件
当前选用的固件是 https://r5s.cooluc.com/ 基于openwrt release分支的固件
刷机教程固件介绍页面有提供,可以通过EMMC方式刷入,或者 zcat openwrt-xxx.img.gz | dd of=/dev/mmcblk1 bs=1M
命令刷入
上网
我采用方式是 OpenClash接管流量,MosDns作为OpenClash dns的上游。
MosDns
包里面已经预装了MosDns,启用即可,不要勾选DNS转发。
OpenClash
OpenClash需要自己安装,安装命令如下
bash -c "$(curl -sS https://r5s.cooluc.com/openclash-install.sh)"
dns设置 nameserver、fallback设置为mosdns的 127.0.0.1:5353
,default-nameserver 设置为国内dns,如223.5.5.5
模式设置 Tab页 使用Meta内核,Redir-Host混合模式,Rule模式。
流量控制 Tab页 勾选 **路由本机代理** 勾选 绕过服务器地址 勾选 实验性:绕过中国大陆 IP (防火墙直接转发国内流量,不再由clash处理)
DNS设置 Tab页 勾选 **本地 DNS 劫持**
异地组网
Tailscale
目前 Tailscale 和 Openwrt nftable 存在防火墙不兼容的地方,当前Tailscale官网最新版本 1.60.1,opkg仓库最新版本 1.58.2-1
需要先在软件包中安装 Tailscale, tailscale up
必须设置 --netfilter-mode=off
来禁用tailscale的防火墙设置。
通过 LuCI 创建一个新的非托管接口:网络→接口→添加新接口
名称:tailscale
协议:Unmanaged(不配置协议)
设备:tailscale0
在 LuCI 中创建新的防火墙区域:网络→防火墙→区域→添加
- 名称: tailscale
- 入站数据: ACCEPT (default)
- 出站数据: ACCEPT (default)
- 转发: ACCEPT
- IP 动态伪装: on
- MSS 钳制: on
- 涵盖的网络: tailscale
- 允许转发到目标区域:选择您的 LAN(以及其他内部区域或 WAN,如果计划使用此设备作为出口节点)
- 允许源区域转发:选择您的 LAN(以及其他内部区域或如果不想将 LAN 流量路由到其他 Tailscale 主机,则留空)
在连接跟踪设置 TAB中,允许“无效”流量: on (我设置了静态路由,只有开启这个开关,Tailscale从外部才能访问)
单击保存并应用
补充信息
- 通过
opkg install tailscale
安装,会安装为服务,服务配置中有一个关键的TS_DEBUG_FIREWALL_MODE=auto
环境变量。- 手动更新 Tailscale,去官网下载linux arm64版本的包,然后替换
/usr/sbin/tailscale
、/usr/sbin/tailscaled
,重启服务service tailscale restart
效果
当前已经使用了一周,看系统日志没发现什么错误。 测试千兆宽带可以跑到 940mbps,外网受节点限制有500mbps。