networking:mikrotik:scripts_01
SuperScript
SuperScript obnavlja zapis na ChangeIP i DynSNS servisima i šalje mail sa novom IP adresom administratoru.
Potrebno je editirati varijable označene sa “+++varijabla+++“
Adrese mail servera sa kojih se može slati mail:
T-Com smtp.t-com.hr [195.29.150.97] T-Com mail.t-com.hr [195.29.150.5] Amis imap.amis.hr [194.146.109.197] Amis smtp.amis.hr [194.146.109.197] H-1 mail.h-1.hr [80.80.50.132] H-1 smtp.h-1.hr [80.80.50.132] Bnet mail.bnet.hr [83.139.64.76] Iskon mail.iskon.hr [213.191.142.115] Iskon roaming.iskon.hr [213.191.128.76]
Potrebno je i kreirati Scheduler zapis:
/system scheduler add interval=1m10s name=SuperScript on-event="system script run SuperScript;" policy=\ ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api start-time=startup
Skripta:
#SuperScript V.3.0 [20130330]
#Definicija varijabli
:global adslip
:global adsllastip
:global datum [/system clock get date]
:global vrijeme [/system clock get time]
:global ime [/system identity get name]
#Ako posljednja adresa ADSL-a ne postoji, upiši mu nulu
:if ([ :typeof $adsllastip ] = nil ) do={ :global adsllastip "0" }
#Aktualnu adresu ADSL interfejsa upiši u varijablu
:global adslip [ /ip address get [/ip address find interface=ADSL ] address ]
#Ako ne postoji logiraj
:if ([ :typeof $adslip ] = nil ) do={
:log error "=== No IP on ADSL Interface"
} else={
#...a ako postoji
:if ($adslip != $adsllastip) do={
:local chgipuser "+++chgipuser+++"
:local chgippass "+++chgippass+++"
:local chgiphost "+++chgiphost+++"
:log info "=== Updating dns record at ChangeIP"
:log info [ :put [/tool dns-update name=$chgiphost address=[:pick $adslip 0 [:find $adslip "/"] ] key-name=$chgipuser key=$chgippass ] ]
:local dynuser "+++dynuser+++"
:local dynpass "+++dynpass+++"
:local dynhost "+++dynhost+++"
:log info "=== Updating dns record at DynDNS"
:local str "/nic/update?hostname=$dynhost&myip=$adslip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
/tool fetch address=members.dyndns.org src-path=$str mode=http user=$dynuser password=$dynpass dst-path=("/DynDNS.".$dynhost)
:local mailsender "$ime@zg.t-com.hr";
:local mailrec +++mailrec@zg.t-com.hr+++;
:local mailsubject "IP adresa from /$ime/ $datum $vrijeme";
:local mailbody "$adslip";
:local mailserver [:resolve +++mymailserver+++];
:local mailuser +++mymailuser+++;
:local mailpass +++mailpass+++;
:log info "=== Sending mail"
/tool e-mail send from=$mailsender to=$mailrec subject=$mailsubject body=$mailbody server=$mailserver user=$mailuser password=$mailpass;
#Moving new IP to lastip variable
:global adsllastip "$adslip"
} else={
:log info "=== No IP update needed"
}
}
networking/mikrotik/scripts_01.txt · Last modified: 2013/04/01 17:17 by 127.0.0.1
