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

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

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

9

主题

70

回帖

324

积分

中级渣柚V1

积分
324
发表于 2020-4-26 02:47:48 | 显示全部楼层 |阅读模式
从4月1日来到矿渣后,就仿佛打开了新世界,经常折腾到深夜,然后第二天伴随着黑眼圈和唠叨出门.../ H6 q8 ?: b4 w2 |* _* n' _+ J
明天,对了就是明天 又少不了一顿臭骂...
( D8 U! D  U9 }) d+ U* T5 U
" v0 a2 S3 i' V, J# u% v; a百度搜到一大佬在张大妈上发布的aliddns教程,按照他的照抄结果脚本把内网ipv6地址传上去了,) M. y. p! B" ^! ?+ D
; n" W1 v( |- h8 n8 Z

  [( f2 ?+ H% J5 b仔细一看他的教程中 ipv6地址栏 第一行地址就是外网地址,而我的是内网地址,
5 s9 v6 w8 s- F2 z, v* _7 K( O% y瞎子过河改了第20行 print $2 不行,33行tail -n4也不行,
6 |4 p) p; K/ G3 u: Q4 n6 h菜鸟看不懂代码,也不知道去哪问,希望能有路过的大神能指点下2 ?3 x' j; w7 S# L0 y3 }

* r' J" [, [( R  C2 R
8 Q$ r$ N  i* `0 M/ l! o3 J2 m+ J; D4 `8 I8 y
ds120j.png ! y) n, s  w2 g/ E
" c* w! y$ \. @6 y& B
  1. aliddnsipv6_ak="aliddns_id"! O, l) H. f/ s2 d) ~
  2. aliddnsipv6_sk="password_info"
    ' t7 K  m; ~  R3 z( e, e
  3. aliddnsipv6_name1='nas'
    , z  w' z/ N. u& I
  4. aliddnsipv6_domain='mydomain.cn'
    7 d0 n" ]; Q( K' e% F5 D! Y
  5. aliddnsipv6_ttl="600"! f0 l1 o$ A$ M1 a4 K0 {
  6. & ?# ?4 R+ x( u- S
  7. if [ "$aliddnsipv6_name1" = "@" ]
    3 ~! O9 }4 ?0 \. n3 ^
  8. then
    , b' v% S- P+ u0 O9 O3 h
  9.   aliddnsipv6_name=$aliddnsipv6_domain3 P% u& \9 r+ f: r* r2 o) K0 v
  10. else
      _% M- e+ L6 b
  11.   aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain
    6 @/ g1 v2 U. L& Z. }4 u
  12. fi
    8 k" C* l2 H: H! g
  13. ( U; X9 d0 I5 Q) [
  14. now=`date`" h$ X) X. W6 |

  15. & F; R5 M6 H0 ^0 z9 S% Z4 s5 M
  16. die () {
    ' s# M/ p# k$ @2 `
  17.     echo $1" g1 G1 l4 O( ?# A& _
  18. }# F$ e+ |+ t# @

  19. ' u! o. {. U. K4 |) k+ E
  20. ipv6s=`ip addr show eth0 | grep "inet6.*global" | awk '{print $1}' | awk -F"/" '{print $1}'` || die "$ipv6". K9 {/ m% Z4 ]0 \
  21. 3 q! ]* F5 V5 k! R# B8 a  l1 _7 q  U; ^
  22. for ipv6 in $ipv6s) `. E0 [* B8 _& `
  23. do9 z$ K6 X' ~0 {4 C, L7 t8 V
  24.   #ipv6 = $ipv65 ?6 O. ~7 y, N) Z# @
  25.   break
    ' U, ]; W  R5 q, m- u% l9 U
  26. done
    # U! ?+ ^1 e/ X# v" @1 j! `

  27. : K: `& R  b/ F' B' j: N$ |
  28. echo $ipv6
    . |0 I; ]* h' u( F

  29. " F8 s& T! L0 i- L' d" p6 g
  30. current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&1`! W! ?1 \; C) l* x# {8 c& Z' e7 [) Z$ K
  31. #echo $current_ipv6
    , j9 ]! C# m, g* ^* ~) @. K9 d/ {

  32. ; S/ a5 @9 y% a
  33. current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`
    * F0 Y; Y9 L5 Y# _, w# O
  34. echo $current_ipv6( W& ~. H4 o& D7 m: P/ {

  35. 7 O" x. z$ j9 m* Q3 i; S
  36. if [ "$?" -eq "0" ]
    " x! m; g* p2 ?
  37. then
    % J" @( K4 H3 G1 R
  38.     current_ipv6=`echo "$current_ipv6" | grep 'Address: ' | tail -n1 | awk '{print $NF}'`4 |$ I8 K9 |# |  c) ^
  39.     echo $current_ipv6+ t1 [' v% }  C, @6 T3 \& a& P

  40. 0 D7 n3 h8 o5 v8 J
  41.     if [ "$ipv6" = "$current_ipv6" ]
    , p: O9 G$ ]" r8 s' B. w
  42.     then
    9 N3 L# n: Q: z) L# |
  43.         echo "skipping"( ]2 ^0 S5 d/ p
  44.     fi
    ) v  }7 [6 j* X
  45. # fix when A record removed by manual dns is always update error
    1 T! m. X1 w# f, y, T
  46. else
    7 E9 }* V* C/ j% W/ R( n' h- j3 M
  47.     unset aliddnsipv6_record_id
    . o0 e( o3 F8 l. v. C
  48. fi
    8 o8 U7 n) U, W% _

  49. 8 D! R/ c0 t0 d

  50. ( }8 B4 E$ d& P3 P, m2 f
  51. timestamp=`date -u "+%Y-%m-%dT%H%%3A%M%%3A%SZ"`
    / Q$ [4 g7 K; l9 ^% h+ }

  52. ) y) }. M+ B$ u$ Q

  53. 5 k: {7 q& `( L% o! Q# Q
  54. urlencode() {
    ! a* M, p0 @( V* l
  55.     # urlencode <string>9 @/ [3 `/ ]! N3 O) z5 p, |
  56.     out=""8 O) j! p# a9 @* T( R3 A! M2 K; G
  57.     while read -n1 c
    5 k9 _( A+ G. o5 e
  58.     do
      h0 ]* V1 V" j+ j1 K, Z
  59.         case $c in
    # Q* W' i7 [6 n* U8 h4 x1 Q
  60.             [a-zA-Z0-9._-]) out="$out$c" ;;
    9 w& k0 Y  y3 x
  61.             *) out="$out`printf '%%%02X' "'$c"`" ;;
    + f5 e- p7 A  T3 o1 N" `/ b4 B
  62.         esac
    " x7 G/ N7 W& H
  63.     done
    6 F+ ]+ h) q0 M8 a( F5 y5 N- K0 w
  64.     echo -n $out+ D2 F+ B$ B* b1 \2 S7 j7 {: w
  65. }# k6 I- B6 v2 z4 f: C
  66. 2 I- D$ R- X8 v! \
  67. enc() {/ n1 O8 H4 @6 f( X* q: w
  68.     echo -n "$1" | urlencode) B" }, E/ B# w& _5 G
  69. }( E% l- |: v. a1 E1 U$ M% d. x

  70. + V0 _+ R8 }" A. A6 B  y5 r+ c+ D5 Y
  71. send_request() {7 O+ s8 e5 {8 g9 j% N! E+ j
  72.     local args="AccessKeyId=$aliddnsipv6_ak&Action=$1&Format=json&$2&Version=2015-01-09"& z9 ]/ h+ y/ m) Z. n* i8 K
  73.     local hash=$(echo -n "GET&%2F&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddnsipv6_sk&" -binary | openssl base64)
    & X' b2 n6 {" J+ O0 R; ^3 Y' }
  74.     curl -s "http://alidns.aliyuncs.com/?$args&Signature=$(enc "$hash")"
      i3 f4 w6 a5 n, `; ^3 X" {
  75. }- O" R5 m% t4 K/ a0 V! T0 X
  76. ( ^& Y8 D, F9 @+ l8 J6 q
  77. get_recordid() {
    9 U; x; a) w& U# G; q
  78.     grep -Eo '"RecordId":"[0-9]+"' | cut -d':' -f2 | tr -d '"'
    ) I  P0 ]- s  h$ `
  79. }6 O7 A6 I0 H% V' F

  80. / J: n+ D+ r( K2 i6 m& e4 Y
  81. query_recordid() {. ~9 B' T9 t+ M' |; {, Z4 t
  82.     send_request "DescribeSubDomainRecords" "SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&SubDomain=$aliddnsipv6_name&Timestamp=$timestamp&Type=AAAA"# J1 C9 z, {, a0 ?# {0 O
  83. }1 {$ l9 g" z8 S6 j7 _
  84. ' c% H# V& V/ A5 y
  85. update_record() {
    ' ^' s! j- l# R
  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)"/ r& m; y; O5 |" w7 C
  87. }
    / Y/ y- m0 E8 E2 B
  88. 1 M; X; I+ d  R8 Q4 k' i7 U% L
  89. add_record() {
    9 G; d! U  v- `, p5 e& C* j' K7 x, _
  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)": o! z, R# E* V5 ^
  91. }; C5 Q# i& w) Y; }' U3 K+ j  ~
  92. 3 Z. s8 B- L' M) H1 `
  93. #add support */%2A and @/%40 record
    & p: ^% ^+ z1 G  A! Z

  94. 1 w6 s# ]; w9 C, g( `9 M  H  [

  95. 4 |' ^- ~5 v  j  y1 S  ~
  96. if [ "$aliddnsipv6_record_id" = "" ]
    # H4 a' n+ Y9 C4 c# D8 y' M4 x) r
  97. then" j; J2 e5 b: N4 ]; o: N/ f
  98.     aliddnsipv6_record_id=`query_recordid | get_recordid`/ [5 P7 Q$ E# \$ w) I4 j
  99.     #echo '-----------------' $aliddnsipv6_record_id) ^5 z8 q3 P8 G4 ]& K  o
  100. fi
    . c, s0 Y) f6 ^4 P& o) }
  101. if [ "$aliddnsipv6_record_id" = "" ]
    " u- c8 P/ ^* V+ o% _
  102. then
    9 x% v6 ^+ z! f6 A4 e
  103.     aliddnsipv6_record_id=`add_record | get_recordid`7 u+ ~* ?& x0 a* ?3 |; u, U
  104.     echo "added record $aliddnsipv6_record_id"* z7 S  c$ T& |7 }9 x. m
  105. else
    $ N+ c$ N# @8 J
  106.     update_record $aliddnsipv6_record_id. |8 y6 Q, h8 L* Q
  107.     echo "updated record $aliddnsipv6_record_id"
    ! D2 O6 j3 L8 Q
  108. fi
    1 S! q1 Z& g0 `$ d( _3 ^' `: ]
  109. ) a$ h3 }- h, j1 L, O) F
复制代码
6 @$ y3 v- p) Q* @& p
' ~6 [! U5 D. L$ x8 q0 k

+ O3 p  P; G$ G

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,
( u4 Y2 s: J8 X" G9 i$ y& 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:04
1 u. E. r) a' F7 O7 y# e" i可能是你路由器设置问题,或者群晖网络手动可以固定ipv6试试
' X4 }6 a0 r5 ~% x
的确是路由器问题,谢谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-25 05:56 , Processed in 0.069852 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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