由于官方固件不支持ipv6(現(xiàn)在國家大力推進ipv6部署,手機端目前三大運營商都已支持,帶寬還沒宣布支持),而且社區(qū)大神搞得MT工具箱我這也一直有問題。于是半個多月前我又將我的小米路由器3刷回了Padavan,可一直也沒做個記錄,今天剛好公司也沒啥事,就整理一下。
刷Padavan固件
網(wǎng)上的教程也比較多,就不細說了。使用prometheus來安裝很容易:
wget -O start.sh https://prometheus.freize.net/script/start-99.sh chmod +x start.sh ./start.sh
一定要用Ubuntu 16.04 TLS系統(tǒng)來刷,我試過使用Ubuntu 18.04 TLS,過程會有報錯,懶得解決,還是使用推薦的系統(tǒng)比較好。Padavan官方Wiki上寫的也是用Ubuntu 16.04 LTS。
刷機過程的語言是根據(jù)你系統(tǒng)的語言來的,當然設(shè)置中文得下載中文語言包。
也可以克隆Padavan項目自己編譯,但得主機根據(jù)自己的路由器配置參數(shù),項目地址:https://bitbucket.org/padavan/rt-n56u/
namecheap動態(tài)DNS
我之前有在namecheap購買一個域名,也就是xubiaosunny.online,我博客的子域名就是用的這個??梢栽诜忠粋€子域名給家里的路由器。正好也支持動態(tài)DNS。文檔地址
https://www.namecheap.com/support/knowledgebase/article.aspx/36/11/how-do-i-start-using-dynamic-dns
首先打開Advanced DNS
打開DYNAMIC DNS
添加一條A+ Dynamic DNS record,Value隨便填,因為是動態(tài)dns,到時候回跟著你家里的公網(wǎng)ip動態(tài)解析,可以填為127.0.0.0,Host填寫為你自己的,比如mi3。
為新添加A+ Dynamic DNS record動態(tài)更新IP地址,namecheap提供有一個客戶端軟件,但是我覺得沒有必要,因為該軟件是.exe文件,家庭網(wǎng)絡(luò)的公網(wǎng)地址每次撥號都會改變,所以你時刻都得通知namecheap修改ip,那么你就得24小時開著一臺windows電腦來跑這個程序,完全沒必要。
當然namecheap還提供了其他更新IP的方式,通過瀏覽器動態(tài)更新
https://www.namecheap.com/support/knowledgebase/article.aspx/29/11/how-do-i-use-a-browser-to-dynamically-update-the-hosts-ip
這個正合適,瀏覽器訪問其實就是http請求,我們在路由器上掛個crontab就可以搞定。
ssh到路由器終端使用crontab -e,或者直接在路由器后臺界面添加一條任務(wù)。
0 * * * * curl "https://dynamicdns.park-your-domain.com/update?host=<your_host>&domain=<your_domin>&password=<your_password>"
把<your_host>,<your_domin>,<your_password>替換為你你自己的。password是你開啟DYNAMIC DNS頁面的Dynamic DNS Password
現(xiàn)在是每小時更新一次,想修改更新頻率修改crontab任務(wù).
二級路由器端口轉(zhuǎn)發(fā)
因為我的路由器上面還有個光貓,所以要在光貓上做個端口轉(zhuǎn)發(fā),如果你是路由器直接撥號由公網(wǎng)IP那么就不用這么做了。我是配置了DMZ,也可以用虛擬主機配置來轉(zhuǎn)發(fā)相應(yīng)的端口,效果是一樣的。
配置https訪問
其實到此理論上已經(jīng)可以通過動態(tài)域名訪問路由器的后臺頁面了,但需要把服務(wù)端口改一下,英文運營商一般都封了80和443端口。我們可以把端口改為‘8443’,并開啟‘Https’
【W(wǎng)eb 服務(wù)器 HTTPS 證書】點擊【生成】以生成HTTPS證書(這個操作得等幾分鐘)
現(xiàn)在真的可以通過域名來訪問后臺了,比如https://mi-r3.xubiaosunny.online:8443
申請認證的SSL證書
到這一步訪問的話,瀏覽器會標記為不安全,那么現(xiàn)在需要申請一個“可以讓瀏覽器標記為安全”的SSL證書。這里我使用Let's Encrypt,使用certbot來免費申請證書,當然也可以使用阿里云啥的申請一個免費的證書,包括我們公司也支持免費證書的申請。
參考地址:https://www.hi-linux.com/posts/6968.html
申請證書的還用刷機的那臺Ubuntu就可以,將*.xxx.com改為自己的域名,比如*.xubiaosunny.onile
wget https://dl.eff.org/certbot-auto chmod a+x certbot-auto ./certbot-auto certonly -d "*.xxx.com" --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
按照終端的提示填寫信息并回車繼續(xù),到DNS驗證的時候先不要回車,先在域名解析的時候添加一條TXT記錄,確認記錄生效后再回車完成申請。
# 檢測txt記錄 # 將xxx.com改為自己的域名 dig -t txt _acme-challenge.xxx.com @8.8.8.8
完成后會在路徑/etc/letsencrypt/live/xxx.xx下生成以下文件,‘xxx.xx’為自己的域名。
├── cert.pem ├── chain.pem ├── fullchain.pem └── privkey.pem
詳細步驟查看上面的參考鏈接,就不搬運了。
安裝SSL證書
打開 cert.pem、fullchain.pem、privkey.pem拷貝里面的內(nèi)容按下圖對應(yīng)粘貼到對應(yīng)位置,保存。(如果打開文件權(quán)限不足,嘗試使用root用戶)
現(xiàn)在我們就可以看到安全的小鎖了??
廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。