家里的小米路由R1D用了近一年,只是做一个普通的路由器使用,实在太浪费了。最近学习移动端编程,感觉和PC时代最大的不同就在于移动端产品更重云和端的配合。于是就花了一晚上捣鼓捣鼓,在小米路由上搭建了一套可从外网访问的web 服务,以便手机上做的玩意儿可以随时随地获得私有云的支持。把搭建路径备案记录下来:

  • 第一步、先把小米路由刷到开发版ROM。

后面ssh登录需要开发版ROM支持。注意:先保存路由器上的所有数据!!!比如宽带账号、密码信息,这些信息一般在装完宽带后就很少用到了,一定确保先找到这些数据,以便刷机完成后可以正常设置路由;刷机会导致路由上所有信息包括硬盘数据丢失,所以要做好数据备份。

去miwifi.com,点击“官网” - 下载 - ROM - 小米路由器(R1D) ROM开发版 - 下载

· 将下载好的ROM包放到U盘的根目录下,并命名为“miwifi.bin”;

· 开路由器的电源后,将U盘插入路由器的USB接口,按住reset,接通电源,待路由器指示灯变为黄灯闪烁时,松开reset

· 大约3-5分钟后,指示灯变成黄色常亮状态时可以拔掉U盘,此时刷机已经完成正在重启,稍等片刻路由器指示灯变蓝就可以正常使用了。

  • 第二步、开启SSH工具

还是刚刚的网站,点击“开放” - 开启SSH工具 - 下载工具包,按照网页指导和第一步类似地,将SSH工具刷入路由器。重启路由后即可登录,在PC上输入命令ssh root@192.168.31.1,输入密码即可看到如下信息:

palancedeMacBook-Pro:~ palance$ ssh root@192.168.31.1
The authenticity of host '192.168.31.1 (192.168.31.1)' can't be established.
RSA key fingerprint is SHA256:FEpnjo9ynkUI4LWu3ckjcEce7HCJoybOJqANYh6+hSM.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.31.1' (RSA) to the list of known hosts.
root@192.168.31.1's password:
BusyBox v1.19.4 (2015-12-11 15:58:27 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.-----------------------------------------------------Welcome to XiaoQiang!-----------------------------------------------------
root@XiaoQiang:~#

搞定!

  • 第三步、安装llmp

下载llmp_install.bin(百度一下,这玩意很容易找到),然后执行

chmod +x /userdisk/data/llmp_install.bin&&/userdisk/data/llmp_install.bin in

看到

Install: unzip data llmp.tgz okInstall: config llmp start ...Install: config llmp completellmp start ! The wwwroot is in The shared disk !Install: everything is ok, Try to open the url http://192.168.31.1:8080

搞定!访问http://192.168.31.1:8080即可看到欢迎页。llmp系统运行在沙盒之中,该沙盒ssh端口为3333,该沙盒下用户有root、www,密码都是admin,建议先修改密码。

ssh -p 3333 root@192.168.31.1

即可进入。www用户不能直接修改自己的密码,需要先root登录,再执行passwd www修改其密码。

mysql的root用户默认密码也为admin,假设要修改为ABCD,可执行:

mysqladmin -u root -p password ABCD

然后会提示输入原先的密码。

网站根目录在小米共享盘wwwroot下,ssh到路由上对应的位置在/userdisk/data/wwwroot。

好了,以上步骤就完成了在小米路由上搭建web服务,到目前为止,可以在局域网内正常访问了。目前从外网还访问不了,原因是被防火墙拦了,下一步我们添加防火墙例外,就可以做到从外网用ip访问该web 服务。需要说明的是,我发现联通运营商屏蔽了8080端口的访问,所以得先把web服务的端口改一下,比如改成8023。SSH到路由,

vi /userdisk/llmp/etc/lighttpd/lighttpd.conf,找到这一行,并把8080改为8023:

## bind to port (default: 80)
server.port = 8080    #把8080修改为8023

保存后执行如下命令,重启llmp服务:

sh /userdisk/llmp/manager/llmp_fix.sh

  • 第四步、添加防火墙例外

vi /etc/config/firewall,在文件最后添加如下内容:

config rule 'httpdwan'
option src 'wan'
option dest_port '8023'
option proto 'tcp'
option target 'ACCEPT'
option name ''\''httpd wan accept tcp port 8023'\'''

保存后执行如下命令,重启防火墙策略:

/etc/init.d/firewall restart

OK,现在从外网通过IP就能访问该web服务了,去小米路由的管理后台找到自己的外网IP:

然后在外网访问该IP,http://222.128.173.113:8023,如下:

可以小鸡冻一把了~~

  • 第五步、域名解析

最后一步就是最好能通过域名直接访问,一般家里的电脑都是动态IP,路由每次重启获得的IP是不同的,因此需要动态地把域名和这个IP实时绑定。在小米论坛上有教程讲怎么映射到花生壳的二级域名,这种域名是免费的,而且小米路由的后台管理支持该域名的动态解析DDNS。不过我手上有一个从阿里云购买的一级域名,在小米路由上又不能直接支持DDNS,所以还需要额外做一些事。大致分两个步骤:一、申请一个花生壳的二级域名,并动态解析到小米路由;二、将阿里云的一级域名再解析到花生壳的二级域名。

首先,去花生壳申请一个二级域名,这是免费的,如下:

然后在路由的管理后台中找到 高级设置 - DDNS - 添加服务,如下,输入花生壳登录的用户名密码以及刚刚申请的域名作为主机名称:

然后从外网访问http://palance.gicp.net:8023就能访问到自己的web服务啦~

最后,需要去阿里云上添加一条域名解析规则。去到阿里云的管理控制台,选择“域名”服务,找到自己的域名(我的域名是www.binglen.com),点击“解析”,添加如下记录:

注意,主要填写记录类型为CNAME,主机记录为www,记录值为在花生壳的二级域名palance.gicp.net,这样就可以通过www.binglen.com:8023访问小米路由的web服务。

还可以再添加一条:记录类型为CNAME,主机记录为@,记录值为palance.gicp.net,这样就可以通过binglen.com:8023访问了。

大功告成!

转载于:https://www.cnblogs.com/palance/p/5077933.html

用小米路由搭建外网可访问的个人网站相关推荐

  1. 用自己电脑搭建外网可访问的服务器

    原文地址::用自己电脑搭建外网可访问的服务器_天生痞性难自弃的博客-CSDN博客_个人电脑做服务器让外网访问 相关文章 1.怎么在自己电脑上搭建一个服务器,以便于外网访问呢?----怎么在自己电脑上搭 ...

  2. Windows10搭建外网可访问的ftp服务器

    1. 场景描述: 我的实验室有个路由器和电脑甲,路由器的IP地址为A,电脑甲使用的是A下的子网,IP地址为B. 我的宿舍有台电脑乙,电脑乙的IP地址为C. 现在需要在电脑甲上搭建ftp服务器,供电脑乙 ...

  3. 在阿里云服务器上搭建外网可访问的redis集群

    一.阿里云服务器安全组开放端口 控制台 -> 云服务器ECS -> 实例 因为阿里云服务器自带一层防火墙,所以需要开放7001-7006.17001-17006端口(这个端口是自定义的,只 ...

  4. 【手机建站】Android Termux+cpolar内网穿透,搭建外网可以访问的网站

    文章目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 概述 Termux是一个Android终端仿真应用程序,用于在 Android 手 ...

  5. 手把手教你搭建外网可访问的应用~

    1..注册appfog 2.注册之后,新建一个java spring mysql应用. 3.选择第一个亚洲服务器(据说最快) 4.写上应用名. 5.进入应用默认界面 6.点击update source ...

  6. Node.js~在linux上的部署~外网不能访问node.js网站的解决方法

    这是上一篇node.js部署到linux上的后续文章,当我们安装完node.js之后,建立了sailsjs的网站,然后在外面电脑上无法访问这个网站,这个问题我们如何去解决? 解决思路: 查看linux ...

  7. 外网如何访问本地tomcat web服务器

    首先你要知道你是出于内网还是外网下,其实很简单,百度一下"IP查询",第一个就是你的外网ip,然后你本地cmd中ipconfig一下就能知道你的本机ip,如果两个ip一样,那么你现 ...

  8. 外网如何访问本地tomcat web服务器【转】

    转自:http://jingpin.jikexueyuan.com/article/49159.html 外网如何访问本地tomcat web服务器 作者: XHKJOE 发布时间:2015-07-1 ...

  9. 小米路由器开启外网访问SSH和WEB管理界面

    前   言 关于<小米路由器开启SSH并连接>参考下文https://blog.csdn.net/desertworm/article/details/117958369 由于小米路由为了 ...

最新文章

  1. 可疑文件_如何识别文件的真假
  2. 创始人CEO该拿多少工资?
  3. C#获取网页中的验证码图片(转载)
  4. CTFshow php特性 web135
  5. sql相同顺序法和一次封锁法_率土之滨追击战法攻略
  6. LeetCode 268 缺失数字
  7. python-Generalization of Hops
  8. linux机器不能上网,Deepin Linux 无法上网
  9. 刚接触新工作的程序员:直接运行include
  10. 李宏毅机器学习hw1~4作业 强化点
  11. mysql用reader读取空数据时报错的处理
  12. RPLIDAR最强参数详解
  13. C语言排序的几种算法
  14. 离散分布的分布函数_条件分布与条件期望
  15. IO-4、RAID结构
  16. 【圣诞快乐】闻到圣诞的气息了,喜欢的节日在慢慢来临~祝大家Merry Christmas。
  17. WIN10安装CUDA10 cuDNN
  18. 【基因芯片】差异表达分析的基本原理与方法
  19. pandas——显示设置
  20. AMD GPU虚拟化

热门文章

  1. 如何把各种API文档放到任务栏的右下角
  2. 数字化转型浪潮下,汽车零部件企业如何逐鹿突围?
  3. C语言 用宏函数实现 swap() 交换函数
  4. 工厂模式---实体类集合
  5. vim查找或替换字符串后,取消高亮
  6. (转)Android状态栏微技巧,带你真正理解沉浸式模式
  7. 使用cmd按照指定文件名字删除文件
  8. DataGridView上移 下移行
  9. Bugzilla与BugFree区别与比较
  10. C#中int32 的有效值范围