- UID
- 1
- 阅读权限
- 255
- 注册时间
- 2006-7-24
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
1.注册阿里云账号。) r' j0 p9 D% A* d
2.注册一个域名。
( h) j* z n+ @; [! k/ {. b/ ~2 v, v9 ?$ m1 [
如果域名不在阿里云解析托管,需要先转过去,具体方法是联系域名提供商修改域名的DNS服务器,修改方式参考这里:https://help.aliyun.com/knowledge_detail/39844.html
) r( r# Y- g1 V1 F4 n [然后去控制台找到云解析,将域名添加进去;
3 e: }% S0 N+ E0 n- W0 F0 |+ F* y$ p1 A3 K% @( c) i
! M; ~9 f5 N( `
3.到阿里云控制中心找到access key和secret并保存下来(强烈建议遵循阿里云安全最佳实践的说明 ,使用RAM子用户的AccessKey);
\1 X3 U1 B7 E- o+ }, U
/ X0 p0 T: a/ t4 E& D- Q4 H
" O% N6 n0 @: w8 N4.到群晖控制中心找到任务计划新增一个计划。
% f) D3 @% z( f, ? T新增->计划的任务->用户自定义脚本
! ~1 k/ |, w! `4 G, ^# Q
5 y$ Z) O+ d, e. \7 a
8 O* @6 y. k: }# Z* h/ H+ v$ O4 ?设置10分钟定时8 B8 j B. y# ~- ]; Z& d! R/ F
! U+ t# Q" n) o5 a6 x
% b8 e6 b8 W2 a# a5 v& {1 K" M2 P6 s' O5 B7 Q! }( k
复制以下内容,根据自己的情况修改中文部分并添加到任务设置自定义脚本
( x7 I0 j. S" c* d. `' r+ W- p( N9 ?- F# v* f- m$ u7 f
- #!/bin/sh/ W1 z; s6 V& r
- aliddns_name="你的域名前缀"# l! h+ A( V" j4 M1 m
- aliddns_domain="你的域名"
9 n P$ Q8 I, h - aliddns_ak="你的AccessKeyId"
. R/ u0 H F) L1 V - aliddns_sk="你的AccessKeySecret"2 D" Y. w; ~8 d- ?
- 8 h+ Q: g( k+ b5 u" F, V' V
- aliddns_curl="curl -s whatismyip.akamai.com"8 s: e& L f4 y% e; g e/ M# E& C0 Q
- aliddns_dns="8.8.8.8"( A c; L5 Q! j0 b
- aliddns_ttl="600"
: W* x- M2 t0 z3 b1 t# ^ -
4 G7 y/ R1 P/ c7 Q, ] - ip=`$aliddns_curl 2>&1`
0 ~- I7 J! ^/ U8 M: f - ' ]+ M1 W2 c: b; N( y, t
- current_ip=`nslookup $aliddns_name.$aliddns_domain $aliddns_dns 2>&1`9 |1 M3 x- P% d* T0 r
- 3 P2 U& y/ F; L7 \) e1 `
- if [ "$?" -eq "0" ]- P+ ?5 S% q1 n) ?
- then
' G' m2 Q( c% p: I9 f2 ? - current_ip=`echo "$current_ip" | grep 'Address 1' | tail -n1 | awk '{print $NF}'`
, j9 l8 K' }; C - if [ "$ip" = "$current_ip" ]
8 q2 G0 A: }' o( ]0 j" [. f6 c; g - then% L& V- F( x. H; t o9 W+ B
- exit 06 T# R0 J" l9 A( _$ W/ f) N1 Z
- fi
- L( |& r: `2 |7 K* Q4 b - fi9 A' Y/ ~8 G7 \; {7 X# Z
- . ] Q A5 Z3 Y- z0 b
- timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`
9 M! R9 `" {8 ^7 ^5 ?# G6 A+ L$ s( P -
+ V# e: ^' g1 p - urlencode() {& P) d0 R! y% Q$ i/ a7 ?7 F6 d6 l
- # urlencode <string>
2 b. S) D/ j+ v' Z P' W& W - out=""
# A. q& @' |8 T8 U - while read -n1 c
( D8 d" S( E' q# Z% Z1 p - do2 h+ g4 `, _: [7 t4 L) C
- case $c in
2 S) L' o5 k: X9 ^: M3 I5 f - [a-zA-Z0-9._-]) out="$out$c" ;;
$ e2 k' X- q0 c - *) out="$out`printf '%%%02X' "'$c"`" ;;% A0 p/ b1 M) s' D. `7 R' D
- esac
+ g& d+ w' {: f4 E( U - done
/ j/ u% |9 J6 m# F9 p, a% I - echo -n $out$ m; O6 P" u5 c& W x5 l0 }, S3 W
- }
5 t. S) M5 L/ B A - enc() {& G( s% N. W& _( e4 t
- echo -n "$1" | urlencode) ^: G# f# E4 d5 G C( R
- }
/ M; c4 G" Q( e& \7 ~3 u" J - send_request() {$ |: @/ E' f9 ]! a7 u5 ^1 z
- local args="AccessKeyId=$aliddns_ak&Action=$1&Format=json&$2&Version=2015-01-09"9 k5 g/ {/ Q, b. ^% H) F Y: C8 C
- local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddns_sk&" -binary | openssl base64)
( N4 A a- l9 D/ T3 o3 _7 U) N, C - curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"7 {3 s' x0 q7 A g* {( n
- }* e2 I5 o' V* C5 q) g; ]2 C& `
- get_recordid() {0 @5 `$ c- ^* D& Z
- grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'
2 _ L9 [" i" `) N - }1 R2 K4 h, F h2 B1 C5 D0 G
- query_recordid() {9 J; `) ]/ g# V2 i1 [; f$ Z
- send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddns_name.$aliddns_domain&Timestamp=$timestamp") N& ~+ `) i1 K" S2 X6 Z T5 D
- }( n* H3 S$ t& o- L% q/ s$ c
- update_record() {& [! h5 p/ m8 z/ Y8 B- b
- send_request "UpdateDomainRecord" "RR=$aliddns_name&RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip"
9 D8 k2 K. d, T- |6 V3 J8 }) W - }
7 ?9 M* u) h9 S5 s1 r2 C, j1 L - add_record() {
! q; E" _: A4 g' E - send_request "AddDomainRecord&DomainName=$aliddns_domain" "RR=$aliddns_name&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip"
" B& E; A( i3 s - }/ ?, @+ F7 W3 |' Z
- if [ "$aliddns_record_id" = "" ]& N; {) W- T. N e
- then# c' Y# b! a& U
- aliddns_record_id=`query_recordid | get_recordid`
& n4 O, V6 _! I ]1 S- u - fi+ H5 q- e6 [' a7 B* K
- if [ "$aliddns_record_id" = "" ]/ k$ _/ j: T: s8 @. P& v7 D
- then) |# M. L o$ _ j
- aliddns_record_id=`add_record | get_recordid`! q4 P% _+ v4 t m" W% J
- echo "added record $aliddns_record_id"
+ V3 }1 ~0 B- C& A3 d - else# J: A! f( O$ k' }
- update_record $aliddns_record_id
7 K" d3 d, F4 v/ \: v. [% H& _ - echo "updated record $aliddns_record_id"; x6 A$ ?" g: W$ E
- fi
复制代码
6 C: K* Y5 F3 ?" ^) }& n6 ^3 l
$ g5 u! S5 g8 S0 Y- A/ q! F! d Y' w. b2 R' j6 I- V/ x
5.设置好端口转发。
9 Y$ f" G6 F2 y) R2 |5 [% z1 c" m/ [2 j6 o/ R
如何设置群晖端口转发请自行百度。
- w# ] `: _# i0 C; w$ O! u
- `0 C7 T; L7 k# w% b4 G. {6 h _# Y1 y
|
|