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

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

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

9

主题

70

回帖

324

积分

中级渣柚V1

积分
324
发表于 2020-4-26 02:47:48 | 显示全部楼层 |阅读模式
从4月1日来到矿渣后,就仿佛打开了新世界,经常折腾到深夜,然后第二天伴随着黑眼圈和唠叨出门...( _, D$ ?4 v4 I9 O& Y
明天,对了就是明天 又少不了一顿臭骂...
4 l( n$ n6 g+ @" S% R. G1 A% n( j! _5 I
+ e5 @' Q& ?( `5 s( Z# C百度搜到一大佬在张大妈上发布的aliddns教程,按照他的照抄结果脚本把内网ipv6地址传上去了,
( r6 i+ N- c: W# ^: w
1 o. y; k/ o# S  x& v4 b$ o$ _
& O8 Y# n- f! J# m仔细一看他的教程中 ipv6地址栏 第一行地址就是外网地址,而我的是内网地址,0 [& h* ^$ Y' L* a( p
瞎子过河改了第20行 print $2 不行,33行tail -n4也不行,
9 u; `7 a! a3 t, l) r菜鸟看不懂代码,也不知道去哪问,希望能有路过的大神能指点下
9 c( `2 p5 B4 E3 ]! V) `3 {# t' w
6 z: S$ V2 ]) b, _; B
4 o; }3 H1 k" _+ |+ ?
6 O9 k" D1 t) Q2 w4 z5 I
ds120j.png : i/ R3 s! B1 _6 e7 J& k9 f- g
0 O9 |1 j- ]: Z9 u
  1. aliddnsipv6_ak="aliddns_id"
    9 b! Q! M4 C0 ~9 x: j
  2. aliddnsipv6_sk="password_info"- ^  m# \4 {6 A+ J9 k2 B
  3. aliddnsipv6_name1='nas': x) b7 a% ^; I- a% n1 H
  4. aliddnsipv6_domain='mydomain.cn'
    # X; Q% @; y! N
  5. aliddnsipv6_ttl="600") k3 H- V5 l- K5 B( e1 e; T

  6. ) V% G2 P% x( f' V! J
  7. if [ "$aliddnsipv6_name1" = "@" ]
    ; f0 {' D* C; K/ T+ Q
  8. then
    , S( b( N# H& R  {; `0 D7 l
  9.   aliddnsipv6_name=$aliddnsipv6_domain
    " G3 B# o+ c" o8 M  _
  10. else
    # Z4 ~0 n, P1 h! D
  11.   aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain
    5 Z1 r2 S1 q; @
  12. fi! ?4 Z( ?8 j) V' ^* _8 q
  13. : d4 l; u5 F+ j3 x8 F
  14. now=`date`2 p2 h4 V. g* ^9 J8 ^% H

  15. ! Y& a# h2 @: Y) l& j
  16. die () {' x+ P# _( ~* a  T; T9 D3 P' Q3 ?
  17.     echo $1! n" F3 F; w, E* s
  18. }+ V6 @$ w$ i2 C0 G

  19. 8 g- e" W9 B' q  S
  20. ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk '{print $1}' | awk -F"/" '{print $1}'` || die "$ipv6"4 [* V) w9 @; N& D

  21. + J7 }# |9 H+ R. w( T) i3 [2 _
  22. for ipv6 in $ipv6s# E6 T( x/ D- m1 @0 G! a! }
  23. do
    2 Y# \! m1 x7 z- L9 |# J4 f- i" ?* t
  24.   #ipv6 = $ipv61 }- h+ H6 @; @" h
  25.   break
    $ z0 X' P5 k, x/ @
  26. done
    . \9 I* `# V+ @9 S  b* O

  27. , y% l# a9 d& Q. I
  28. echo $ipv6
    8 R% ]6 q" y. C, M0 u* m

  29. & [4 i. O& B( K1 g$ |5 I# L  \
  30. current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1`
    + o* Y; {0 j: t4 R
  31. #echo $current_ipv65 G1 U8 S7 x5 U! x/ X- x( ^
  32. ; \# g$ w; \7 F& E7 S$ H" f
  33. current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`
    ( `2 g+ h, H  Z/ ]& g* T
  34. echo $current_ipv6( G  E6 T! ]/ c7 N2 x( K5 G
  35. % Z. E) c4 X8 F- _7 O
  36. if [ "$?" -eq "0" ]
    $ r9 r) L$ V" e. P/ E
  37. then. W% w7 W% d$ r, Z
  38.     current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`5 {2 C; t3 ?1 U4 Z* q0 F+ x
  39.     echo $current_ipv6
    , m* o6 f- i' t, g5 d% C

  40. " @) T3 z' k! L  M/ E
  41.     if [ "$ipv6" = "$current_ipv6" ]
    # u% g1 J! F3 L7 C
  42.     then
    9 X+ H7 {/ @4 E4 i: H: j3 t3 X, U
  43.         echo "skipping"& b9 {- R8 R4 W! ~$ n
  44.     fi
    / Z+ u! J( G9 s# }  `
  45. # fix when A record removed by manual dns is always update error
    & A& p/ U2 N, K; `
  46. else' f. h4 P! ^4 t) A& k3 @: o
  47.     unset aliddnsipv6_record_id
    ! z2 X5 z% }& X+ y( M
  48. fi% H; X, q) i4 R/ Q

  49. ; _) k9 n2 _  |# W
  50. 4 A! X5 D+ w! _6 L5 E1 h- y6 b8 g; g
  51. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`$ W2 i- n9 F1 x- J0 `5 B

  52. $ q6 d6 G% z* ?4 O: \

  53. 0 r8 {; U$ z- o7 Q4 d5 x8 H
  54. urlencode() {
    : a* W8 q" {! u+ m, l9 E
  55.     # urlencode <string>1 ~0 H$ X. Z% y- Q
  56.     out=""( J' n2 k8 i) R' B
  57.     while read -n1 c6 R& Z7 j( l" Q- h
  58.     do
    4 f: U" H  B+ T- I) a7 A# c1 H; r
  59.         case $c in
    3 K  g( f: ]" u* t2 u& j! @; D6 ?
  60.             [a-zA-Z0-9._-]) out="$out$c" ;;
    7 B* G. e7 b: {( y
  61.             *) out="$out`printf '%%%02X' "'$c"`" ;;. \  N( n, w: j& L
  62.         esac' t' J2 L! `  t5 {9 S( g$ I
  63.     done" }" f6 Y/ ?! P, s+ r4 p7 \
  64.     echo -n $out: G' v8 l6 L! T9 V0 F3 `0 B
  65. }
    , A6 w/ Z& l: z* s# F

  66. 6 c9 X, [/ K: _; H6 \: [- U7 S
  67. enc() {* r/ ]% B! r6 J, s! z6 d
  68.     echo -n "$1" | urlencode
    0 l8 V8 f& z- L: Z/ |# e5 Y
  69. }. }) h0 }6 D) K0 f! D7 u  ]
  70. / f! X; }; ]+ n9 a- n% V8 k
  71. send_request() {' v) P6 w0 K# @' q0 A4 r7 g& k
  72.     local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"
    / g, ?4 i# H! \5 h7 H
  73.     local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64)
    0 [  t) D9 c. w: I$ f  l
  74.     curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"
    0 a: i! |" `9 y( H! d
  75. }
    & B6 }6 ]% Y1 n

  76. 5 U0 T" s7 b8 V
  77. get_recordid() {
    ( U9 k" v: R: y( @: _2 G
  78.     grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'; }  l( C5 G3 w$ o( b
  79. }# Q4 H4 e7 ?- s
  80. 4 p$ ?' i9 i  O8 x( @7 U3 p
  81. query_recordid() {# j8 l$ Y# o7 d
  82.     send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA"
    ; A1 i) j8 L" k: v( B
  83. }
    & S; j4 z! p* R7 U; _& m2 S7 t

  84. ; o5 f( g1 x4 X, J0 r$ c+ H3 U$ C
  85. update_record() {6 J: r0 W8 `4 u7 L& V
  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)"
    ! @+ r0 `  ?4 O3 X( M! Q
  87. }! `* ]1 b# J1 m7 n# s

  88. % \  O& l) R7 o! P/ L
  89. add_record() {
    / [# [# Z, m2 B" J# D
  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)". E' S8 i. s2 t6 b2 A
  91. }
    8 p( Y' N( T) W1 y" k+ p
  92. ; W3 j$ ~& T3 Z- b5 `# b  T! D9 S
  93. #add support */%2A and @/%40 record
    $ E0 ?; |6 V( T$ W' b
  94. : @' T5 n9 s* e' V
  95. $ Q( z& ^2 P; L
  96. if [ "$aliddnsipv6_record_id" = "" ]4 p4 V7 Z" N; o- t9 b6 h
  97. then
    0 G3 g8 I- t2 {% m  z
  98.     aliddnsipv6_record_id=`query_recordid | get_recordid`
    * }4 H+ [3 y2 Y# T5 C
  99.     #echo '-----------------' $aliddnsipv6_record_id  Y$ @% d; R7 ~' N, ^- W
  100. fi
    + }9 ^+ P; a& L* {& `  u7 r
  101. if [ "$aliddnsipv6_record_id" = "" ]
    3 M$ W, B) v. {6 ]& Z
  102. then: o0 D* t' [9 |7 B, }. I+ H
  103.     aliddnsipv6_record_id=`add_record | get_recordid`
    * O/ c7 g1 z9 e' h
  104.     echo "added record $aliddnsipv6_record_id"
    ; q5 i3 l( k, L) Z4 ^& Q
  105. else" s$ e1 X: B" c6 M
  106.     update_record $aliddnsipv6_record_id
    ) {. J* s$ H$ r- u# O
  107.     echo "updated record $aliddnsipv6_record_id"
    2 ^8 i/ V0 O/ @1 L- q# S
  108. fi5 X; L7 P5 @1 u# W' i5 a( e

  109. 8 }& B( w% s" A
复制代码
/ G6 l5 H1 t/ l6 [& N5 M/ }5 X

/ X+ a9 \# s  I/ @- n6 K  w. q6 I7 [  e4 k- F; u

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,7 ~* s  M. {$ T" L: [! ?, K. n% A9 X
修改一下配置文件就可以上传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:04$ e" \' m: j/ t. a' ^# b
可能是你路由器设置问题,或者群晖网络手动可以固定ipv6试试
, K  Q' C* B9 n8 Y# o; k
的确是路由器问题,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-13 01:27 , Processed in 0.132812 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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