## 小米 AX3000T 终极指南:解锁 SSH、安装 ShellClash 并实现永久固化与外网访问
小米 AX3000T 是一款性能优秀的路由器,其原厂固件在稳定性、功能性(如双WAN、IPTV、游戏加速等)和易用性上都表现出色。然而,对于追求更高自由度的玩家来说,解锁 SSH 是释放其全部潜力的第一步。
本教程将引导您完成以下目标,无需刷写复杂的第三方固件(如OpenWrt),即可获得更强大的网络体验:
1. **临时解锁 SSH**:获取路由器的临时 Shell 访问权限。
2. **永久固化 SSH**:让 SSH 权限在路由器重启、升级后依然有效。
3. **安装 ShellClash**:在路由器上部署功能强大的代理客户端。
4. **开启外网访问**:设置防火墙,从互联网安全访问路由器Web管理后台。
---
### 第一部分:获取临时 SSH 权限
在进行永久固化之前,我们首先需要一个临时的入口。
#### **步骤 1:获取 STOK 凭证**
STOK 是一个动态生成的访问令牌(Token),是与路由器后台通信的临时钥匙。
1. 在浏览器中登录您的路由器管理后台(默认为 `http://192.168.31.1`)。
2. 登录成功后,观察浏览器地址栏。您会看到一长串网址,其中包含 `stok=` 的部分。
> 例如:`http://192.168.31.1/cgi-bin/luci/;stok=a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4/web/home#router`
3. 复制 `stok=` 等号后面、`/web` 前面的那段长字符串(在上例中即 `a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4`)。**请注意,这个 STOK 每次登录都会改变,且有一定时效性,操作要快。**
#### **步骤 2:执行解锁命令**
1. 打开您电脑上的 **命令提示符 (CMD)** 或 **PowerShell**。建议右键单击,选择“以管理员身份运行”。
2. 将下面四条命令中的 `
` 部分,**全部替换**为您刚刚复制的真实 STOK 字符串。
3. 依次复制、粘贴并执行以下四条命令:
```bash
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20set%20ssh_en%3D1%0A"
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/arn_switch -d "open=1&model=1&level=%0Anvram%20commit%0A"
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/arn_switch -d "open=1&model=1&level=%0Ased%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%22debug%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%0A"
curl -X POST http://192.168.31.1/cgi-bin/luci/;stok=/api/misystem/arn_switch -d "open=1&model=1&level=%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A"
```
如果每条命令执行后都返回 `{"code":0}`,则代表临时 SSH 已成功开启。此时请勿重启路由器,否则 SSH 将会失效。
#### **步骤 3:获取 SSH 密码并登录**
1. 访问小米官方的 SSH 密码计算工具网站:[1](https://miwifi.dev/ssh)
2. 在路由器管理后台或路由器底部的标签上找到 SN(序列号),输入到网页中,点击“计算”即可获得 SSH 密码。请妥善保存此密码。
3. 回到命令提示符,输入以下命令尝试连接路由器:
```bash
ssh root@192.168.31.1
```
4. 系统会提示您输入密码,此时粘贴或手动输入刚才获取的密码,**注意:输入时密码不会显示在屏幕上**,输完后直接按回车即可。
成功登录后,您会看到小米路由器的欢迎界面,证明您已获得 root 权限。
---
### 第二部分:永久固化 SSH(推荐)
临时 SSH 会在重启后失效,为了长久使用,我们需要将其“固化”到系统中。这是一个关键且高级的步骤,请严格按照指令操作。
> **警告**:以下操作会直接写入路由器闪存(Flash)。虽然是成熟的方案,但仍有极低的风险。请确保电量稳定,不要中途断电。
**步骤 1:开启调试模式**
在 SSH 连接中,执行以下命令并回车,路由器会自动重启。
```bash
zz=$(dd if=/dev/zero bs=1 count=2 2>/dev/null) ; printf '\xA5\x5A%c%c' $zz $zz | mtd write - crash
reboot
```
**步骤 2:写入固化参数**
等待路由器重启完成后,重新通过 SSH 连接 (`ssh root@192.168.31.1`),然后依次执行以下所有命令,将 SSH 开关永久写入系统配置中。
```bash
nvram set ssh_en=1
nvram set telnet_en=1
nvram set uart_en=1
nvram set boot_wait=on
nvram commit
bdata set ssh_en=1
bdata set telnet_en=1
bdata set uart_en=1
bdata set boot_wait=on
bdata commit
reboot
```
执行完毕后,路由器会再次重启。
**步骤 3:关闭调试模式**
再次等待路由器重启,重新连接 SSH,执行以下命令清理调试模式的残留文件,完成固化。
```bash
mtd erase crash
reboot
```
路由器最后一次重启后,SSH 就被永久地开启了。即使未来升级官方固件,SSH 权限通常也会保留。
---
### 第三部分:安装 ShellClash 代理工具
现在,我们可以在这个拥有稳定 SSH 环境的路由器上安装强大的 ShellClash(小猫咪)了。
1. 在 SSH 连接中,执行下面的安装脚本。此脚本会自动从 GitHub 下载并启动安装程序:
```bash
export url='https://fastly.jsdelivr.net/gh/juewuy/ShellCrash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
```
2. 脚本运行后,会出现一个交互式安装菜单。请根据提示,依次输入数字并回车进行选择:
* **安装版本**:选择 `2. ShellClash 稳定版`。
* **安装目录**:选择 `1. /data 数据分区`(推荐,空间大且重启不丢失)。
* **代理模式**:选择 `1. 透明代理(推荐)`。
* **固化脚本**:选择 `1. 软固化模式`(它会利用系统机制实现开机自启)。
* **导入配置**:选择 `1. 在线生成配置文件`,然后粘贴您的订阅链接并回车。
* **开始生成**:选择 `1. 开始生成配置文件`。
* **启动服务**:选择 `1. 立即启动 clash 服务`。
* **后续操作**:可以先选择 `9. 更新/安装`,进入后选择 `4. 安装本地 Dashboard 面板`,这样管理更方便。
3. 安装完成后,您就可以通过浏览器访问 ShellClash 的管理面板了:
**http://192.168.31.1:9999/ui** (如果安装时选择了本地面板,通常是这个地址,具体端口以安装提示为准)
通过这个面板,您可以轻松切换节点、管理代理规则,让全家的设备都实现科学上网。实测联发科 MT7981 处理器性能不俗,足以满足高速网络环境的需求。
---
### 第四部分:开启外网访问 Web 管理页面
出于安全考虑,小米默认禁止从外网直接访问路由器。但通过修改防火墙规则,我们可以安全地开放特定端口用于远程管理。
> **核心原理**:小米系统会拦截从外网到内网 `80` 端口(Web服务默认端口)的直接映射。解决方案是,将外网的一个高位端口(如 `11080`)映射到路由器的另一个内部端口 `8080`,然后通过 `8080` 端口访问Web服务。
1. **连接路由器文件系统**
使用支持 SCP 协议的工具(如 WinSCP [2](https://winscp.net/eng/download.php))连接到路由器。
* **文件协议**:选择 `SCP`
* **主机名**:`192.168.31.1`
* **用户名**:`root`
* **密码**:您的 SSH 密码
2. **修改防火墙配置文件**
登录后,在右侧的路由器文件系统中,找到并进入 `/etc/config/` 目录,双击打开 `firewall` 文件进行编辑。
3. **添加端口转发规则**
将光标移动到文件的最末尾,另起一行,**完整地**粘贴以下代码:
```ini
config redirect
option target 'DNAT'
option src 'wan'
option dest 'lan'
option proto 'tcp'
option src_dport '11080'
option dest_ip '192.168.31.1'
option dest_port '8080'
option name 'Allow-WAN-WebAdmin'
```
**参数解释**:
* `src_dport '11080'`:这是您从外网访问时使用的端口。**您可以自行修改,但强烈建议使用 10240 以上的端口**,例如 `20808`、`31080` 等,以增加安全性并避免冲突。
* `dest_ip '192.168.31.1'`:路由器的内网IP地址。
* `dest_port '8080'`:目标映射到路由器的内部端口。**请勿修改为 `80`**。
修改完成后,保存并关闭文件。
4. **重启防火墙使规则生效**
回到 SSH 终端窗口,执行以下命令:
```bash
/etc/init.d/firewall restart
```
5. **访问**
现在,假设您的公网 IP 地址是 `123.45.67.89`,并且您在规则中设置的 `src_dport` 是 `11080`,您就可以通过以下地址从任何有网络的地方访问您的路由器了:
**http://123.45.67.89:11080**
至此,您的 小米 AX3000T 已经成功实现了永久 SSH、拥有了 ShellClash,并开启了远程Web管理功能,成为了一台功能强大且稳定可靠的家庭网络核心。
***
*本教程内容整理并优化自“小鲸社长”的分享,并参考了 GitHub 用户 lemoeo 和恩山论坛的相关技术帖,在此一并表示感谢。*
0 评论