梅林固件用户可通过SSH或Telnet工具连接路由器,输入命令进行高级配置与管理,常用命令包括nvram操作、rc服务控制、自定义脚本执行等,需谨慎操作避免系统错误。
梅林固件(Merlin Firmware)是基于华硕官方固件源代码开发的第三方固件,以其强大的功能、高度的可定制性和稳定性深受高级用户喜爱,许多进阶设置和功能需要通过命令行界面(CLI)输入特定的命令来实现,本指南将详细介绍在梅林固件上安全、有效地输入命令的几种主要方法。
重要前提:理解风险与准备
- 备份!备份!备份!:在进行任何命令行操作之前,强烈建议通过梅林固件的 Web 界面(
系统管理
->恢复/导出/上传设置
)备份您的当前配置(NVRAM 和 JFFS),错误的命令可能导致路由器设置丢失、功能异常甚至设备变砖。 - 了解命令含义:切勿盲目复制粘贴网上看到的命令,尤其是涉及删除文件(
rm
)、格式化(mke2fs
)、写入内存(nvram set
)或重启服务/进程的命令,务必先理解该命令的作用和潜在影响,在不确定的情况下,先搜索或咨询社区。 - 启用必要服务:默认情况下,SSH 或 Telnet 访问可能未开启,您需要先在梅林固件的 Web 界面中启用它们:
- SSH (推荐且更安全): 进入
系统管理
->系统设置
,找到启用 SSH
,选择LAN only
(仅局域网访问)或LAN + WAN
(谨慎选择,有安全风险),设置SSH 端口
(默认 22,建议修改为其他端口如 2222 以增加安全性)和授权密钥
(推荐使用密钥登录,比密码更安全)或密码登录
。 - Telnet (不推荐,明文传输不安全): 在
系统管理
->系统设置
中启用Telnet
,同样建议仅限LAN
访问。
- SSH (推荐且更安全): 进入
- 获取路由器 IP 地址:通常路由器的 LAN IP 地址是
168.50.1
或168.1.1
(具体请查看您网络设置中的默认网关地址)。
通过 SSH 客户端连接(强烈推荐)
SSH(Secure Shell)是加密的网络协议,是远程登录路由器命令行最安全、最常用的方式。
- 选择 SSH 客户端:
- Windows: PuTTY (最流行), MobaXterm, Windows Terminal (新版 Win10/11 内置,需安装 OpenSSH 客户端), Bitvise SSH Client。
- macOS / Linux: 系统自带终端(Terminal)应用,直接使用
ssh
命令即可。
- 连接路由器:
- Windows (PuTTY 示例):
- 打开 PuTTY。
- 在
Host Name (or IP address)
栏输入您的路由器 IP 地址(如168.50.1
)。 - 在
Port
栏输入您设置的 SSH 端口(默认是 22,如果您修改过则填写修改后的端口,如 2222)。 - 连接类型选择
SSH
。 - 点击
Open
。
- macOS / Linux (终端示例):
- 打开终端(Terminal)。
- 输入命令:
ssh admin@your_router_ip -p port_number
- 将
admin
替换为您的路由器登录用户名(梅林默认通常是admin
)。 - 将
your_router_ip
替换为您的路由器 IP 地址(如168.50.1
)。 - 将
port_number
替换为您设置的 SSH 端口(如果是默认 22,可以省略-p port_number
部分)。
- 将
- 示例:
ssh admin@192.168.50.1 -p 2222
- Windows (PuTTY 示例):
- 身份验证:
- 首次连接时,客户端会询问是否信任路由器的加密密钥,输入
yes
或接受。 - 然后会提示您输入登录路由器的 密码(即您通过 Web 界面登录时使用的密码),输入密码时,屏幕上通常不会显示任何字符(这是正常的),输入完成后按回车。
- (如果设置了密钥登录,过程会不同,需要指定私钥文件)。
- 首次连接时,客户端会询问是否信任路由器的加密密钥,输入
- 成功登录:如果用户名和密码正确,您将看到类似以下的提示符:
ASUSWRT-Merlin RT-AC86U 386.12_0 Fri Aug 11 12:34:56 UTC 2025 admin@RT-AC86U:/tmp/home/root#
或
admin@(none):/tmp/home/root#
最后一行末尾的 符号表示您已获得 root 权限(梅林固件 SSH 登录默认就是 root 权限),可以开始输入命令了。
- 输入命令:在 提示符后,直接键入您需要执行的命令,然后按回车键执行。
nvram get lan_ipaddr
(查看当前 LAN 口 IP 地址配置)ls -l /jffs/scripts/
(列出 JFFS 分区 scripts 目录下的文件)cru l
(列出当前计划任务 cron jobs)
- 退出:输入
exit
或logout
命令,或者直接关闭 SSH 客户端窗口来结束会话。
通过 Telnet 客户端连接(不推荐,仅作了解)
Telnet 是未加密的协议,您的用户名和密码以及所有命令、输出都会以明文形式在网络中传输,存在严重安全风险。强烈建议仅在无法使用 SSH 的临时调试场景下使用,且完成后立即在 Web 界面中关闭 Telnet 服务。
- 启用 Telnet:在梅林 Web 界面
系统管理
->系统设置
中启用Telnet
,并设置访问限制(强烈建议仅限LAN
)。 - 使用 Telnet 客户端:
- Windows: 命令提示符(CMD)或 PowerShell,在开始菜单搜索
cmd
或powershell
打开。 - macOS / Linux: 系统自带终端(Terminal)应用。
- Windows: 命令提示符(CMD)或 PowerShell,在开始菜单搜索
- 连接路由器:
- 在命令行中输入:
telnet your_router_ip
- 将
your_router_ip
替换为您的路由器 IP 地址(如168.50.1
)。
- 将
- 示例:
telnet 192.168.50.1
- (Telnet 默认端口是 23,通常不需要指定端口号)。
- 在命令行中输入:
- 身份验证:系统会提示输入用户名(通常是
admin
)和密码(Web 登录密码),输入密码时同样不显示字符。 - 输入命令:登录成功后的提示符和操作方式与 SSH 登录后相同( 提示符)。
- 退出:输入
exit
或logout
。
通过 Web 界面的“系统命令”功能(有限功能)
梅林固件的 Web 界面提供了一个内置的命令执行工具,适合执行一些简单的、无需复杂交互或实时输出的命令。
- 登录梅林固件的 Web 管理界面。
- 导航到
系统管理
->系统设置
选项卡。 - 找到页面底部的
系统命令
区域。 - 在文本框中输入您要执行的命令(一次可以输入多行)。
- 点击
保存
按钮旁边的运行命令
按钮。 - 命令的输出结果会显示在文本框下方。
重要限制:
- 此方法不能运行需要交互式输入的命令(如
vi
,nano
等文本编辑器)。 - 命令执行环境可能与完整的 SSH/Telnet shell 环境略有不同(某些环境变量或路径)。
- 输出显示可能被截断,不适合查看大量输出。
- 主要用于执行简单的查询或一次性脚本任务。
通过 USB 串口线连接(高级/救砖)
这是最底层的方法,通常用于路由器无法正常启动(变砖)时的紧急恢复或深度调试,它需要拆开路由器外壳,找到主板上的串口针脚(通常是 4 针:VCC, GND, TX, RX),使用 USB 转 TTL 串口线连接电脑,并使用串口终端软件(如 PuTTY, SecureCRT, minicom)进行连接,波特率通常是 115200。此方法涉及硬件操作,风险极高,仅建议有经验的用户在必要时使用。
输入命令后的注意事项
- 理解输出:仔细阅读命令执行后的输出信息,确认是否达到预期效果或是否有错误提示。
- 修改配置后的保存:如果您使用
nvram set
命令修改了 NVRAM 中的设置(相当于修改了路由器的配置),必须执行nvram commit
命令将更改写入闪存,否则重启后会丢失!修改 JFFS 分区中的文件(如脚本)则不需要额外操作。 - 重启生效:许多配置更改(尤其是网络设置、服务开关)需要重启路由器或重启相关服务才能生效,重启路由器的命令是
reboot
(谨慎使用,会导致网络中断),重启特定服务通常有对应的命令(如重启网络服务可能是/sbin/service restart_net
或service restart_network
,具体需查文档)。 - 善用帮助和搜索:
- 在命令行中,可以使用
command --help
或man command
(man 手册存在)查看命令的帮助信息。 - 对于梅林/华硕特定的命令(如
nvram
,robocfg
,ethctl
),以及 Entware 安装的软件包命令,查阅官方文档、Wiki 或相关论坛(如 SNBForums)是获取准确信息的最佳途径。
- 在命令行中,可以使用
- SSH 是首选:安全、可靠、功能完整,适合绝大多数命令行操作。
- Web 系统命令适合简单任务:方便快捷,但功能有限。
- 避免使用 Telnet:除非万不得已且仅在安全的内网环境中临时使用。
- 串口是最后手段:用于深度调试或救砖。
- 安全第一:始终备份配置,理解命令含义后再执行,谨慎修改关键设置。
通过掌握这些方法,您就能充分利用梅林固件强大的命令行功能,进行更精细化的路由器管理和定制,请务必牢记操作风险,保持谨慎。
引用与参考说明
- 本指南基于梅林固件(Asuswrt-Merlin)的通用操作逻辑和常见实践,具体命令和细节可能因路由器型号和梅林固件版本略有差异。
- 核心概念参考自梅林固件官方项目页面(通常托管在 https://www.asuswrt-merlin.net/ )及其相关 Wiki/文档(如果可用)。
- 命令行知识(SSH, Telnet, Linux 基础命令)属于通用计算机科学和网络管理范畴。
- 安全实践建议(备份、理解命令、避免 Telnet)是行业内的最佳实践共识。
- 特定命令(如
nvram
,robocfg
,cru
)的功能描述来源于长期用户社区(如 SNBForums – https://www.snbforums.com/ )的讨论、经验分享以及华硕/梅林固件的行为观察,建议用户在相关社区或官方文档中查询最新、最准确的具体命令用法。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8065.html