最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

S905盒子刷armbian配置DDNS公網(wǎng)可訪問(二)

2023-06-09 15:48 作者:xylon65  | 我要投稿

接上一期,我們已經(jīng)在m401a中安裝好了armbian,老E實際已經(jīng)部署了Pandora(一個無障礙訪問ChatGPT服務(wù)的開源應(yīng)用),但如何實現(xiàn)Anywhere呢?

有人說內(nèi)網(wǎng)穿透?如果考慮安全防護,不暴露私有主機,可以理解。但是,畢竟是s905l3a的m401a盒子,況且2023年了,還在“內(nèi)網(wǎng)穿透”,還在NAT over NAT?運營商表示很不爽!我們優(yōu)選簡單實現(xiàn)。

國內(nèi)IPv6推廣部署概述

縱觀國內(nèi)幾大運營商提供的光寬帶網(wǎng)絡(luò)服務(wù),公網(wǎng)IPv4不說,IPv6是早就開始推廣應(yīng)用了,近兩年新裝的寬帶,附送的光貓無一例外都自帶路由且支持DHCPv6,而且,要知道家庭寬帶分配到的IP(v4 or v6)都是最干凈的地址。查看盒子接口信息,移動的應(yīng)該都是“2409”開頭的,這個“2409”開頭的IPv6地址就是公網(wǎng)地址,是可以在外網(wǎng)訪問(暴露在公網(wǎng))的。

使用ip a命令查看接口IPv6地址信息

已知3大運營商IPv6地址前綴:

  • 中國移動:2409:8000::/20

  • 中國電信:240e::/20

  • 中國聯(lián)通:2408:8000::/20

所以,家寬的IPv6支持不成為應(yīng)用障礙的前提下,域名綁定、DDNS的簡單實現(xiàn)是最優(yōu)方案。

域名綁定并獲取API接口

1.域名綁定和記錄添加

我們找一個已注冊的域名,最好是泊靠在Cloudflare,這樣不用再做遷移。登錄Cloudflare,選擇我們打算綁定的域名,老E隨便選了個剛注冊的一個.eu.org域名。

選一個可用域名

進入該域的dns設(shè)置后,我們增加一條A或者AAAA記錄。老E添加了一條IPv6記錄,二級域名ai.xxxx.eu.org,指向IP地址只要合法就行,不用糾結(jié)。添加后保存。

添加AAAA記錄

記得關(guān)閉小黃云(不開啟代理),TTL可以設(shè)為自動,確定后保存該記錄。這樣,ai.xxxxx.eu.org就是指向armbian m401a盒子的主機名,域名綁定完成。

說明:多數(shù)名稱服務(wù)提供機構(gòu)都有DNS API支持,國內(nèi)騰訊、阿里也有,Cloudflare自然也不例外,不過,從去年開始Cloudflare對于.tk ,.ga,.gq等freenom注冊的免費域名不再提供api支持。

2.獲取Token

要通過使用API使用服務(wù),一般都需要獲取Token或Key,Cloudflare不僅是DNS記錄更新,包括證書申請、workers代理計算等都需要/可以使用API。

打開xxxxx.eu.org域的管理面板,右側(cè)就是區(qū)域ID、令牌的標(biāo)識,復(fù)制Zone/區(qū)域 ID。賬戶ID在本例中不需要。這里,點選“獲取您的API令牌”,來到令牌創(chuàng)建頁面。

創(chuàng)建令牌頁面

老E的配置頁面顯示的是針對另一個區(qū)域(為了區(qū)分,稱之為yyyy.eu.org)創(chuàng)建好的令牌,已創(chuàng)建的令牌可以點選最右側(cè)的"..."查看摘要信息。這里點選創(chuàng)建令牌即可。

之后的API令牌模板選擇第1項,使用“編輯區(qū)域DNS”模板。一般常用的就是該類令牌和“編輯Cloudflare Workers”以及“Wordpress”令牌。點擊"使用模板"。

創(chuàng)建令牌配置

區(qū)域資源點開"Select..."選擇我們增加了AAAA記錄的域xxxx.eu.org。其他選項正常情況下保持默認即可,如果和上圖不一致的地方就需要修改成和上面一樣的。選擇“繼續(xù)以顯示摘要”,在摘要頁點選“創(chuàng)建令牌”即可。

說明:望文生義,令牌用于訪問我們的某個域,而且僅限該域,不僅要查詢DNS記錄,還要更新,所以權(quán)限是“編輯”--讀和寫。


API令牌創(chuàng)建摘要頁面

把創(chuàng)建的Token拷貝下來,和ZoneID等一起保存好。給出的測試命令也可以一并拷貝下來保存。

至此,針對ddns配置任務(wù)目標(biāo),我們在cloudflare后臺需要進行的操作全部完成。后期,如果要驗證記錄更新的話,也不必登錄后臺,沒有套CDN的情況下,ping ai.xxxx.eu.org即可。

Token != Key

重點來了,Cloudflare API已經(jīng)演進到4.0版本,之前有通過key的驗證、使用方式,我們既然獲取了Token即令牌,就不可能還用Key的驗證方式。參考官方文檔,我們可以了解詳細API關(guān)鍵字和使用方法。務(wù)必注意,Token不是Key,很多教程把Token寫在Key的地方,或者header定義是X-Auth-Key,后面填寫的卻是Token,完全不清楚是怎么跑通的或者說有沒有真正測試過。

shell輸入以下命令即可查詢到剛才設(shè)定的AAAA記錄ID。需要替換(包括花括?。┙o定的內(nèi)容包括:ZoneID、Email(Cloudflare賬戶郵箱)、Token。

不出意外的話,Result中的第一條就是RecordID,記錄下來,在寫入、更新其IPv6地址的時候,需要指定。如果--header指定了X-Auth-Key,而你卻填寫了Token,一定返回error。

配置本地DDNS

首先,確認一下需要記下保存的4項信息:ZoneID、Token、Mail/Account、RecordID。

DDNS實現(xiàn)的核心就兩點:

1.監(jiān)測(被動)或檢測(主動)IPv6地址的變化

2.基于變化進行DNS記錄的更新

被動監(jiān)測,是需要基于系統(tǒng)network管理進程,利用hooks機制,僅當(dāng)接口分配到的IPv6地址發(fā)生變化時觸發(fā)記錄更新;主動檢測,就是按一定時間周期(cron,如120s)進行輪詢,一旦檢測到接口的IPv6地址發(fā)生變化則進行記錄更新。

1.DNS記錄更新腳本(IPv6)

無論主動檢測或者被動監(jiān)測,都需要在分配的IPv6地址發(fā)生變化時,通過Cloudflare API更新DNS記錄,運行以下代碼可以自動創(chuàng)建/bin/cf-ddns.sh腳本。

可通過執(zhí)行以下命令下載腳本并執(zhí)行,會自動生成/bin/cf-ddns6.sh,務(wù)必在替換{interface}、{ZoneID}、{RecordID}、{Email}、{Token}、{Domainname}并保存后執(zhí)行。

  • {interface}: 替換為監(jiān)測的網(wǎng)絡(luò)接口,例如 eth0。

  • {ZoneID}: 替換為 Cloudflare 域名所在的區(qū)域 ID。

  • {RecordID}: 替換為要更新的 DNS 記錄的 ID。

  • {Email}: 替換為你的 Cloudflare 帳戶的注冊電子郵件地址。

  • {Token}: 替換為你獲取的 Cloudflare API? Token。

  • {Fullname}: 替換為要更新的完整主機域名,如ai.xxxx.eu.org。

驗證部署一下,先后臺或者命令行查閱當(dāng)前ai.xxxx.eu.org的IPv6地址。

運行腳本更新前

運行/bin/cf-ddns.sh,除了最后的“成功”或“失敗”返回碼,靜默運行不會有任何過程輸出。

運行腳本,可不使用絕對路徑

我們在控制臺看到記錄更新成功,回到Cloudflare DNS設(shè)置后臺進行驗證。

2.被動監(jiān)測

對于使用 NetworkManager 的 Debian Bullseye,通過 NetworkManager 的 dispatcher.d 功能來監(jiān)測到 IP 地址變化。這是一種類似于 dhcpcd以及dhclient 客戶端 hooks 的機制,可以在 IP 地址變化時執(zhí)行/bin/cf-ddns6.sh。

創(chuàng)建一個腳本文件,用于處理 IPv6 地址變化的操作。

基本文件內(nèi)容如下:

賦權(quán)、屬組、屬主設(shè)為root。大功告成。

說明:可實現(xiàn)被動監(jiān)測條件取決于網(wǎng)絡(luò)管理服務(wù),NetworkManager、dhcpcd、dhclient均可。netplan應(yīng)該也可以,但個人非常不喜歡。

3.主動檢測

受限于系統(tǒng)網(wǎng)絡(luò)管理守護進程,如果被動監(jiān)測無法實現(xiàn),我們可以將/bin/cf-ddns6.sh作為定時任務(wù),使用crontab -e編輯cron表,在其中增加如下一行內(nèi)容,每2分鐘執(zhí)行一次。

最后,需要提示一下:運營商一定會屏蔽80、443端口,需要重新編輯下相應(yīng)的service文件(如有),譬如我就將ChatGPT pandora本地服務(wù)的監(jiān)聽端口改成了8091,如此,公網(wǎng)訪問需要加端口號,我的就是ai.xxxx.eu.org:8091。

最 后

至此我們就通過IPv6配置完成了基于Cloudflare API的DDNS,抓緊試試吧。通過DDNS的搭建與實現(xiàn),我們不僅可以通過公網(wǎng)訪問m401a服務(wù)器上的Pandora服務(wù),還可以在m401a上部署Jellyfin server、HA等若干應(yīng)用服務(wù),從目前我的m401a運行情況來看,兩個字:夠用。

當(dāng)然,這種方式實際是將服務(wù)器(m401a)暴露在公網(wǎng),任何人只要知道域名的都可以訪問,有一定的安全隱患。但是,相比其他實現(xiàn)而言,這是最簡單的、門檻最低的。老E建議能簡單不復(fù)雜。

下期,將分享有關(guān)Pandora等ChatGPT服務(wù)的本地部署,結(jié)合DDNS,就可以實現(xiàn)Anywhere,而且沒有容器依賴。對于普通用戶而言,replit、railway、vercel等容器平臺還有有一定技術(shù)門檻的,老E最不擅長的就是賬號管理,在一堆平臺開通了一堆賬號,實在頭疼。相比很多非理工的人,也一樣會有此顧慮。






S905盒子刷armbian配置DDNS公網(wǎng)可訪問(二)的評論 (共 條)

分享到微博請遵守國家法律
和平区| 彭州市| 碌曲县| 和田市| 忻州市| 陇南市| 西乡县| 福建省| 高淳县| 宜章县| 永平县| 鸡西市| 栾川县| 南江县| 隆子县| 柯坪县| 井陉县| 长垣县| 梓潼县| 普兰县| 镇雄县| 昂仁县| 北辰区| 开化县| 阳谷县| 周口市| 济南市| 上虞市| 盘山县| 兴隆县| 旬阳县| 锦屏县| 河源市| 荆门市| 大埔县| 安庆市| 天台县| 湖州市| 延边| 砚山县| 驻马店市|