电影中心 精品软件 联系我们

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
查看: 1323|回复: 0

简单五步设置群晖NAS绑定自有域名实现外网访问

[复制链接]
  • TA的每日心情
    开心
    2013-11-21 01:25
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-9-17 20:24:15 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    1.注册阿里云账号。
    ; i9 F+ O- {( i! ]# D# O/ v2.注册一个域名。
    6 F/ X6 f8 P7 s- f5 A  w1 W% M( q, Y6 G' N( {* J
    如果域名不在阿里云解析托管,需要先转过去,具体方法是联系域名提供商修改域名的DNS服务器,修改方式参考这里:https://help.aliyun.com/knowledge_detail/39844.html( N1 e: `* x9 Y- k  Z! Q$ ~
    然后去控制台找到云解析,将域名添加进去;2 l1 ^; a5 P/ |6 V& d  C
    7 q$ e! b2 Q+ J3 ?
    ! q7 {. N; ?* w( x( `3 s7 f. ]/ M
    3.到阿里云控制中心找到access key和secret并保存下来(强烈建议遵循阿里云安全最佳实践的说明 ,使用RAM子用户的AccessKey);
    6 A1 J* t! }2 }& \/ ~' Q2 B
    9 `% s' E5 F/ T7 F4 r4 ^8 u1 p8 e- g1 Q
    4.到群晖控制中心找到任务计划新增一个计划。
    : H4 b& O* o+ _" M- }新增->计划的任务->用户自定义脚本
    " O5 h+ i7 ]: N' `& |! E3 z7 A 20190117191716771.jpg 4 a: N- w9 J# w4 U' S1 r, P# H9 @/ Q
    3 H: @* W8 O9 G7 M/ |9 t  a& G
    设置10分钟定时
    # j: u3 O# k, k) U  q
    7 o) {  E! V8 q( {6 _/ F& F4 _ 20190117191614507.jpg * `6 a( h! W2 U9 ]) b8 f& g

    ! h  n% K! K$ T. p; J4 \复制以下内容,根据自己的情况修改中文部分并添加到任务设置自定义脚本' K9 x) j/ u3 y0 m! ]+ C6 y

    * j1 j& O* D. o" Y9 o# D4 T
    1. #!/bin/sh) A$ D  o! R' v, a# z
    2. aliddns_name="你的域名前缀"# V8 j7 E4 }4 r
    3. aliddns_domain="你的域名"" X! N9 e# S% V+ k
    4. aliddns_ak="你的AccessKeyId"* Q% O% n+ r! `* {2 L
    5. aliddns_sk="你的AccessKeySecret") B- V7 u# A3 `7 k/ P' A* L
    6. $ O* T8 L& [/ Y' R. P2 s  E' g
    7. aliddns_curl="curl -s whatismyip.akamai.com"8 }1 T" v- y0 B/ J# b
    8. aliddns_dns="8.8.8.8"
      8 H/ I1 ~% q, U8 p
    9. aliddns_ttl="600". B& P" j0 U* F) s: d8 U

    10. 4 \& u3 I+ Q0 F9 ~
    11. ip=`$aliddns_curl 2>&1`* @: X6 h; x0 [3 \# y" S  s% _- k
    12. . l, ]  q0 M+ P
    13. current_ip=`nslookup $aliddns_name.$aliddns_domain $aliddns_dns 2>&1`( Q) ^" W7 W' ]( V

    14. , D" s! D& Q+ h/ P- s+ M8 o& b* u) r; L
    15. if [ "$?" -eq "0" ]9 Z( I! p- ?9 l8 |" B, y
    16. then
      % u8 S9 m& r8 j
    17.     current_ip=`echo "$current_ip" | grep 'Address 1' | tail -n1 | awk '{print $NF}'`
      $ H% I" P1 n) ~' r) d+ _& }$ h
    18.     if [ "$ip" = "$current_ip" ]$ Q2 Q) V" K: }: H6 M+ w
    19.     then( c* `( d+ ]; M+ M4 @- N
    20.         exit 0
      * F, m( @: D5 L$ ]& l3 a2 P
    21.     fi ' y( Y3 `% T( S9 ~) J
    22. fi3 e4 J' {$ m9 G4 I( e* d* P

    23. : y, S! W1 O. d0 `1 b6 A
    24. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`6 _0 l- y" j0 c/ }% [( z, Q

    25. , A% g( j, I' j2 @1 Q: Q
    26. urlencode() {
      0 V% L, ^# V* m4 T
    27.     # urlencode <string>! c% Q, `) _5 j* K6 p1 k
    28.     out=""1 g4 B# c- |) a6 ^1 _$ C! N1 T2 c
    29.     while read -n1 c
      $ `, U) ^: @4 H; F0 e6 Z
    30.     do
      ) r( x& Z* d! n. a0 S/ \
    31.         case $c in( f  M& Y  ^7 b
    32.             [a-zA-Z0-9._-]) out="$out$c" ;;7 J5 Y# \3 n2 v9 `4 K4 ^
    33.             *) out="$out`printf '%%%02X' "'$c"`" ;;
      0 p. J5 n1 L1 S8 E6 g
    34.         esac
      / d' F5 e0 L! {" }8 b
    35.     done
      4 _3 [& y& N9 R% C' `
    36.     echo -n $out
      ; J$ A  I( s7 h) ^: R1 Q
    37. }) n# w# N7 l% t" D6 A3 j8 N
    38. enc() {
      ' w% h9 s% b" W6 R( l
    39.     echo -n "$1" | urlencode
      3 m" z& Y' Z% ^: K" b3 g* l* a
    40. }9 s) G. X( {' X+ h& |% P4 k/ l5 {
    41. send_request() {
      0 r5 X  W  n7 P$ O3 E
    42.     local args="AccessKeyId=$aliddns_ak&Action=$1&Format=json&$2&Version=2015-01-09"! s7 q( ]7 K# ]4 k0 S5 k
    43.     local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddns_sk&" -binary | openssl base64)+ G9 Y4 D. c, b+ M9 D8 O
    44.     curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"  L. v7 d8 q; S2 S( R
    45. }
      $ {0 Y9 H- r8 ^4 [7 N  t
    46. get_recordid() {
      ! |) c  c# V/ w# J
    47.     grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'0 z* @( t  z' a9 n
    48. }
      + C( d9 U! s0 P4 b
    49. query_recordid() {
      9 G' n, a9 E# y
    50.     send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddns_name.$aliddns_domain&Timestamp=$timestamp"1 }& D9 a& h% [
    51. }# u7 K8 E' {$ J9 U, g7 k
    52. update_record() {% ]2 d  j$ h2 m7 L
    53.     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"
      7 Z+ l6 v% C9 U# O3 c9 Y8 C3 K5 i
    54. }
      6 E9 u) q4 J# q( H
    55. add_record() {
      , A& G5 w! o/ E8 a9 s) M
    56.     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"2 g: r; \8 x' A3 A. O0 r
    57. }
      & j0 s6 J6 W8 S$ W
    58. if [ "$aliddns_record_id" = "" ]& f3 W- H$ L( k6 u/ h+ F
    59. then3 o0 i1 z4 k* e5 f$ g: q
    60.     aliddns_record_id=`query_recordid | get_recordid`
      $ G$ Y2 T, t' I8 F' x* R' y
    61. fi$ g5 r# u6 W+ C6 C  g* z# }
    62. if [ "$aliddns_record_id" = "" ]
      ( e: W, ~) f/ I
    63. then
      ( M+ p5 s3 R0 o
    64.     aliddns_record_id=`add_record | get_recordid`" l5 O! Z  Z: A
    65.     echo "added record $aliddns_record_id"5 b! g8 D- `# O. C( o/ R
    66. else9 [3 i% A$ ]6 e5 Y
    67.     update_record $aliddns_record_id
      & |+ S1 ^! u0 s0 a4 A  I
    68.     echo "updated record $aliddns_record_id"% n* R! U/ d5 @0 r0 ~1 @# C
    69. fi
    复制代码
    & V5 G2 ~6 ~5 g( }; ^) o6 o3 W
    20190117191932194.jpg
    - C  f3 J) u  j9 d8 ^

    , x8 L0 T6 u4 g7 Z+ u5.设置好端口转发。
    3 I( M% ^- b$ C- X5 v

    * o0 q$ [$ Y% ^如何设置群晖端口转发请自行百度。4 k5 k3 k: m  W5 Y2 W

      w2 o( g6 [$ N6 d( L$ x" e5 D0 j0 Y; ]6 }8 n" g
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|手机版|Archiver|帮助|古城IT技术联盟 ( 鲁ICP备06030014号 )

    GMT+8, 2025-6-2 06:17 , Processed in 0.066927 second(s), 10 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表