用小米路由搭建外网可访问的个人网站
家里的小米路由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
用小米路由搭建外网可访问的个人网站相关推荐
- 用自己电脑搭建外网可访问的服务器
原文地址::用自己电脑搭建外网可访问的服务器_天生痞性难自弃的博客-CSDN博客_个人电脑做服务器让外网访问 相关文章 1.怎么在自己电脑上搭建一个服务器,以便于外网访问呢?----怎么在自己电脑上搭 ...
- Windows10搭建外网可访问的ftp服务器
1. 场景描述: 我的实验室有个路由器和电脑甲,路由器的IP地址为A,电脑甲使用的是A下的子网,IP地址为B. 我的宿舍有台电脑乙,电脑乙的IP地址为C. 现在需要在电脑甲上搭建ftp服务器,供电脑乙 ...
- 在阿里云服务器上搭建外网可访问的redis集群
一.阿里云服务器安全组开放端口 控制台 -> 云服务器ECS -> 实例 因为阿里云服务器自带一层防火墙,所以需要开放7001-7006.17001-17006端口(这个端口是自定义的,只 ...
- 【手机建站】Android Termux+cpolar内网穿透,搭建外网可以访问的网站
文章目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 概述 Termux是一个Android终端仿真应用程序,用于在 Android 手 ...
- 手把手教你搭建外网可访问的应用~
1..注册appfog 2.注册之后,新建一个java spring mysql应用. 3.选择第一个亚洲服务器(据说最快) 4.写上应用名. 5.进入应用默认界面 6.点击update source ...
- Node.js~在linux上的部署~外网不能访问node.js网站的解决方法
这是上一篇node.js部署到linux上的后续文章,当我们安装完node.js之后,建立了sailsjs的网站,然后在外面电脑上无法访问这个网站,这个问题我们如何去解决? 解决思路: 查看linux ...
- 外网如何访问本地tomcat web服务器
首先你要知道你是出于内网还是外网下,其实很简单,百度一下"IP查询",第一个就是你的外网ip,然后你本地cmd中ipconfig一下就能知道你的本机ip,如果两个ip一样,那么你现 ...
- 外网如何访问本地tomcat web服务器【转】
转自:http://jingpin.jikexueyuan.com/article/49159.html 外网如何访问本地tomcat web服务器 作者: XHKJOE 发布时间:2015-07-1 ...
- 小米路由器开启外网访问SSH和WEB管理界面
前 言 关于<小米路由器开启SSH并连接>参考下文https://blog.csdn.net/desertworm/article/details/117958369 由于小米路由为了 ...
最新文章
- 可疑文件_如何识别文件的真假
- 创始人CEO该拿多少工资?
- C#获取网页中的验证码图片(转载)
- CTFshow php特性 web135
- sql相同顺序法和一次封锁法_率土之滨追击战法攻略
- LeetCode 268 缺失数字
- python-Generalization of Hops
- linux机器不能上网,Deepin Linux 无法上网
- 刚接触新工作的程序员:直接运行include
- 李宏毅机器学习hw1~4作业 强化点
- mysql用reader读取空数据时报错的处理
- RPLIDAR最强参数详解
- C语言排序的几种算法
- 离散分布的分布函数_条件分布与条件期望
- IO-4、RAID结构
- 【圣诞快乐】闻到圣诞的气息了,喜欢的节日在慢慢来临~祝大家Merry Christmas。
- WIN10安装CUDA10 cuDNN
- 【基因芯片】差异表达分析的基本原理与方法
- pandas——显示设置
- AMD GPU虚拟化