用小米路由搭建外網可訪問的我的網站

家裏的小米路由R1D用了近一年,只是作一個普通的路由器使用,實在太浪費了。最近學習移動端編程,感受和PC時代最大的不一樣就在於移動端產品更重雲和端的配合。因而就花了一夜搗鼓搗鼓,在小米路由上搭建了一套可從外網訪問的web 服務,以便手機上作的玩意兒能夠隨時隨地得到私有云的支持。把搭建路徑備案記錄下來:mysql

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

後面ssh登陸須要開發版ROM支持。注意:先保存路由器上的全部數據!!!好比寬帶帳號、密碼信息,這些信息通常在裝完寬帶後就不多用到了,必定確保先找到這些數據,以便刷機完成後能夠正常設置路由;刷機會致使路由上全部信息包括硬盤數據丟失,因此要作好數據備份。web

去miwifi.com,點擊「官網」 - 下載 - ROM - 小米路由器(R1D) ROM開發版 - 下載sql

· 將下載好的ROM包放到U盤的根目錄下,並命名爲「miwifi.bin」;shell

· 開路由器的電源後,將U盤插入路由器的USB接口,按住reset,接通電源,待路由器指示燈變爲黃燈閃爍時,鬆開reset編程

· 大約3-5分鐘後,指示燈變成黃色常亮狀態時能夠拔掉U盤,此時刷機已經完成正在重啓,稍等片刻路由器指示燈變藍就能夠正常使用了。ssh

 

  • 第二步、開啓SSH工具

仍是剛剛的網站,點擊「開放」 - 開啓SSH工具 - 下載工具包,按照網頁指導和第一步相似地,將SSH工具刷入路由器。重啓路由後便可登陸,在PC上輸入命令ssh root@192.168.31.1,輸入密碼便可看到以下信息:tcp

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 ok

Install: config llmp start ...

Install: config llmp complete

llmp 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,因此還須要額外作一些事。大體分兩個步驟:1、申請一個花生殼的二級域名,並動態解析到小米路由;2、將阿里雲的一級域名再解析到花生殼的二級域名。

首先,去花生殼申請一個二級域名,這是免費的,以下:

而後在路由的管理後臺中找到 高級設置 - 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訪問了。

大功告成!

相關文章
相關標籤/搜索