User Tools

Site Tools


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