• Jelajahi

    Copyright © blog bodi
    Best Viral Premium Blogger Templates

    Iklan

    Mikrotik Duckdns.org Update (New Script)

    bodi.web.id
    08 Februari 2022, Februari 08, 2022 WIB Last Updated 2024-08-13T11:43:36Z
    [[---]]
    [[---]]


    Entah kenapa script untuk update Dynamic IP Public via Duckdns yang lama seperti dalam postinganku yang terdahulu “Duck DNS Update Script For Mikrotik” mendadak macet. Alhasil ketika akan me-remote router jarak jauh jadi gagal.

    Supaya dapat kembali update Dynamic IP Public, silahkan gunakan script berikut ini, simple dan ada penambahan record IP Public ke address list, untuk rule redirect IP.

    # DuckDNS Full Domain (FQDN):local duckdnsFullDomain "subdomain.duckdns.org"# DuckDNS Sub Domain:local duckdnsSubDomain "subdomain"# DuckDNS Token:local duckdnsToken "12345678-aaaa-bbbb-cccc-1234567890aa"# The interface name with the assigned dynamic IP address (usually the WAN interface).:local wanInterface "Ether0-Gateway"# Log destination:local logDestination "/disk1/logs/"#-------------------------------------------------------------------------------------------------------------------------:log warning message="START: DuckDNS.org DDNS Update":if ([/interface get $wanInterface value-name=running] = true) do={#   Get the previous IP via DNS resolution.    :local previousIP [:resolve "$duckdnsFullDomain"]    /ip firewall address-list remove [find where comment="public"]#   Get the current IP on the WAN interface.    :local currentIP [/ip address get [find interface="$wanInterface" disabled=no] address]#   Strip net mask from IP address.    :for i from=([:len $currentIP] - 1) to=0 do={        :if ([:pick $currentIP $i] = "/") do={            :set currentIP [:pick $currentIP 0 $i]        }    }    :log info "DuckDNS: DNS IP ($previousIP), interface IP ($currentIP)"        :if ($currentIP != $previousIP) do={        :log info "DuckDNS: Current IP $currentIP is not equal to previous IP, update needed"        :log info "DuckDNS: Sending update for $hostname"        /tool fetch mode=https keep-result=yes dst-path=($logDestination . "duckdns-ddns-update.txt") address=[:resolve www.duckdns.org] port=443 host=www.duckdns.org src-path=("/update?domains=" . $duckdnsSubDomain . "&token=" . $duckdnsToken . "&ip=" . $currentIP);        /ip firewall address-list add list=public address="$currentIP"  comment=public        :log info "DuckDNS: Host $hostname updated on DuckDNS with IP $currentIP"    }   else={        :log info "DuckDNS: Previous IP $previousIP is equal to current IP, no update needed"        /ip firewall address-list add list=public address="$previousIP"  comment=public        }}   else={    :log info "DuckDNS: $wanInterface is not currently running, unable to verify and/or update IP."    }    :log warning message="END: DuckDNS.org DDNS Update"
    Komentar

    Tampilkan

    Terkini