sudah tau kan ddns itu apa ?
DDNS itu di perlukan saat ip publik internet kita berubah setiap saat, nah bagaimana caranya agar kita bisa ingat dengan i[p publik kita, semisal kita ingin memantau cctv dan sebagainya lewat ip tersebut, nah disinilah ddns itu di perlkukan. ddns ada banyak lo, disini saya hanya memberikan script dan cara memasukkan nya ke dalam mikrotik. saya menggunakan dyndns.com
nih silahkan Copas
:local username "usernamekalian"
:local password "passwordkalian"
:local hostname "hostnamekalkian"
# 2 pilihan untuk menangkap IP public anda "http" atau "iface"
# - http: akan menangkap/mencari IP public yang anda gunakan (skenario jika anda dibelakang NAT modem ADSL)
# - iface: akan menggunakan ip public yang di set di interface WAN mikrotik Anda
:local discoverBy "http"
# nama interface WAN yang akan digunakan menangkap IP public Anda (jika pilihan discoverBy = iface)
:local iface "GATEWAY"
# pilih salah satu layanan Dynamic DNS yang anda gunakan: "dyndns", "noip", and "changeip"
:local service "dyndns"
# Schedule(hari) untuk maksa update jika IP tidak berubah-ubah (agar account DDNS anda tetap aktif)
:local forceUpdate 1
#************************************************************************************************
# dibawah ini jangan di ganti2 jika anda tidak tahu apa yang anda lakukan
#************************************************************************************************
:local force
:global lastUpdate
:local currentIP
:if ($discoverBy="http") do={
/tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html"
:local result [/file get dyndns.checkip.html contents]
:local resultLen [:len $result]
:local startLoc [:find $result ": " -1]
:set startLoc ($startLoc + 2)
:local endLoc [:find $result "</body>" -1]
:set currentIP [:pick $result $startLoc $endLoc]
} else={
:set currentIP [ /ip address get [find interface=$iface disabled=no] address ]
:for i from=( [:len $currentIP] - 1) to=0 do={
:if ( [:pick $currentIP $i] = "/") do={ :set currentIP [:pick $currentIP 0 $i] }
}
}
:local resolvedIP [:resolve $hostname]
:local date [ /system clock get date ]
:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
:local month [ :pick $date 0 3 ]; :local day [ :pick $date 4 6 ]; :local year [ :pick $date 7 11 ];
:local mm ([ :find $months $month -1 ] + 1);
:if ($mm < 10) do={ :set month ("0" . $mm); } else={ :set month $mm; }
:set date ($year . $month . $day);
:if ([ :typeof $lastUpdate ]=[:nothing] || (($date-$lastUpdate) >= $forceUpdate && $forceUpdate > 0)) do={
:set force true
}
:put ("Current IP: $currentIP ($discoverBy), Last update: $lastUpdate")
# Determine if dyndns update is needed
:if (($currentIP != $resolvedIP) || ($force = true)) do={
:if ($service = "dyndns") do={
/tool fetch user=$username password=$password mode=http address="members.dyndns.org" \
src-path="/nic/update?hostname=$hostname&myip=$currentIP" dst-path="/output.txt"
}
:if ($service = "noip") do={
/tool fetch user=$username password=$password mode=http address="dynupdate.no-ip.com" \
src-path="/nic/update?hostname=$hostname&myip=$currentIP" dst-path="/output.txt"
}
:if ($service = "changeip") do={
/tool fetch user=$username password=$password mode=http address="nic.changeip.com" \
src-path="/nic/update?hostname=$hostname&myip=$currentIP" dst-path="/output.txt"
}
:local result [/file get output.txt contents]
:log info ("dynamic-dns-updater: Service = $service, Hostname = $hostname")
:log info ("dynamic-dns-updater: CurrentIP = $currentIP, Resolved IP = $resolvedIP")
:log info ("dynamic-dns-updater: Update result: ".$result)
/ip dns cache flush
:set lastUpdate $date
}
baca baik bak di atas ya
Nih script untuk update nmya setiap menit
/system scheduler add disabled=no interval=1m name="Update DDNS setiap 5 menit" on-event=update_ip_ddns policy=\ ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-date=mar/30/2014 start-time=14:24:00
silahkan mencoba gaess, kalo ada yb belum tau cara memasukkan scriptnya silahkan koment ya gaesss, di jamin script di atas jalan
No comments:
Post a Comment