❗ Muammo
MikroTik RouterOS da Dynamic DNS sozlash muammosi.
🎯 Yechim
dynDNS uchun Dynamic DNS Update Script.
🛠 Sozlash bosqichlari
1️⃣ Skriptni yarating
Quyidagi skriptni dynDNS deb nomlang:
:global ddnsuser "DYNDNSUSER"
:global ddnspass "DYNDNSPASS"
:global ddnshost "DYNDNSHOST"
:global ddnsip
:global ddnslastip
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }
:global ddnsinterface
:global ddnssystem ("mt-" . [/system package get system version] )
:local int
:foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
:if ([:typeof [/ip route get $int routing-mark ]] != str ) do={
:global ddnsinterface [/ip route get $int interface]
}
}
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
:if ([ :typeof $ddnsip ] = nil ) do={
:log info ("DynDNS: No ip address present on " . $ddnsinterface . ", please check.")
} else={
:if ($ddnsip != $ddnslastip) do={
:log info "DynDNS: Sending UPDATE!"
:local str "/nic/update?hostname=$ddnshost&myip=$ddnsip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
/tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser \
password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
:delay 1
:local str [/file find name="DynDNS.$ddnshost"];
/file remove $str
:global ddnslastip $ddnsip
}
}
2️⃣ Skriptni boshqaruvchi
Quyidagi buyruq bilan skriptni boshqaruvchi yarating:
/system scheduler add name=dynDNS interval=00:01 on-event="/system script run dynDns\r"
⚠️ Diqqat
- Versiya farqi bo’lsa (v6/v7), buni hisobga oling.
✅ Xulosa
dynDNS uchun Dynamic DNS Update Script sozlash.