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

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

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

9

主题

70

回帖

324

积分

中级渣柚V1

积分
324
发表于 2020-4-26 02:47:48 | 显示全部楼层 |阅读模式
从4月1日来到矿渣后,就仿佛打开了新世界,经常折腾到深夜,然后第二天伴随着黑眼圈和唠叨出门...
! S' S. w' S7 n* r3 J& U明天,对了就是明天 又少不了一顿臭骂...: s2 n" d" x% P, l  v! @

1 Z$ k6 ?5 B/ P百度搜到一大佬在张大妈上发布的aliddns教程,按照他的照抄结果脚本把内网ipv6地址传上去了,
; P2 y/ o3 H) U. l0 q1 I' Q" z! X* j* {0 y' G, |2 R: Z
  r% q4 W0 R; Y8 ?9 p# v
仔细一看他的教程中 ipv6地址栏 第一行地址就是外网地址,而我的是内网地址,
# _5 K3 m" B$ E4 }瞎子过河改了第20行 print $2 不行,33行tail -n4也不行,6 R3 S0 d/ w& W% y; n
菜鸟看不懂代码,也不知道去哪问,希望能有路过的大神能指点下
; @: ^+ r6 [/ W! @& ^2 }% D

/ K. p) N% b- `0 S3 x2 y, e$ T% }- d* K, }: S
8 m0 D: K; A1 Y, K/ A, c
ds120j.png
  o7 |2 j+ A6 P* d' L" Z" D7 D* z; m) [
  1. aliddnsipv6_ak="aliddns_id"* K# G$ o5 G1 ?  C
  2. aliddnsipv6_sk="password_info"- P% n8 U, a/ t  [+ A6 Y
  3. aliddnsipv6_name1='nas'
    : u$ ]! M3 p3 a7 W& z# I
  4. aliddnsipv6_domain='mydomain.cn'3 i7 G7 M$ m7 R& C
  5. aliddnsipv6_ttl="600"( ^: I7 S- ]' B9 _. z
  6. * W8 |+ S% p& R0 @9 i' n
  7. if [ "$aliddnsipv6_name1" = "@" ]
    " ]7 \( k6 I% W( z& v* K
  8. then
    2 h1 ]# r$ H3 A' p& [* [
  9.   aliddnsipv6_name=$aliddnsipv6_domain- J) c0 A& m2 p; L" B  F1 j
  10. else
    , i% v4 \; \; w7 ?) B' B. B! A4 M
  11.   aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain
    ) w; ~! J) |  ~7 U6 T  C: s( W
  12. fi
    ) J4 |% _8 ~& \7 h+ t; e

  13. / L1 O! h4 e- t, `. J) l
  14. now=`date`) o( R2 `0 v. p; X. L7 G
  15. / @( v5 v0 ]" }9 c
  16. die () {5 X. |5 C; b7 _+ Y
  17.     echo $1
    ) {9 {) L9 {& A
  18. }
    7 t; s9 x3 O6 @) j! g  y5 D! g6 d" e

  19. , C2 M' {' i# W
  20. ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk '{print $1}' | awk -F"/" '{print $1}'` || die "$ipv6"" K9 _0 w, U, Y8 |
  21. $ b0 [2 Q+ p0 o5 s" w  |8 z2 y; R
  22. for ipv6 in $ipv6s
      x( z! q% ~- {
  23. do
    # u' n$ d+ Y! B$ N0 s7 `) |
  24.   #ipv6 = $ipv6
    ' x+ u8 c: Q% {+ E
  25.   break) M  f9 n. F, S; a
  26. done! r5 l* d) Q: A$ e9 @) p

  27. 2 [/ W8 D" D# z2 b
  28. echo $ipv63 `6 k9 z8 {- _( Q/ t$ Z$ t

  29. % b$ o0 j. v/ ^  z
  30. current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1`: \7 E8 F2 C+ l0 q" Z6 `3 g5 c, `
  31. #echo $current_ipv6
    + h3 `3 `# J+ w
  32. , s) b- v& U8 g$ J: ~  V( n
  33. current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`+ R# n; s6 v4 }& {0 D
  34. echo $current_ipv6
    * @" d  e9 Z3 a8 V3 m

  35. 4 X$ h" ~; j) L* [- x% x
  36. if [ "$?" -eq "0" ]$ }, O% P" R+ T, ^% L% ?
  37. then
    ( {) v; V* D; b2 u
  38.     current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`  E- S- p* B  }6 `- b
  39.     echo $current_ipv66 g" H+ K7 f' G6 J# p& h
  40. , P) l% R7 A& l3 e3 m
  41.     if [ "$ipv6" = "$current_ipv6" ]
    $ G( v. s/ g# E+ o/ O' \
  42.     then
    - W3 m% ~6 @* [& c5 T! i
  43.         echo "skipping"
    % U1 F- y* z6 i# y0 V0 l! z
  44.     fi ; \* b/ L0 V. O- k; l9 y4 b+ w
  45. # fix when A record removed by manual dns is always update error
    3 i5 W1 S+ k1 t* ^$ F6 H8 w
  46. else/ t/ y* H# u2 m* ]% F7 Z
  47.     unset aliddnsipv6_record_id# u3 Z+ F. ~8 ]) |4 p' `
  48. fi
    5 n  {* p5 Z. }7 s$ Q

  49. 5 a5 {& D5 R) y" n- X
  50. ' v5 p* O6 O) Y2 }$ W" ~& U
  51. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`
    ) p5 z8 h7 s2 ^2 i9 F, ?% c0 G1 ^

  52. * q1 y8 J" w* x: T/ b& z3 {
  53. ( t; o% ~) W  v1 K
  54. urlencode() {9 N  a8 L+ G7 w3 |" R$ z
  55.     # urlencode <string>* r  j- \# E; m7 c2 V9 b, o
  56.     out=""( Q5 R# L1 }! Z; R
  57.     while read -n1 c2 \" A, C1 Q; `: g4 j, s& H  C
  58.     do
    0 r/ T& }. G6 h* ^
  59.         case $c in
    % ?5 e" Y! Z* V0 e2 |5 ^
  60.             [a-zA-Z0-9._-]) out="$out$c" ;;$ v: \0 g8 I9 V: x
  61.             *) out="$out`printf '%%%02X' "'$c"`" ;;
    $ J- r8 p- z2 s4 l: v
  62.         esac
      Y6 M" H* ~# n$ `1 z3 b1 u
  63.     done6 y; v% t  m, {/ X5 |) b2 L5 G
  64.     echo -n $out. C+ l$ E! F1 k
  65. }6 S" v+ _6 N' r/ O1 A% X5 m

  66. " P* U8 k! `, v- ^) i: I
  67. enc() {9 Y. W4 n2 O0 x( t0 g  @
  68.     echo -n "$1" | urlencode
    * w  y5 [6 s0 ~" a% c6 U+ N/ F" j
  69. }
    $ p/ E8 [# X8 _4 Y6 K

  70. 1 G' J6 Z' w$ \  I6 Z
  71. send_request() {
    5 U( A$ N/ Y* W. l
  72.     local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"
      r( _8 t# p* a9 j
  73.     local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64)
    6 d! N8 ^- X" ]
  74.     curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"
      U6 C7 x! J/ q
  75. }/ f. `, Z( k7 p9 H

  76. & L4 p* B# N. |3 k  m8 l
  77. get_recordid() {  D' W: a' Q. Y- _6 C2 i7 @
  78.     grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'
    8 s7 o* l" T% i  e8 Z0 K8 k
  79. }
    . D) o" U1 q9 s$ i) ?, ^* V
  80. ' U. A: i- C/ _! B  t4 ]( W
  81. query_recordid() {) \2 Y5 o& {" n! |' ]* i
  82.     send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA"
    . y) j/ X& Z, P  ~0 ]
  83. }+ q5 Y9 b" A" i" |1 p
  84. 8 h. L5 i; r7 n) @" r  I
  85. update_record() {" G8 w5 k! Z2 O0 I6 T
  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 n0 P7 i' Q4 n6 X" h& G
  87. }
    1 ]- G# l1 a/ S9 _. O" x" h

  88.   w" [% V( N- @2 f( S
  89. add_record() {
    9 T  A2 |3 A1 l0 @0 S
  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)"; P$ j% q* E( O: l- i5 q
  91. }/ M( {! I! h- U; x7 J: c- \! T0 T
  92. 7 R2 V/ S1 r2 W& l
  93. #add support */%2A and @/%40 record1 Y3 a2 k( E7 x, d
  94. ' _: m( j8 W& l4 _! ~
  95. 3 _1 |) N1 i, M8 _, F: R; {1 w
  96. if [ "$aliddnsipv6_record_id" = "" ]
    ' E( L$ v4 G8 k( t  H
  97. then
    ' }" y! S5 a( R+ t. A
  98.     aliddnsipv6_record_id=`query_recordid | get_recordid`
    / I, `$ x, G0 z. x; v
  99.     #echo '-----------------' $aliddnsipv6_record_id
    : M( A7 E2 m9 K* b" r
  100. fi
    2 y6 s' v! A4 u/ p, \" `' J
  101. if [ "$aliddnsipv6_record_id" = "" ]# a9 z8 Q; N! }# X1 X0 O
  102. then: K! H/ H3 j. ?5 w0 ^
  103.     aliddnsipv6_record_id=`add_record | get_recordid`
    $ N% @6 |/ {& D. J0 D! f
  104.     echo "added record $aliddnsipv6_record_id"
    9 w- p! d0 t: ~0 x9 e# v% E  g
  105. else
    $ t) |3 ]9 _! c9 {
  106.     update_record $aliddnsipv6_record_id% e7 z6 C9 W3 F8 H. D( K) N
  107.     echo "updated record $aliddnsipv6_record_id"7 A$ g7 p8 Q& z" r5 e" f( E
  108. fi
    " x# j, l4 c  E
  109. * B- @, e$ o2 k/ Y
复制代码
* ?6 Q/ U5 [# [; ?, U" v. B
! a0 z8 Y, k, }8 j1 V* R- k9 P
! R5 o6 s1 [! ~. W6 p' Q% N9 ^  z1 @

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,
. n5 h) F% \2 G3 p7 W+ t修改一下配置文件就可以上传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
0 _4 a. B& r! z  S7 Z$ s可能是你路由器设置问题,或者群晖网络手动可以固定ipv6试试
9 _$ f' t; K+ n5 b
的确是路由器问题,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-17 07:29 , Processed in 0.306033 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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