openwrt路由器进入安全模式
openwrt路由器型号:WNDR3800
一.实验背景
在pc机上通过xshell软件登录openwrt路由器,pc机通过网线与openwrt路由器的LAN接口相连。openwrt路由器自带两块无线网卡,且能通过自带的网卡发出wifi,pc机也可以通过连接此wifi登录到openwrt路由器,我将openwrt路由器发出的wifi全部关掉了。我通过有线连接的方式登录openwrt路由器。实验设备连接图如下
在上图中,pc机(cilent端)和路由器(server端)都连接第三方的wifi热点,处于一个局域网中,两者能进行http通信,但是pc机不能通过这种连接方式利用ssh协议登录到路由器。所以我采用有线连接的方式,利用ssh协议登录到路由器。
在实验中,有一个功能是要将网卡从monitor模式切换为managed模式,然后在managed模式下,系统作为client端向server端发起http请求。
网卡在切换模式的过程中,路由表会发生变化。导致以前通过无线wifi方式进行http通信的过程失败。我原先是想通过修改路由表指定到server端的特定路由,在没能实现此功能 的情况下,我想到开机启动时删除有线路由,这样系统中就只有一条无线路由了,即使执行了网卡的模式切换,由于路由表中只有一条无线路由,所以http通信可以成功。我在系统中加了一个定时任务,路由器(作为client端)每隔一分钟向pc机(作为server端)发起一次http请求。在系统重启后,我在server端观察到每一分钟收到了来自client的一个http请求。但是我发现不能通过有线连接的方式登录到路由器中了,因为有线路由在开机时被我写的脚本删掉了。
至此,我把路由器自身发出wifi的功能关了,也不能通过有线连接的方式登录路由器了。通过第三方机器发出wifi相连的方式只能实现http通信,不能通过ssh的方式登录路由器。是的,我现在登录不了路由器了。实验背景描述完毕。
二.实验过程
现在有两种方式可以让我重新登录到路由器。第一种:进入路由器的安全模式。第二中:刷机。
我采用的是第一种。路由器的背面有一个很隐蔽的开关,在下图中我用红方框圈的部分。
我查到的手册写到:“OpenWrt 的安全模式能帮你解决任何问题是因为 OpenWrt 使用 JFFS2 分区存储用户数据 (如果你用的是 SquashFS 固件)! 在你忘记密码, 或把你自己墙了, 或你弄坏了一个启动脚本的情况下, 你可以用安全模式恢复”。
第一次在没有查资料的情况下,我尝试恢复出厂设置失败了。我想当然的以为只用按住reset按钮就可以恢复出厂设置。我的做法是:系统开机之后,用细针(只要是能伸进红框中小孔的工具)按住reset按键10秒放开。但是我预先写在系统中的定时脚本还在向server端发起http请求。而且我仍然不能通过有线连接的方式登录到路由器中。系统没有进入安全模式。
第二次我查找资料后发现进入openwrt的安全模式,步骤如下:
1.关闭路由器电源,再打开路由器电源,路由器灯全会由全亮变为全暗,等待SYS灯再次亮起,用细针(只要是能伸进红框中小孔的工具)按住reset按键,直到SYS灯出现快速闪烁,松开reset按键,成功进入安全模式。
2.配置本地机器ip为192.168.1.2 子网255.255.255.0 路由:192.168.1.1。使用telnet直接登录路由器:telnet 192.168.1.1。
进入安全模式后,xshell界面如下:
然后我做了以下操作:进入后mount可以看到root是不给写的,运行命令mount_root,先映射root盘。
至此我能够将我写的crontab定时任务(导致我不能通过有线连接的方式登录路由器)删除。所以就解决了我的问题。
之后我进行了下述操作:passwd修改密码,uci get network.lan.ipaddr复位路由器的ip。此时我看到我写的代码和安装的软件都还在,说明 在安全模式下做的以上操作没有让系统恢复出厂模式。 然后我进行了代码的备份。如果不做后续操作,我可以继续以前的工作。但是我运行了命令mtd -r erase rootfs_data。这个命令会清除整个jfss2区的数据,相当于恢复工厂设置。运行这个命令后我写的代码和安装的软件,我做的配置全部没了。
3.重启系统。
系统恢复出厂设置完成。之后就能通过有线的方式登录到路由器了。
三.实验结论
我分析了我的错误。我的错误在于恢复出厂设置之前没能了解恢复之前和恢复之后分别是什么现象。没有遵照客观事实,而人为的判断是否恢复了出厂设置。
我开始做实验时,对失败的定义是错误的。失败不是不符合我的期待,而是不符合恢复出厂设置的定义,我并不知道出厂 设置的定义是什么。
参考链接:
https://openwrt.org/zh-cn/doc/howto/generic.failsafe
https://www.router-reset.com/reset-manuals/Netgear/WNDR3800#factory-reset-instructions
openwrt路由器进入安全模式的更多相关文章
- 教程一 openwrt路由器入门 远程命令行+文件系统
如图,拿到一个openwrt路由器我们第一步要远程控制. 这里在买了两块wifi-robots wifi视频模块. 0首先说下这个WIIF的信息 淘宝购买链接 https://item.taobao ...
- OpenWRT路由器使用ipv6拨号上网教程
文章来源于群友,如有侵权,请联系我(aha971030@gmail.com)删除 原理介绍分析: 湖北E信地区可以使用ipv6拨号,好处是网络是上下对等不限速网络,也就是说,你的端口上限是多少,网上就 ...
- OpenWrt路由器通过LuCI界面实现Guest SSID功能
转自: http://blog.ltns.info/linux/guest_ssid_over_openwrt_router/ 之前尝试过 Tomato路由器设置VLAN实现Guest SSID功能, ...
- OpenWrt 路由器过滤广告的N种方法
路由器已经成为每个家庭不可缺少的角色,手机.电脑.电视,凡是需要互联网的设备都要用到它.那么路由器除了给我们的网络设备分发网络外,还有其他用途吗? 现在很多人家里都用着智能路由器,智能路由器究竟怎么智 ...
- OpenWrt路由器通过iPhone有线共享网络上网
2018年4月更新: 我自己的手机在openwrt上网速很慢,在电脑上又很快.应该不是被限速了,但是没找到原因. 三大运营商在学校争客户,手机卡开出了校内无限流量的条件.很开心,之前准备到东北大学的时 ...
- OpenWrt 路由器如何让 lan 口主机获得 ipv6 网络访问 -- 知乎
本文转自知乎: OpenWrt 路由器如何让 lan 口主机获得 ipv6 网络访问? - mistforest的回答 - 知乎https://www.zhihu.com/question/29667 ...
- 设置openwrt路由器的防火墙_允许从外网访问内网的ipv6服务
设置openwrt路由器的防火墙_允许从外网访问内网的ipv6服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-11-02. 参考文章: IPv6"内网"设备 ...
- Openwrt路由器上安装python
在路由器安装python之前,还是经过了一番折腾的.淘宝上买了个已经刷好系统的小米迷你路由器,但里面安装的不是预期的Pandorbox,而是LEDE. 这个固件已经带了大量自带的软件,128的内存实在 ...
- 开发OpenWrt路由器上LuCI的模块
[题外话] 学校里最近改造了校园网,要求必须用iNode验证,万幸的是路由器能刷OpenWrt,并且OpenWrt上有好多iNode认证的开源项目,比如njit8021xclient(以下简称njit ...
随机推荐
- Codeforces.1139D.Steps to One(DP 莫比乌斯反演)
题目链接 啊啊啊我在干什么啊.怎么这么颓一道题做这么久.. 又记错莫比乌斯反演式子了(╯‵□′)╯︵┻━┻ \(Description\) 给定\(n\).有一个初始为空的集合\(S\).令\(g\) ...
- mongodb 遇到问题-查询单个需要包装id
mongodb,get字符查询需要传入特定的包装id才能识别 const ObjectID = require('mongodb').ObjectID exports.queryOne = (req, ...
- 05-BootStrap
今日任务 使用JQuery发送请求局部刷新页面 使用BootStrap制作一个响应式的页面 使用BootStrap制作网站的首页 教学目标 掌握什么是响应式及响应式的原理 掌握BootStrap的栅格 ...
- 【转】Spring总结以及在面试中的一些问题
[转]Spring总结以及在面试中的一些问题. 1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建 ...
- weblogic10.3 启动报错 Unrecognized option: -jrockit Error: Could not create the Java Virtual Machine
今天在使用weblogic10.3+jdk7创建domain的时候,建好domain后启动报如下错误信息: Unrecognized option: -jrockitError: Could not ...
- ECMA Script 6_async 函数
async 函数 const promise = new Promise((resolve, reject)=>{ setTimeout(function(){ console.log(&quo ...
- Differenciate or distinguish between outlook attachment and embedded image/signature using property accessor in C#.NET
These days, outlook emails are composed in three formats; plain text, html and rtf (rich text format ...
- JAVA的第一次作业
读后感:这个学期开始接触一门新的学科就是JAVA,老师对这么学科介绍了很多,我也从中了解到了许多,它可能是相对于C语言而已可能要更加方便一些,也是现在世界上所用最多的语音(软件方面),C语言都是排在它 ...
- 2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践 一.实验说明 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),vei ...
- 【Python全栈-JavaScript】jQuery效果
jQuery效果 jQuery 效果函数: 方法 描述 animate() 对被选元素应用“自定义”的动画 clearQueue() 对被选元素移除所有排队的函数(仍未运行的) delay() 对被选 ...