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

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

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

9

主题

70

回帖

324

积分

中级渣柚V1

积分
324
发表于 2020-4-26 02:47:48 | 显示全部楼层 |阅读模式
从4月1日来到矿渣后,就仿佛打开了新世界,经常折腾到深夜,然后第二天伴随着黑眼圈和唠叨出门...
& ]9 P. V# p, [( ~' T5 q明天,对了就是明天 又少不了一顿臭骂.... Y$ W- L; p0 k$ C7 R, I: h  U* c
% C% p& h% A/ V) Q' b/ _
百度搜到一大佬在张大妈上发布的aliddns教程,按照他的照抄结果脚本把内网ipv6地址传上去了,- `) ?! E' ^. `4 A& G& Z% ~
3 z5 l- y0 b1 D6 U; `4 g
3 ?+ ^0 Q: S- |$ L1 C
仔细一看他的教程中 ipv6地址栏 第一行地址就是外网地址,而我的是内网地址,' q' \7 W4 U, J7 H2 S( d2 Y
瞎子过河改了第20行 print $2 不行,33行tail -n4也不行,* T5 B9 p, s/ K! M9 ~
菜鸟看不懂代码,也不知道去哪问,希望能有路过的大神能指点下' K2 E" j) x( e! A& M1 ^

  c, Q9 Q' G8 ~% ]6 ^9 A! s2 P* |4 W, d3 E

) `1 o( @1 `1 E; [! C ds120j.png ! g9 R9 ^+ ], O: Y  x/ j, n
& p* J  C, c9 t/ L7 x3 q
  1. aliddnsipv6_ak="aliddns_id"
    4 f; y9 H/ `7 ^/ t, w
  2. aliddnsipv6_sk="password_info"
    5 D# v. g; E6 N/ F. h7 P
  3. aliddnsipv6_name1='nas'
    * k6 X3 a3 O3 ^4 D) [: b! d2 @
  4. aliddnsipv6_domain='mydomain.cn'
    ( U" ^) w# ?* m; c
  5. aliddnsipv6_ttl="600"% E' y2 z0 P2 P) x/ _
  6. 5 ]2 i9 g1 P! I$ h
  7. if [ "$aliddnsipv6_name1" = "@" ]
    / E5 M3 Z; ?& `1 W* e; [/ a
  8. then
    - ~. @) u- |  n% G4 {3 g! B
  9.   aliddnsipv6_name=$aliddnsipv6_domain
    - |/ a: g4 A% [/ ]8 {5 l- ~+ g
  10. else4 L' B& m" b9 n9 V  c
  11.   aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain
    & J4 p& A  k! s: A" N5 V& p
  12. fi1 O5 V/ l. m7 _5 `2 s

  13. % J8 x5 |; ?: o7 F
  14. now=`date`" p; p% W  J; n, n
  15. 7 v2 B3 K: o. A) G7 m
  16. die () {  T- b, A# X) i: @
  17.     echo $1, f. r3 y- U9 i$ h2 G! N( F
  18. }
    7 q4 c( ~/ C6 G) Z* q
  19.   O: B2 ?& O3 m) T
  20. ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk '{print $1}' | awk -F"/" '{print $1}'` || die "$ipv6"" E' @  M# g2 z% e+ M

  21. 6 @; Z1 o" p* w1 q" Z
  22. for ipv6 in $ipv6s
    , l1 u- V7 F% J; M
  23. do6 o4 [1 H  a$ Y0 o* w, o4 h
  24.   #ipv6 = $ipv6; e$ a. V1 O' c6 f; L
  25.   break( k2 {4 K' H1 a6 n
  26. done
    * @. q, ^2 T; C6 r: |9 Y" `
  27. 2 V9 |7 t2 P! Y* @) y( e' b
  28. echo $ipv6. u5 U7 \4 Q' s
  29. : l1 C9 [7 [1 A+ `  M0 z. w4 f
  30. current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1`- `. O7 v* J7 d
  31. #echo $current_ipv6
    / o* s* L$ R% m' R' @
  32. 6 p+ r; Y  J  C- q, |# T' y; a
  33. current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`
    8 n( }$ t; U; j; `$ W" Z
  34. echo $current_ipv6' q$ W8 a$ J8 Q/ g8 {0 q3 Y% c
  35. 8 v1 \) H' [9 r+ F+ w( P
  36. if [ "$?" -eq "0" ]# i2 V5 ^  k! ?# k  H# C8 [& F/ Y
  37. then6 S: k/ {; k7 I% p0 p
  38.     current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`+ x) |2 H( Z  p7 R& f* W& Z" ~
  39.     echo $current_ipv6
    3 A$ J) L, u1 I$ R$ q2 m

  40. : p" L- Z1 G7 ?0 g' r$ j) r
  41.     if [ "$ipv6" = "$current_ipv6" ]* g4 C* u3 ?# H" V
  42.     then
    5 d2 T/ N3 n8 G
  43.         echo "skipping"  `* n! s2 p; G# V% G3 z# O- n
  44.     fi $ r# z$ C/ m$ v: U3 @$ s
  45. # fix when A record removed by manual dns is always update error
    - i  o+ Y  p, u+ x2 ?" F( {7 L
  46. else8 V- @0 u7 C  e) V: p$ I
  47.     unset aliddnsipv6_record_id
    $ t( ^' m9 k+ \- r- R/ B: p
  48. fi
    : Z( }0 y7 }1 f
  49. , J  V) T" A5 L/ d3 y* b  S, k

  50. 7 c7 M2 s4 ^2 x& X. X
  51. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`/ l! b+ Z/ k9 e
  52. , f: w: X( @. b9 P
  53. . w4 N) I- V4 J: j8 J- d  j
  54. urlencode() {
    9 K9 o9 f1 z) s# g
  55.     # urlencode <string>' T6 ^/ y) {5 K5 z2 k
  56.     out=""
    * r8 }, u  ~9 I- d) l
  57.     while read -n1 c! y! p1 j% \# N" y
  58.     do
    ( K7 |$ h& M5 Q& T6 F; c
  59.         case $c in
    ) L5 X9 |+ A& o: h7 X" n' a& F
  60.             [a-zA-Z0-9._-]) out="$out$c" ;;
    ( G  s& c6 S3 E5 `
  61.             *) out="$out`printf '%%%02X' "'$c"`" ;;
      M" k: t6 v4 N5 {+ A$ m4 C8 f( U$ B
  62.         esac
    ( U  x8 ]8 j8 [
  63.     done
    - A. T, y9 N/ h) a
  64.     echo -n $out! _2 {! V3 ?3 T$ C3 I4 i
  65. }
    ! D+ s% f' t& Q" r) T  N

  66. 9 v  F! z, Q$ ?3 ?2 `* J4 v+ {
  67. enc() {
    * M" ~; b: U% _
  68.     echo -n "$1" | urlencode! G0 l2 G0 U$ w  n9 U) D/ v
  69. }
    * q; G& [6 S4 Y5 m

  70. ! b; Q! a# R/ u5 r; ]
  71. send_request() {
    4 U2 I) d) v, ~+ o& L
  72.     local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"4 p2 Y' ], B" E/ N- \1 @
  73.     local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64). U1 @4 B" {+ S  X% x
  74.     curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"
    $ W2 h& k8 s0 g2 I8 h6 E
  75. }
    8 A/ @; w' R% p/ |4 Q4 z  g4 X
  76. : G  E& }, W8 }( L! F3 F$ d
  77. get_recordid() {
    ) V0 s$ R) ?$ [2 P  h; a
  78.     grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'1 d0 N1 n. q! V! u% [! l
  79. }1 S  _7 F7 j) P  p* `/ \& ^( {

  80. 4 t3 D, h1 T2 I' e* R7 W8 F
  81. query_recordid() {
    ' ^) W2 \5 }$ N$ S- |$ L3 g2 p* k, }/ S
  82.     send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA"* J7 l! ^' l+ q, ~
  83. }: z; n+ r( Q2 p

  84. % I) b7 a+ _& ]5 _* [
  85. update_record() {
    - A- H3 y8 c$ y' \. 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)"7 ?, |/ o3 e' Y: ?% D/ q, f! q) M
  87. }
    ( Y" L7 U2 h7 B/ ^( ^: p1 f

  88. ; U% z$ J! @; ^5 |* ^
  89. add_record() {
    # z3 @. j* d) H% F) R& 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)"
    5 E0 P% y9 K  G% l9 W/ q
  91. }8 G- V0 _: e( j# [

  92. 9 @) l$ e& c; j/ N5 j+ r
  93. #add support */%2A and @/%40 record1 h  Q6 w; j$ Q8 K/ W  N8 o' L( P9 O
  94.   J2 g/ u  r7 s. C0 r- d

  95. . h. \# O: u+ Q& d+ ~) c
  96. if [ "$aliddnsipv6_record_id" = "" ]
    * C  Z# g# o5 A0 Z9 |
  97. then
    6 a5 D" w" G& R9 `. k; s4 ]1 t
  98.     aliddnsipv6_record_id=`query_recordid | get_recordid`; d+ b# n. W3 {! }
  99.     #echo '-----------------' $aliddnsipv6_record_id
    ; [+ v" M6 O6 l, J
  100. fi
    ( m4 _. x; z- \/ p# |! `4 a
  101. if [ "$aliddnsipv6_record_id" = "" ]
    5 a4 p; c8 q$ d, R
  102. then
      P' F# ^6 \  r8 ^+ f
  103.     aliddnsipv6_record_id=`add_record | get_recordid`
    4 B6 [+ p. K# b1 \- v
  104.     echo "added record $aliddnsipv6_record_id"
    7 U( @; b6 H+ A" ?& W; G
  105. else/ o! T) D3 O" Z" U
  106.     update_record $aliddnsipv6_record_id2 W2 Z' E2 r! O4 S2 l& l  @$ n
  107.     echo "updated record $aliddnsipv6_record_id"0 u8 m7 p; Q0 F: w) J- W
  108. fi
    0 F: k% P: Q- ^: @5 i
  109. * N/ W9 A1 m0 a7 y
复制代码

2 `& y" ^5 C" W) v) p+ H; {7 O
/ C9 I& J5 W; V0 d9 e) z) ^- u3 v# M/ N3 C8 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,& j# m1 a* b- ^. ], k
修改一下配置文件就可以上传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:040 p9 E. A1 i* o. v- Q+ j' V
可能是你路由器设置问题,或者群晖网络手动可以固定ipv6试试

; q; R! B4 T+ W* s' s  G9 Y的确是路由器问题,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-4-20 23:44 , Processed in 0.062479 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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