Board logo

標題: 替朋友的NAS設計DDNS Script. [打印本頁]

作者: gfx86674    時間: 2015-8-19 11:45     標題: 替朋友的NAS設計DDNS Script.

本帖最後由 gfx86674 於 2015-8-20 10:27 編輯

小弟與朋友(ghostplayer)的nas都是彼此開放給對方.
因synology_nas所提供的ddns支援ipv6 ,而且ipv6無nat的設計.

所以當朋友輸入ddns即可直接對小弟的NAS做連接;
但朋友的buffalo_NAS連結卻麻煩多了,沒提供ddns,只能用ipv4 ,
還得在他的路由器設定virtual-server相關...

所以小弟構想是這樣的:
ipv6地址是8個碼組合而成,2001:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX/128
前4碼是中華提供,2001:XXXX:XXXX:XXXX::/58
後4碼是裝置內網,fe80::XXXX:XXXX:XXXX:XXXX/128

所以構想是當朋友連進到小弟NAS時,把朋友電腦的ipv6-ip記錄起來.
然後用他nas內網後4碼 取代朋友電腦ipv6-ip的後4碼,所得的結果即是朋友NAS的ipv6-ip.

於是想著想著就著手編寫Script.
但過程還得注意一件事:
中華給的浮定製ipv6前4碼中,只有前3碼是固定的,而第4碼是浮動且長度不一.
所以要考量第4碼:
2001:XXXX:XXXX:XXXX::/58
2001:XXXX:XXXX:XXX::/58
2001:XXXX:XXXX:XX::/58
2001:XXXX:XXXX:X::/58

這些情況...

沒顧慮後,便開始編寫Script囉.
朋友Hinet給的前3碼為2001:b011:5008::/51
Buffalo_NAS的內網地址為fe80::f818:c114:7e0:6fa1/128

腳本:
  1. :local ghostplayer [/ipv6 firewall connection get \
  2. [:pick [find ($"src-address" in 2001:b011:5008::/51)&&(dst-port=445)] 0] src-address]

  3. :local i 16
  4. :local arrow

  5. :while ($arrow!=":") \
  6. do={
  7. :set arrow [:pick $ghostplayer $i]
  8. :set i ($i+1)
  9. }
  10. :set ghostplayer ([:pick $ghostplayer 0 $i].[:pick "fe80::f818:c114:7e0:6fa1/128" 6 24])

  11. :if ([/ip dns static get *9 address]!=$ghostplayer) do={/ip dns static set *9 address=$ghostplayer}
複製代碼
腳本會把記算後的ipv6-ip存到dns-static裡,取名為ghostplayer.nas ,
並每小時比對ip是否相異 ,相異的話會自行更正.

所以日後我只要在家中任何一地方用ghostplayer.nas當地址,
[attach]3688[/attach]
即如同使用ddns ,可對朋友的buffalo_nas直接做連結囉
作者: 雯雯    時間: 2015-8-19 20:16

回復 1# gfx86674

羨慕台灣有IPV6!
作者: gfx86674    時間: 2015-8-19 20:29

回復  gfx86674

羨慕台灣有IPV6!
雯雯 發表於 2015-8-19 20:16

Tunnel Broker的伺服器在香港,住在香港的朋友兩年前就測得有20Mbps的頻寬.
您不彷一試.
IPv6 - Tunnel Broker 實作
作者: 雯雯    時間: 2015-8-19 20:45

回復 3# gfx86674

可是香港家用broadband來說只有HKBN這家ISP算是會給用戶比較固定的WAN IP.
作者: gfx86674    時間: 2015-8-19 20:51

本帖最後由 gfx86674 於 2015-8-19 20:56 編輯
回復  gfx86674

可是香港家用broadband來說只有HKBN這家ISP算是會給用戶比較固定的WAN IP. ...
雯雯 發表於 2015-8-19 20:45

router可用script修正,但ipv6-server就沒辦法了.
作者: gfx86674    時間: 2015-8-21 10:26

本帖最後由 gfx86674 於 2015-8-21 10:27 編輯

回復 4# 雯雯
Mikrotik官網提供Tunnel Broker腳本,這樣就有辦法更新同時更新Router與Server了
Hurricane Electric IPv6 Tunnel - IPv4 Endpoint updater
作者: 雯雯    時間: 2015-8-21 14:04

回復 6# gfx86674

等我試試先, Thank you!




歡迎光臨 電訊茶室 (http://telecom-cafe.com/forum/) Powered by Discuz! 7.2