找回密码
 立即注册
查看: 1694|回复: 7

[求助] 猫盘群晖ipv6提交为内网地址,请教代码如何改成第二个IPV6...

[复制链接]
4 渣金 回复本帖可获得 1 渣金奖励! 每人限 1 次

9

主题

70

回帖

324

积分

中级渣柚V1

积分
324
发表于 2020-4-26 02:47:48 | 显示全部楼层 |阅读模式
从4月1日来到矿渣后,就仿佛打开了新世界,经常折腾到深夜,然后第二天伴随着黑眼圈和唠叨出门...
9 Q- a4 @8 n' D0 y6 a  F8 P* J6 o% d明天,对了就是明天 又少不了一顿臭骂...( r! x) n) z& a9 `
" g* @6 t# n. u( |% Z
百度搜到一大佬在张大妈上发布的aliddns教程,按照他的照抄结果脚本把内网ipv6地址传上去了,# ]5 @1 [  f. v1 m# j
& b, s" q: f$ ?2 {3 B8 I

7 M  m! N6 c2 E6 \6 g仔细一看他的教程中 ipv6地址栏 第一行地址就是外网地址,而我的是内网地址,
6 N+ s+ f  r# S8 s瞎子过河改了第20行 print $2 不行,33行tail -n4也不行,
, L% T" D% P- W7 \% [0 X( D菜鸟看不懂代码,也不知道去哪问,希望能有路过的大神能指点下
/ I  S6 b$ [# A$ V4 u3 ?0 \% h

* H9 f8 F$ \) q6 Q$ [" t" \, J" K* N5 L/ M7 p0 b, P; w& m
1 w% K( S; j" p2 g% n/ k
ds120j.png
( s$ h' H( ^# y/ V2 Q3 E. y0 s, k* P9 ^7 D
  1. aliddnsipv6_ak="aliddns_id"8 X5 x0 C. w3 a' w1 ]7 q
  2. aliddnsipv6_sk="password_info"0 p4 k9 i, K. W- V/ O3 c
  3. aliddnsipv6_name1='nas'  D8 n  q4 c" a' G6 k( s
  4. aliddnsipv6_domain='mydomain.cn'
    . u! |3 P' _& \0 U3 z
  5. aliddnsipv6_ttl="600"2 I1 f4 K7 W: h, h7 V3 r

  6. ' g. h% f8 J" I; V
  7. if [ "$aliddnsipv6_name1" = "@" ]( y, ~% P4 Y. a7 E+ X1 b# s
  8. then  g5 ^: {6 b) ~' q* n. m
  9.   aliddnsipv6_name=$aliddnsipv6_domain
    " d. Z: W6 K( d" ]) P6 s. d
  10. else+ M7 e* @. `* ?$ a' E( l
  11.   aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain  n1 \5 P1 @& n$ q- F, l1 Q! B
  12. fi; [2 S( L0 o5 u5 f3 W% p" y

  13. 8 b  T( Y: d1 ~+ u2 n  J1 [! \
  14. now=`date`, v2 ~5 `# E7 a
  15. 7 j  g$ ~1 m: G- N, E
  16. die () {
    4 {. ^( R  m3 B
  17.     echo $1
    : e/ b2 s7 g8 G4 V; i
  18. }
    3 t) u9 i. Z2 e  |& E  T0 f) E
  19.   Z  V6 U9 W' t8 n, z5 x
  20. ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk '{print $1}' | awk -F"/" '{print $1}'` || die "$ipv6"% d$ i. A: \+ ?+ x1 `

  21. / I# N/ u* l( p' t4 W2 p# W
  22. for ipv6 in $ipv6s
    2 ^; ^/ H1 t9 D4 g# Z* X
  23. do
    ; `% H- j8 n7 s' U: ^5 r$ C$ Z) {
  24.   #ipv6 = $ipv6) ^9 Q# x. o5 i% @- E
  25.   break
    & b1 f4 u. [0 F& G) ?7 W
  26. done
    7 ?* `3 w0 X( Q

  27. - }5 x! S% I: q8 n7 Q
  28. echo $ipv6
    8 E# h" j, u/ @' b7 f
  29. 5 d2 c$ r2 O# n+ ^" x' h8 L
  30. current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1`. V) y1 u. j" p9 }7 ~8 Y0 S. @
  31. #echo $current_ipv65 U$ Y0 P3 e! Z6 Y/ C: Z6 H
  32. 7 u6 R' u! V0 _6 x9 {( _
  33. current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`
    : C  l3 B- A' B( f
  34. echo $current_ipv6# G* I. Y% B1 d9 o2 K# U+ v
  35. 3 J  U8 ^2 _" `+ G( h) s$ r# V
  36. if [ "$?" -eq "0" ]
    3 v/ I: S+ w% f1 ~% A0 T7 q
  37. then
    0 _* T, d- O! @: l6 k/ b
  38.     current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`
    , a2 V4 N* w/ q* I+ J2 q# b% n
  39.     echo $current_ipv60 D0 ~0 Q% a9 ^. J  q1 ~7 d

  40. * u4 m- }8 r/ V2 {4 L. B
  41.     if [ "$ipv6" = "$current_ipv6" ]
    + Q+ |! |0 C  z
  42.     then' J; T8 |6 b; M% V' b. f
  43.         echo "skipping"& ?2 a# R, r) M* B$ T, i
  44.     fi " I1 |! b) J$ Y" e3 V( _& N: V
  45. # fix when A record removed by manual dns is always update error4 J% f; g4 d/ _" b
  46. else6 H# [# B8 I4 Y: {6 L
  47.     unset aliddnsipv6_record_id0 N  G, Z7 h% D+ R
  48. fi0 ]( H$ |  I* ]/ E1 r. k
  49. 6 H4 o# A2 Y# Z* Y3 B  q; l

  50. 9 n- |' J% ^9 c5 f1 W
  51. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`+ {; ?+ H" p, U) w
  52. / R6 `4 E+ ^  v! q$ q

  53. 9 H4 R* V) M* n. a! E
  54. urlencode() {4 S# ]: P% [7 x: e  n2 A
  55.     # urlencode <string>! K+ i. M6 p: a
  56.     out=""
    ! C) u) F; y) S1 D+ x
  57.     while read -n1 c% {" k$ j3 \1 h
  58.     do1 g# V6 _, w. P% X. ~
  59.         case $c in
    # @( E* r! I& C; b7 k
  60.             [a-zA-Z0-9._-]) out="$out$c" ;;1 u8 l7 v8 ?* c9 ~% j/ w+ \- w
  61.             *) out="$out`printf '%%%02X' "'$c"`" ;;" D) {2 J7 h4 K" p# r
  62.         esac
    # g( X; v! d/ y2 t4 c
  63.     done
    ' K/ \) Q7 Z4 E4 B" j
  64.     echo -n $out
    + e( h" L1 V5 s4 Q
  65. }  ~3 Q& C1 _8 @" {" I+ Q
  66. 6 q$ s9 u3 Y# k: M( i1 E: N
  67. enc() {/ r% p  j3 N% V) y, n( b. y
  68.     echo -n "$1" | urlencode6 J* C6 l" Q2 V; Y
  69. }+ v2 Q, i  M& j- Z7 G* ^0 t, v& ~
  70. 5 s8 R5 @4 X8 T
  71. send_request() {; v9 H5 [* o% @/ g- U2 V% x. J
  72.     local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"
    # F3 k% w2 L% ~, }
  73.     local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64)
    5 I0 k+ G9 Z0 P
  74.     curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"
    & p( C' n- W" Y& F5 n
  75. }# E( }6 i8 H' h2 n

  76. ) q% e, D( W: M- L6 Q( f
  77. get_recordid() {/ D+ i6 ^. N3 s5 m7 e
  78.     grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'5 ^3 s, J: D% o
  79. }
    5 ~( x, E+ J. i1 c9 s* e. N
  80. 1 }1 u6 `/ }) k# S! j6 D9 V( h. c& y
  81. query_recordid() {
    4 I3 v/ a+ j. m" M4 ~
  82.     send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA"
    , H2 |! E7 a1 Y( R- m, L
  83. }
    . y+ x9 `- h6 Z/ G6 v6 W6 B
  84. + b2 p- O$ O4 L3 H/ |; l
  85. update_record() {
    % Q- C2 L. Q" k+ e
  86.     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)"3 K: Q% b" E9 m  {1 Y1 n
  87. }7 Z8 P7 S% B% i3 M( K
  88. / d' o( I) o$ Q$ u# Z8 ]
  89. add_record() {
      R$ c5 I+ A' `
  90.     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)"
    / k( L' D* E. d0 Y* p
  91. }
    + C' s& ]) c$ D6 \( e

  92. $ i$ x$ c3 `; K. X. f% @5 Z
  93. #add support */%2A and @/%40 record/ l  V! a. ]( C; K; |
  94. & V# L+ R* P; n4 O

  95. 6 ~; h/ H. d3 v+ B4 C
  96. if [ "$aliddnsipv6_record_id" = "" ]
    + m! |( N6 A$ ]% p- X2 c  f) ?& H
  97. then1 H5 a% T* T" s. N- l8 h; V
  98.     aliddnsipv6_record_id=`query_recordid | get_recordid`
    ! V( L  `; k  e0 k. N, w( ?% }
  99.     #echo '-----------------' $aliddnsipv6_record_id
    9 ], k; ^7 `9 M  X
  100. fi  Z  p3 l4 k. E# a
  101. if [ "$aliddnsipv6_record_id" = "" ]
    ; I2 e" b8 w# X* A. u- c- m
  102. then/ e" v* f2 a1 Q5 c' y( z& f
  103.     aliddnsipv6_record_id=`add_record | get_recordid`
    , j5 A. \4 n: b9 x
  104.     echo "added record $aliddnsipv6_record_id"
    9 a  [9 m  o9 R! |, N8 B( v$ {
  105. else
    0 N. l$ e2 Q1 P( c' V4 r
  106.     update_record $aliddnsipv6_record_id$ d% b" N8 v1 Y
  107.     echo "updated record $aliddnsipv6_record_id"( s9 T; p% e" l+ a2 L6 s- ^
  108. fi+ ~% c; N; ~" u9 W4 {4 I! y: T# b
  109. " v: m# d( ?6 e/ f; _- j& q# D, ?
复制代码

7 `6 T( `: r# B" x: a9 t1 i' p* z: Z% [) b! G
1 ]8 I6 k$ W: f1 O* F! j" F6 \

5

主题

61

回帖

156

积分

初级渣柚V2

积分
156
发表于 2020-4-26 09:45:38 | 显示全部楼层

回帖奖励 +1 渣金

大神赶紧来研究, 可惜我安装的高恪, 应该不支持ipv6

4

主题

82

回帖

420

积分

中级渣柚V1

积分
420
发表于 2020-4-26 10:19:36 | 显示全部楼层

回帖奖励 +1 渣金

GitHub上有python的的ddns 脚本,https://github.com/NewFuture/DDNS,
5 ~% t! H$ Y1 L* I. d* o修改一下配置文件就可以上传ipv6地址了

4

主题

50

回帖

256

积分

中级渣柚V1

积分
256
发表于 2020-4-27 14:19:36 | 显示全部楼层

回帖奖励 +1 渣金

路过,不懂

0

主题

19

回帖

42

积分

初级渣柚V1

积分
42
发表于 2020-4-27 16:34:28 | 显示全部楼层

回帖奖励 +1 渣金

可能是你路由器设置问题,或者群晖网络手动可以固定ipv6试试

1

主题

5

回帖

55

积分

初级渣柚V2

积分
55
发表于 2020-5-10 00:16:43 | 显示全部楼层

回帖奖励 +1 渣金

吃金   谢谢楼主   祝楼主早日解决问题

2

主题

41

回帖

179

积分

初级渣柚V2

积分
179
QQ
发表于 2020-5-11 13:45:56 | 显示全部楼层

回帖奖励 +1 渣金

我的路由不支持ipv6,得到的只是fe80开头的

9

主题

70

回帖

324

积分

中级渣柚V1

积分
324
 楼主| 发表于 2020-6-9 16:38:43 | 显示全部楼层
wangyefengol 发表于 2020-4-27 01:041 s7 K3 R5 q# O9 q, {
可能是你路由器设置问题,或者群晖网络手动可以固定ipv6试试
+ P/ U4 ~: d: Y9 m: L5 L
的确是路由器问题,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|矿渣社区 ( 黔ICP备2024020525号-1 )

GMT+8, 2025-8-8 19:44 , Processed in 0.072046 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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