白群晖图文版阿里云域名解析IPV6远程访问方法
對于掌握點IT技巧的人來說,想要實現群暉外網訪問是信手拿來的事,但是對于技術小白來說,如果能通過簡單的菜單式設置就能達到這個目的我想很多人都會陷入這樣的僵局。我非IT人員,但是對于IT有著獨特的愛好,也沒有系統性的學過,為了實現群暉外網訪問也是走了不少歪路,從網上找教程到找到的教程不是要什么命令就是不那么詳細,會有種心灰意冷的感覺,今天就把掌握到的群暉通過IPV6公網訪問以圖文的形式寫下來,讓一些技術小白少走歪路浪費那么多的時間。
第一步,當然是需要有個公網IP,家里是移動寬帶,都是默認開通的,我想全國都一樣。具體的設置方法可以參照 我這篇文章網上那點事:超簡單傻瓜式開啟移動IPV6公網方式
接下來,我們看看群暉到底有獲取到這個IPV6地址沒有,看下圖,進入群暉控制面板的網絡選項中,在網絡界面里點開你的局域網1或者2,看到有IPV6地址這行后面移動有2409開頭字樣,結尾以/64結尾的,說明你的IPV6地址已經開通并能正常使用了,有時候這個位置會顯示三行,不用管它,第一行2409開頭的肯定沒錯。
?2,進入你的阿里云后臺控制面板選項,點擊頭像,在彈出頁面點擊AccessKey管里
3,按照提示創建AccessKey,并且復制下ID和Key密碼
?
4,用電腦自帶的記事本這個功能創建一個文本文件把下面的代碼復制進去,并按上面說明更改#號部分內容,就四行,或者下載附件后再更改: https://pan.baidu.com/s/15WmpQgXgnOmevNPwzyi40g?pwd=fvmm 提取碼: fvmm 保存時后綴名記得改成SH
aliddnsipv6_ak="#" #換成你阿里去AccessKdy的ID aliddnsipv6_sk="#" #換成你阿里云AccessKey的密碼 aliddnsipv6_name1='#' #換成你的二級域名(隨便填,自已記住就行) aliddnsipv6_domain='#' #換成你在阿里云注冊的域名 aliddnsipv6_ttl="600"if [ "$aliddnsipv6_name1" = "@" ] thenaliddnsipv6_name=$aliddnsipv6_domain elsealiddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain finow=`date`die () {echo $1 }ipv6s=`ip addr show ovs_eth0 | grep "inet6.*global" | awk '{print $2}' | awk -F"/" '{print $1}'` || die "$ipv6"for ipv6 in $ipv6s do#ipv6 = $ipv6break doneecho $ipv6current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1` #echo $current_ipv6current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'` echo $current_ipv6if [ "$?" -eq "0" ] thencurrent_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`echo $current_ipv6if [ "$ipv6" = "$current_ipv6" ]thenecho "skipping"fi # fix when A record removed by manual dns is always update error elseunset aliddnsipv6_record_id fitimestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`urlencode() {# urlencode <string>out=""while read -n1 cdocase $c in[a-zA-Z0-9._-]) out="$out$c" ;;*) out="$out`printf '%%%02X' "'$c"`" ;;esacdoneecho -n $out }enc() {echo -n "$1" | urlencode }send_request() {local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64)curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")" }get_recordid() {grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"' }query_recordid() {send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA" }update_record() {send_request "UpdateDomainRecord" "RR=$aliddnsipv6_name1&RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddnsipv6_ttl&Timestamp=$timestamp&Type=AAAA&Value=$(enc $ipv6)" }add_record() {send_request "AddDomainRecord&DomainName=$aliddnsipv6_domain" "RR=$aliddnsipv6_name1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddnsipv6_ttl&Timestamp=$timestamp&Type=AAAA&Value=$(enc $ipv6)" }#add support */%2A and @/%40 recordif [ "$aliddnsipv6_record_id" = "" ] thenaliddnsipv6_record_id=`query_recordid | get_recordid`#echo '-----------------' $aliddnsipv6_record_id fi if [ "$aliddnsipv6_record_id" = "" ] thenaliddnsipv6_record_id=`add_record | get_recordid`echo "added record $aliddnsipv6_record_id" elseupdate_record $aliddnsipv6_record_idecho "updated record $aliddnsipv6_record_id" fi?5,把這個文件上傳到群暉的home目錄下(原則上是任何一個文件夾都行,最好不是中文文件夾內。如果上傳上去后文件類型是TXT的話只需要在這里重新命名后綴為sh它會自動改成SH文件。點屬性復制下這個文件在群暉里的路徑地址,待會會用到
6,打開群暉控制面板,任務計劃里新建任務,常規里任務名稱隨便寫,用戶帳戶選root,點已啟動
?
?7,計劃設為第天,運行頻率每10分鐘,如果上面顯示首次運行時間為00:00的話記得最后運行時間改成23:50
8,框內把剛才那個aliyuddns文件的路徑復制進去,然后點確定,再點一下運行
?
9,再進你的阿里云域名這頁點解析
?
10,看看解析記錄里有沒有一條解析記錄,這是剛才在創建任務計劃的時候自動生成的,如果有了,那么恭喜,可以通過你剛才設置的二級域名可以正常訪問了,記得后面加端口號,群暉默認5000,建議剛才編輯的aliyunddns文件里的二級域名設為www 因為后續創建密碼管理器需要用到的SSL證書會有要求,如果不打算裝密碼管理器那無所謂,如http://www.******:5000
?
假如到這一步,解析記錄里沒有,OK,簡單,回到剛才你上傳到群暉的那個ALIYUDDNS文件,右建用文本編輯器打開,把20行里的ovs_eth0改成eth0 再進入剛才的任務計劃那里選擇剛才創建的那個任務,點運行,這時候阿里云域名解析記錄里就有一條解析記錄了,從此,在世界的任何角落,愉快的訪問你的群暉吧
?
?
?
總結
以上是生活随笔為你收集整理的白群晖图文版阿里云域名解析IPV6远程访问方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学趣话,你知道常见的数学符号都是谁发明
- 下一篇: pandownload搜索引擎脚本