加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

動態(tài)域名服務(wù) DDNS,YYDS(四)

2023/12/08
2221
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

來源:公眾號【魚鷹談單片機】,ID ??:emOsprey

前面的筆記《如何像訪問百度一樣訪問家里的服務(wù)器?(三)》已經(jīng)通過公網(wǎng) IP +?橋接,完成了基本功能,已經(jīng)可以通過公網(wǎng) IP?在全國各地訪問家里的服務(wù)器了。

但是有個麻煩的地方是,雖然運營商給我的是公網(wǎng) IP,但卻是動態(tài)的,兩三天就更換一次,因此我們需要一種服務(wù),實時告訴我們家里寬帶的當前 IP 是多少才能訪問。

我們可以讓家里的服務(wù)器主動發(fā)郵件的方式告訴我們當前的 IP,但是樹莓派操作了一番,還挺麻煩的,沒成功,因此我們可以借由第三方免費的 DDNS 服務(wù)實時更新 IP。這樣我們可以直接通過固定域名訪問家里的服務(wù)器,我們只要記住域名即可。

這里魚鷹選擇的是公云:https://www.pubyun.com/products/dyndns/

手機注冊好之后,你就可以申請一個免費域名了。

可以看到我已經(jīng)新建了一個域名,如?embedded_osprey.f3322.net,前面的?embedded_osprey 主機名可以自己設(shè)定,后面的 .f3322.net?是固定的,畢竟用的是別人的免費服務(wù)。

現(xiàn)在我們只是有個域名,但是并沒有告訴它這個域名指向的地址是多少,因此我們需要一個客戶端告訴公云的服務(wù)器我們現(xiàn)在的 IP。

目前客戶端只支持 window,當然Linux 的話不需要客戶端,直接用命令即可(需安裝 lynx,一般都有)。

我使用的是樹莓派,因此直接使用命令行形式即可。

本來只要執(zhí)行一次命令即可上傳 IP,但是因為我們的 IP 是動態(tài)的,因此我們需要定時執(zhí)行這條命令,讓他更新當前公網(wǎng) IP。

有點類似定時發(fā)郵件告訴 公云 服務(wù)器自己的 IP,以便更新 IP。

這里我們可以使用 crontab 實現(xiàn)定時功能。

首先寫一個非常簡單的更新腳本 update_ddns.sh(這里根據(jù)需要填寫公云網(wǎng)站的用戶名和密碼,自定義域名等信息,如上圖顯示):

#!/bin/bashipaddr=`lynx?-mime_header?-auth=username:password?"http://members.3322.net/dyndns/update?system=dyndns&hostname=xxxx.f3322.net"?| tail??-n?1?|?awk?'{print?$2}'`
date=`date?"+%y-%m-%d?%H:%M"`echo?$date?$ipaddr

將腳本存放到合適位置,如?/usr/local/bin/,并給腳本可執(zhí)行權(quán)限:

 sudo chmod +x /usr/local/bin/update_ddns.sh

現(xiàn)在可以嘗試一下執(zhí)行腳本,正常情況下,應(yīng)該能輸出當前公網(wǎng) IP,可以對比一下 https://www.ip138.com/ 的 ip 查詢結(jié)果 。

正常命令執(zhí)行結(jié)果如下:

確認腳本工作無誤后,即可加入定時器中定時執(zhí)行(可以使用 nano 編輯器,操作更簡單),如圖:

*/10 *  * * *   root    /usr/local/bin/update_ddns.sh

這里我們定時 10 分鐘更新一次。

總結(jié)下來就是,樹莓派定時執(zhí)行登錄公云服務(wù)器并更新域名 IP 的任務(wù),這樣公云的服務(wù)器就一直更新著我們最新的 IP 地址,當我們使用域名登錄時,會查詢到公云的服務(wù)器,從而就可以知道最新的 IP,最終登錄我們家里的服務(wù)器樹莓派了。

我們可以使用如下方式查詢域名所所對應(yīng)的 IP 是否正常:

當我們通過 nslookup 查詢設(shè)定域名的 IP 地址,和家里的寬帶IP是一致的話,證明我們的域名成功了。

此時我們可以在全國任何一個地方通過域名直接訪問服務(wù)器了。類似訪問百度一樣,YYDS?。?/p>

http://osprey.f3322.net:20080/

大家可以嘗試使用瀏覽器訪問上面網(wǎng)頁,看看是否能訪問魚鷹搭建的簡單網(wǎng)頁(大佬輕踩,不要攻擊咱的服務(wù)器哈,不值得)

注意事項

1、因為我們需要登錄公云服務(wù)器更新我們的寬帶 IP,因此不要輕易更換密碼(因為更換了密碼,樹莓派無法登錄公云,也就意味著無法更新 IP,當你使用域名登錄時,就無法通過公云查詢到 IP 了)

2、因為我們對公云服務(wù)器非常依賴,萬一公云服務(wù)器出現(xiàn)問題,那我們自己的服務(wù)器可能就登錄不了,因此需要有備選方案。

1)通過郵件之類的方式在 IP 更新后主動將最新 IP 發(fā)到我們的郵箱,這樣我們可以在域名訪問出現(xiàn)問題的情況下,仍然可以通過 IP 訪問。

2)使用可以遠程查看路由器 IP 的路由器。比如 tp-link 手機客戶端,可以隨時在手機查看當前的路由器 IP 地址,相當方便。

3、注意更換 SSH 常用登錄端口 22 為其他端口號,防止被黑客暴力破解。更保險的方式是,關(guān)閉 ssh 密碼登錄方式,只能通過私鑰方式登錄,防止被掃描端口號,從而被暴力破解??梢詤⒖歼B接:https://zhuanlan.zhihu.com/p/89872671

到此,個人服務(wù)器算是搭建好了,目前魚鷹主要當云盤使用,后期可能會為其他聯(lián)網(wǎng)設(shè)備做內(nèi)網(wǎng)穿透服務(wù),或者搭建調(diào)試日志服務(wù)器,亦或者個人網(wǎng)頁等等,后期有時間也可能會繼續(xù)更新這個系列,歡迎繼續(xù)關(guān)注。

總之,個人服務(wù)器,YYDS?。?!

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
CY62146EV30LL-45ZSXIT 1 Cypress Semiconductor Standard SRAM, 256KX16, 45ns, CMOS, PDSO44, LEAD FREE, TSOP2-44
$6.47 查看
ABS07-32.768KHZ-9-H-T 1 Abracon Corporation CRYSTAL 32.7680KHZ 9PF SMD

ECAD模型

下載ECAD模型
$3.85 查看
AFBR-57R5APZ 1 Agilent Technologies Inc Fiber Optic Device
$40.94 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

六年開發(fā)經(jīng)驗,豐富的KEIL調(diào)試經(jīng)驗,STM32使用經(jīng)驗,C語言運用經(jīng)驗。