You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于通过Windows PC经局域网内树莓派SSH远程操作路由器的方案咨询

通过Windows PC经局域网内树莓派SSH远程操作路由器的方案咨询

嘿,这个需求完全能实现!核心思路就是借Windows的SSH客户端连到树莓派,再通过树莓派操作同局域网的路由器——毕竟树莓派和路由在同一内网,能直接访问路由的管理接口。下面给你一步步拆解具体方法:

第一步:确保Windows能正常SSH到树莓派

Windows 10及以上系统自带SSH客户端,直接打开命令提示符或PowerShell,输入以下命令登录树莓派(替换成你的树莓派LAN地址和用户名):

ssh pi@192.168.1.xxx

输入树莓派的登录密码就能进入终端了,这一步你应该已经搞定,先确认连接稳定就行。

第二步:通过树莓派操作路由器端口转发

根据你的路由器支持的管理方式,分两种场景处理:

场景1:路由器支持命令行(CLI)配置

如果你的路由器是OpenWrt固件、部分华硕路由这类支持SSH/telnet管理的型号,直接在树莓派终端里登录路由器就行:

ssh admin@你的路由器LAN地址

输入路由器的管理密码后,就能用对应固件的命令添加端口转发规则。比如OpenWrt的典型命令:

# 添加一条端口转发规则
uci add firewall redirect
# 配置规则参数(按需替换)
uci set firewall.@redirect[-1].name='RemoteWebAccess'
uci set firewall.@redirect[-1].src=wan
uci set firewall.@redirect[-1].src_dport=80  # 外部访问端口
uci set firewall.@redirect[-1].dest=lan
uci set firewall.@redirect[-1].dest_ip=192.168.1.xxx  # 目标设备LAN地址
uci set firewall.@redirect[-1].dest_port=80  # 内部服务端口
# 保存并生效配置
uci commit firewall
/etc/init.d/firewall restart

具体命令请参考你路由器固件的官方文档,不同品牌型号会有差异。

场景2:路由器仅支持Web管理界面

如果你的路由器只能通过网页配置,那就用树莓派上的curl工具模拟网页表单提交操作:

  1. 先模拟登录路由器,获取会话Cookie(替换成你的路由地址和账号密码):
    curl -c cookies.txt -d "username=admin&password=你的路由密码" http://192.168.1.1/login
    
  2. 再提交端口转发的配置请求(参数需要抓包获取:用浏览器打开路由管理页,按F12打开开发者工具,查看添加端口转发时的POST请求参数,替换到下面的命令里):
    curl -b cookies.txt -d "action=add_forward&ext_port=8080&int_ip=192.168.1.100&int_port=80" http://192.168.1.1/forward_setting
    

额外小技巧

如果你嫌Windows命令行麻烦,也可以用图形化SSH工具(比如Putty、Termius)连接树莓派,操作逻辑和命令行完全一致,只是界面更友好。

操作前记得备份路由器配置,避免误操作导致网络故障哦!

备注:内容来源于stack exchange,提问作者James T

火山引擎 最新活动