旁路由部署 Tailscale:Subnet Router 避坑指南
## 部署流程
### 第一步:安装
在 iStoreOS 终端中,推荐通过插件源直接安装,确保兼容性:
```bash
# 更新软件包列表
opkg update
# 安装 tailscale 核心组件
opkg install tailscale
```
### 第二步:配置子网路由 (Subnet Routing)
关键逻辑: 告诉 Tailscale 你想让外网设备访问家里的哪一个网段(例如 `192.168.0.0/24`)。

```bash
# 启动 Tailscale,并广播本地网段
# 避坑:添加 --accept-dns=false 防止与本地 DNS (AdGuard Home/MosDNS) 冲突
tailscale up --advertise-routes=192.168.0.0/24 --accept-dns=false --hostname=Remote-iStore
```
### 第三步:网页端开启授权
完成登录后,还需要进入[网页控制台](https://login.tailscale.com/admin/machines)进行授权
首先点击该选项:

进入后勾选你通告的网段,单击`save`保存

### 第四步:接口和防火墙配置
进入iStore OS网络->接口页面,新建一个名为Tailscale的接口:

其他接口配置不需要更改,防火墙规则中新建一个名为Tailscale的防火墙
进入网络->防火墙页面,按下图进行配置

### 第五步:第五步:开启内核转发与回包伪装(旁路由必做)
为什么需要这一步?
因为你的双路服务器是“旁路由”。当你人在外面访问家里的其他设备(如 Ubuntu 虚拟机)时,Ubuntu 会把回包发给家里的“主路由”,而主路由不认识 Tailscale,导致连接中断。
在 iStoreOS 终端执行以下命令:
#### 开启内核IP转发
```bash
# 临时生效
sysctl -w net.ipv4.ip_forward=1
# 永久生效
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
```
#### 配置防火墙 SNAT(伪装):
```bash
# 核心避坑:让局域网设备以为请求是旁路由发的,确保回包正常
iptables -t nat -A POSTROUTING -o br-lan -j MASQUERADE
```