設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

IT之家網(wǎng)學(xué)院:小米路由器3使用namecheap的DDNS實現(xiàn)遠程https訪問

2018/12/14 20:32:55 來源:IT之家 作者:xubiaosunny 責編:阿迷

由于官方固件不支持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之家所有文章均包含本聲明。

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機APP應(yīng)用 魔方 最會買 要知