電訊茶室's Archiver

gfx86674 發表於 2015-8-19 11:45

替朋友的NAS設計DDNS Script.

[i=s] 本帖最後由 gfx86674 於 2015-8-20 10:27 編輯 [/i]

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

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

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

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

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

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

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

:local i 16
:local arrow

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

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

所以日後我只要在家中任何一地方用[color=Red]ghostplayer.nas[/color]當地址,
[attach]3688[/attach]
即如同使用ddns ,可對朋友的buffalo_nas直接做連結囉{:5_264:}

雯雯 發表於 2015-8-19 20:16

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41734&ptid=6735]1#[/url] [i]gfx86674[/i] [/b]

羨慕台灣有IPV6!

gfx86674 發表於 2015-8-19 20:29

[quote]回復  gfx86674

羨慕台灣有IPV6!
[size=2][color=#999999]雯雯 發表於 2015-8-19 20:16[/color] [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41738&ptid=6735][img]http://www.telecom-cafe.com/forum/images/common/back.gif[/img][/url][/size][/quote]
Tunnel Broker的伺服器在香港,住在香港的朋友兩年前就測得有20Mbps的頻寬.
您不彷一試.
[url=http://www.mobile01.com/topicdetail.php?f=110&t=3205444&p=23#42137309]IPv6 - Tunnel Broker 實作[/url]

雯雯 發表於 2015-8-19 20:45

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41739&ptid=6735]3#[/url] [i]gfx86674[/i] [/b]

可是香港家用broadband來說只有HKBN這家ISP算是會給用戶比較固定的WAN IP.

gfx86674 發表於 2015-8-19 20:51

[i=s] 本帖最後由 gfx86674 於 2015-8-19 20:56 編輯 [/i]

[quote]回復  gfx86674

可是香港家用broadband來說只有HKBN這家ISP算是會給用戶比較固定的WAN IP. ...
[size=2][color=#999999]雯雯 發表於 2015-8-19 20:45[/color] [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41740&ptid=6735][img]http://www.telecom-cafe.com/forum/images/common/back.gif[/img][/url][/size][/quote]
router可用script修正,但ipv6-server就沒辦法了.

gfx86674 發表於 2015-8-21 10:26

[i=s] 本帖最後由 gfx86674 於 2015-8-21 10:27 編輯 [/i]

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41740&ptid=6735]4#[/url] [i]雯雯[/i] [/b]
Mikrotik官網提供Tunnel Broker腳本,這樣就有辦法更新同時更新Router與Server了{:4_93:}
[url=http://wiki.mikrotik.com/wiki/Hurricane_Electric_IPv6_Tunnel_-_IPv4_Endpoint_updater]Hurricane Electric IPv6 Tunnel - IPv4 Endpoint updater[/url]

雯雯 發表於 2015-8-21 14:04

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41742&ptid=6735]6#[/url] [i]gfx86674[/i] [/b]

等我試試先, Thank you!

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.