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

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

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

9

主题

70

回帖

324

积分

中级渣柚V1

积分
324
发表于 2020-4-26 02:47:48 | 显示全部楼层 |阅读模式
从4月1日来到矿渣后,就仿佛打开了新世界,经常折腾到深夜,然后第二天伴随着黑眼圈和唠叨出门...
. H" H2 l" E9 u, d明天,对了就是明天 又少不了一顿臭骂...: i8 c0 t+ n' C- ^7 S! Y

) ?: {( y9 F" |" t百度搜到一大佬在张大妈上发布的aliddns教程,按照他的照抄结果脚本把内网ipv6地址传上去了,- B) c; O- _9 p' O

& D1 a) @/ Q4 [" ]+ |  e' o+ F% K" R5 p& D+ o/ I
仔细一看他的教程中 ipv6地址栏 第一行地址就是外网地址,而我的是内网地址,
( E4 N9 K5 m! ]7 J& s瞎子过河改了第20行 print $2 不行,33行tail -n4也不行,  P+ M5 F0 e* b) w; J8 e
菜鸟看不懂代码,也不知道去哪问,希望能有路过的大神能指点下) H0 q# O# @  ]
& v% U5 R% U. I6 t+ U7 ], p

+ }# K: c' o% o; Z* j/ ?0 n! a" Y* X
7 ]! P; b8 c* q# J+ X+ d9 v" ? ds120j.png 1 z+ z% y$ z: V; r/ X, l, c7 q$ [
( A+ y5 d" s) b: w
  1. aliddnsipv6_ak="aliddns_id"
    - H8 I" U8 v' u" v& {5 u
  2. aliddnsipv6_sk="password_info"
    5 k7 M4 t! s. [
  3. aliddnsipv6_name1='nas'
    8 d% Q: l+ J! ?! O
  4. aliddnsipv6_domain='mydomain.cn'
    : |% l/ W: ~7 [1 d. W  w/ B
  5. aliddnsipv6_ttl="600"
    7 |) ]6 t+ \0 D& U1 k4 N) g9 m6 V

  6. " `- ?5 s4 x) w9 P( i9 V4 m7 h
  7. if [ "$aliddnsipv6_name1" = "@" ]) q$ K( Q$ d9 e
  8. then
    * I8 L( A8 F. Q* ~$ q
  9.   aliddnsipv6_name=$aliddnsipv6_domain# ~8 N; c+ |( z7 C* I: y
  10. else
    ) {0 N9 |, I  k5 f6 W- c
  11.   aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain
    1 ]" p# d, g; s) [1 h2 _1 L
  12. fi
    4 y1 \) r5 K. b- C2 H
  13. 3 U7 p' L5 y/ h9 `
  14. now=`date`
    4 l+ @. t# D. W' W# q$ O

  15. - x! Q0 m, k- ]2 I8 V
  16. die () {
    8 z: T" m3 w" Y8 @$ X; ~& g7 [, ~
  17.     echo $16 G3 ?3 D' W6 s) Y3 T7 }
  18. }
    3 J( @- n; l( J8 R: b" ]. @
  19. 2 T3 ^- x! f. n4 v. x- }5 D6 s
  20. ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk '{print $1}' | awk -F"/" '{print $1}'` || die "$ipv6"
    ( N8 W& Y% p, f+ G* a" X
  21. % R6 J  S1 X5 t2 Z/ w% @6 H4 f
  22. for ipv6 in $ipv6s: H5 T# q4 M) E5 m% L
  23. do
    6 |9 S9 O9 y  }& w1 P9 a; r
  24.   #ipv6 = $ipv6
    2 N# n3 v; z3 x/ A- X
  25.   break
    ' o/ J4 A" ^. w- M
  26. done
    ) Y/ g% B7 u- P1 ]8 F

  27. & Z3 p& c  b+ s1 k7 _
  28. echo $ipv6
      A! d, }: W- P* s) y

  29. " V+ R0 W+ l& K: j
  30. current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1`5 C# K2 t. w1 c8 @
  31. #echo $current_ipv6
    / @) Z+ l- R% Y9 j  ?

  32. . c! l! W+ N% {2 f
  33. current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`3 T9 i# A8 U7 }, `+ }9 [
  34. echo $current_ipv6
    0 w' ]& ]  M' |

  35. . s6 I% j+ A- ?/ |
  36. if [ "$?" -eq "0" ]
    / h  ]5 D, p( H- M  B8 \
  37. then$ d8 W# c1 s* M2 }) p; ?; \
  38.     current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`! V  s% b# K7 o; ~9 X
  39.     echo $current_ipv6
    ) M$ H6 m) Z5 b" Z* g9 a* f
  40. 9 F3 m- {9 K5 Z/ ?& j
  41.     if [ "$ipv6" = "$current_ipv6" ]
    : F2 j, y/ w+ ~7 S3 X) P; `
  42.     then/ c! e/ j* z" Y) w$ s, z2 T
  43.         echo "skipping"' X' D3 L) F  ~; Q
  44.     fi ; }0 `% Z6 l7 g2 l+ b
  45. # fix when A record removed by manual dns is always update error
    . y+ {0 g& f$ w" }5 q
  46. else- H( z; J: ?( T. T
  47.     unset aliddnsipv6_record_id
    $ ]9 c4 _- G6 z1 ?" L
  48. fi2 G) `* `2 h0 m; F7 e$ r
  49. % p) e6 F6 \# p5 W& n" E! N: ?

  50. - o5 y& y' b8 e& y, g/ l
  51. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`# s6 s, ?$ U9 e/ }, Q+ d4 T: h$ i

  52. & R* R8 {' q3 p& q6 T8 {, n4 _2 p
  53. 2 g. S' G/ w' [
  54. urlencode() {
    : z# [" K* C# _. @6 R9 ]% c
  55.     # urlencode <string>3 w  j' w/ M- z% T1 }, y
  56.     out=""
    - N! c) s6 E, y9 X, h7 L6 e! [
  57.     while read -n1 c% R: P8 w9 D- p) ~$ h
  58.     do
    % R0 L& w0 C; o* b1 v6 \/ W$ m
  59.         case $c in4 p9 ~9 D. j/ Z0 f) ?6 G
  60.             [a-zA-Z0-9._-]) out="$out$c" ;;- u( s5 F  f6 [# d2 B" L% ?! |
  61.             *) out="$out`printf '%%%02X' "'$c"`" ;;1 d+ G* N" z0 a6 y* j  L
  62.         esac
    * b; ~+ u7 M* y
  63.     done) M+ a3 \) d: Q! a
  64.     echo -n $out
    0 S, f" a- X) e: F
  65. }. x8 H: v! u% I, m

  66. " g6 w$ K3 {4 B7 O& v" \2 `5 W: B
  67. enc() {
    & v6 Y6 X9 V4 F# v6 O
  68.     echo -n "$1" | urlencode% y# i+ m1 T3 \2 r2 n4 p/ v  s
  69. }
    4 ]# R" S0 g# ~. D

  70. 8 {0 g8 i5 ~- W4 ^! a) B
  71. send_request() {
    * k- V4 }  l9 h& ~7 p1 ~. D6 u
  72.     local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"
    5 U6 G2 |  @8 A3 g
  73.     local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64)5 i) K7 H( y1 ]
  74.     curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"' D, W8 {$ v( K# d: o( W. @/ ~
  75. }
    5 {# P0 w+ E! K5 o4 k

  76. 9 J5 y& s: f4 ^' G2 b
  77. get_recordid() {
    - \$ p3 N& F% b& W  z& S1 y6 n+ M
  78.     grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'
    $ r& i# y5 g( X1 S( t* y/ @2 C5 R
  79. }4 ]( g+ C7 x9 a! _& Y* a# W0 z

  80. . X% V/ ]+ l! E+ E$ l# F9 Z- v5 v9 X
  81. query_recordid() {
    9 K- V1 C& x; Z+ `9 ~0 Y: `
  82.     send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA"
    * R6 V9 m' B" h
  83. }
    ! f+ ^; D" O( h+ _6 H( Y

  84. . |/ Q( q9 i5 ^; S5 o, L
  85. update_record() {
    3 j" A; c% M( T: S8 p
  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)"
    $ D* V4 Z9 A& ~% L
  87. }
    5 r" e+ F; ^1 s9 n$ a0 t

  88. # S0 }  m  y' Y& Z: X8 D
  89. add_record() {
    # o1 t) a& m; b8 f$ X4 a7 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)"
    - L" b  b) [) w4 ]! j4 S5 W
  91. }% p6 a1 W: x& q1 K! ]' Y& O

  92. - z+ ^/ q- R9 `! d2 z- \* ]
  93. #add support */%2A and @/%40 record
    ! X! h' V# z* W! m; E! B. i# u

  94. 9 I' x3 O9 {) K5 p! u7 e
  95. 1 P3 J/ `% F! x
  96. if [ "$aliddnsipv6_record_id" = "" ]  S7 w: d: o  s/ B& P- o  h+ W( W
  97. then
    9 `" I' u  V% V5 `
  98.     aliddnsipv6_record_id=`query_recordid | get_recordid`8 `$ a. U& U# d
  99.     #echo '-----------------' $aliddnsipv6_record_id4 |; d1 @1 E& C+ {1 m
  100. fi0 l+ L$ c) A& R; I
  101. if [ "$aliddnsipv6_record_id" = "" ]
    0 a0 M# q( S+ C( Q- Y3 j6 f
  102. then
    4 E- z3 u' |: z% M
  103.     aliddnsipv6_record_id=`add_record | get_recordid`
    2 R- z4 P2 N' U$ Z+ n
  104.     echo "added record $aliddnsipv6_record_id"8 K% e) C% a$ u0 k, ]
  105. else% o6 \% ?# k0 F1 s1 b6 W/ _- K
  106.     update_record $aliddnsipv6_record_id
    ! e- `/ d8 g$ ]1 m
  107.     echo "updated record $aliddnsipv6_record_id"
    : \+ d- T8 X! L$ Y. [- l5 u0 `/ A
  108. fi5 W, y, m0 B# S" C% Q: @
  109.   S8 _9 N6 f& l9 v
复制代码

( M* ~  a2 f3 P: l8 Z+ Q# a
. Z2 L3 S$ c% c- F0 j
$ P' ]- r: R; i, `8 ~' E

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,
+ A+ D# F( X- @3 f修改一下配置文件就可以上传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:043 o) o2 ^5 S0 f: D, e
可能是你路由器设置问题,或者群晖网络手动可以固定ipv6试试

( C$ a: u, \, h; {的确是路由器问题,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-6 16:05 , Processed in 0.082810 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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