首页 » 软件开发 » 小米路由器开发版及配置(路由器小米路由开发配置)

小米路由器开发版及配置(路由器小米路由开发配置)

落叶飘零 2024-07-25 03:02:34 0

扫一扫用手机浏览

文章目录 [+]

开发版ROM可以ssh登录路由器,就像进入一个小的Linux系统,可控程度不可同日而语。

当然,OpenWRT也是灵活强大的,在3G上也可以刷。
不选择它的原因一方面是官方的开发版已经足够强大了,两者是类似的(官方ROM本身也是改自OpenWRT);另一方面是官方ROM支持手机管理,多了一个选择。
比如有一次我的动态域名更新失败,通过手机界面,远程找到了路由器的IP。

下载开发版ROM

从小米官网(http://www1.miwifi.com/miwifi_download.html)下载开发版ROM。

小米路由器开发版及配置(路由器小米路由开发配置) 软件开发
(图片来自网络侵删)

开发版的版本似乎比稳定版要低,最后更新于2018年10月。

刷机

很多人都是通过U盘刷机,其实这并不是必须的。
网页的管理界面上就可以刷机。
点右上角的“系统升级”,选择下载的ROM,然后点“手动升级”即可。

获取初始root密码

下载开启ssh的工具(https://d.miwifi.com/rom/ssh)。
这个页面同时也是获取root密码的界面。
但前提条件是登录小米账号,并(通过手机客户端“小米WiFi”)绑定/管理对应的路由器。

开启ssh则需要USB的支持了。
根据官方的说明,主要流程是:将miwifi_ssh.bin拷到U盘根目录,关路由器插U盘,按reset键上电,黄灯闪烁后松reset。

开启ssh完成,路由器重启后,就可以用这个密码登录路由器了。

登录后可以用passwd命令修改root的密码。

用密钥登录

用ssh-copy-id建立密钥的信任关系会失败,可能是因为dropbear和openssh密钥存储的位置不同。
所以需要手动加一下。

PC端运行

scp ~/.ssh/id_rsa.pub root@10.7.3.1:/etc/dropbear/authorized_keys

路由器上运行下面的命令重启ssh服务。

/etc/init.d/dropbear restart

再重新登录就可以了。

文件系统

登录路由器后,先看看文件系统,以便合理使用。

可以看到:

/extdisks/sda1 对应于USB存储。
因为我有NAS,再加上使用USB有可能影响2.4G WiFi,所以我并不打算使用路由器上的USB存储。
/tmp是内存虚拟的文件系统,所以里面的内容关机/重启后会丢失;另外,/var是/tmp的符号链接,所以也不会永久保存。
/etc, /data, /userdisk 是同一块Flash,里面的内容会永久保存。
结合目录内容来看,/etc, /userdisk其实是/data的子目录。

如保我们想保存永久性的log,就不能像普通Linux系统保存在/var/log里了,而/userdisk看起来是小米路由器App在用,我也不想动它,那么,保存在/data/usr/log可能是一个合理的选择。

启动脚本

/etc/rc.local是可以用的,所以可以在这里作为启动脚本的入口。
脚本本身可以保存在/etc目录或/data/usr/bin目录。

下面是我的/etc/rc.local。
调用/data/usr/bin里的脚本是我加的。

# restore phy configspeed=$(uci -q get xiaoqiang.common.WAN_SPEED)[ -n \"$speed\" ] && /usr/sbin/phyhelper swan \"$speed\"/data/usr/bin/log-ip.sh /data/usr/bin/ddns.shexit 0

log-ip.sh 用于记录每次启动拔号得到的IP地址,内容如下:

#!/bin/shlogdir=/data/usr/logtest -d $logdir || mkdir -p $logdir || exit 1addr=$(ip addr show pppoe-wan | grep -w inet | awk '{print $2;}')echo \"$(date '+%Y/%m/%d %a %H:%M:%S') - $addr\" | tee -a $logdir/wanip.logdnsmasq及本地名称解析

dnsmasq是小型网络的全家桶。
它既是路由器的DHCP服务器,也可以用于本地域名解析,甚至还支持tftp。
通过版本信息可以看到它具体支持/不支持哪些特性。

它不支持DNS安全扩展,暗示了它支持普通的DNS解析。
我想用名称来访问局域网内的主机时,就需要用到本地域名服务器。

在有的路由器上,DHCP设定的名称会自动用于DNS解析。
比如,

把pc1的IP设定为10.9.8.11pc2的IP自动分配为10.9.8.102

在同一个网络内,通过名字pc1即可以访问10.9.8.11这台主机,通名字pc2即可以访问10.9.8.102这台主机。

这个过程是可以(部分)自动化的。
但小米路由器里没有这么做。
所以要找一个解决办法。

dnsmasq的配置文件是/tmp/etc/dnsmasq.conf,位于/tmp目录说明它是一个动态生成的文件,而配置文件内部也说明了这一点。

# auto-generated config file from /etc/config/dhcpconf-dir=/tmp/etc/dnsmasq.d/dhcp-authoritativeaddn-hosts=/tmp/hosts...

所以,源头的配置文件是/etc/config/dhcp。
我们可以通过修改这个文件,加入静态地址配置(网页配置界面上也会同步更新)。
因为我需要把几十条华硕路由器里的DHCP静态配置重新设定到小米路由器中,于是用脚本做格式转换,然后写入这个文件。

从这个配置文件里还可以看到,/tmp/hosts内的主机名会用于域名解析。
所以,解决办法就是把需要解析的主机名及其IP地址加入这个目录。
类似于下面:

10.7.3.1 router10.7.3.2 nas10.7.3.3 nuc10.7.3.4 kodi10.7.3.6 3dprint10.7.3.7 printer10.7.3.8 radio

由于/tmp目录下的内容不是永久保存的,所以需要将这个主机列表放在/data/usr/etc目录,在启动脚本里将其拷贝到/tmp/hosts目录。

经过这翻折腾后,小米路由器3G就比较完美了。
基本上超过我以前使用的千元级别的华硕路由器了。

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0