How to setup remote dns no-ip connect everywhere

i want to know how to link dns no-ip and mikrotik.
i already try script but not working.

someone can help my problem. i am beginner.
i will give you teamviewer connection.
please help

If your MikroTik router is not on a x86 PC, you should just use “/ip cloud”. Bookmark the assigned DNS name, and you’re set.

And if you insist on a more memorable name, when you create your no-ip domain name, use “CNAME” as the record type, and specify the assigned DNS name as the target.

I use the following code and it works perfect.

#************************************************************************************************
# Parameters
#************************************************************************************************
:local username <my-username>
:local password <my-password>
:local hostname <my-hostname>

#availabe options: "http" or "iface"
# - http: will query an external server and discover you public ip (userful for NATted connections)
# - iface: will use the ip address assigned to the $iface interface (see below)

:local discoverBy "http"

# interface used to get ip address from (only if discoverBy = iface)

:local iface "public-dsl"

# current available services: "dyndns", "noip" and "changeip"
:local service "noip"

# number of days to force an update if your IP did not change (helps keeping your account active)
:local forceUpdate 15

#************************************************************************************************
# do not change below this unless you know what you are doing
#************************************************************************************************

: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] }
   }
}

#get IP from DynDNS for our hostname
:local resolvedIP [:resolve $hostname]

# get current date in format mm/DD/YYYY
:local date [ /system clock get date ]

# convert to YYYYMMDD
: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

    :if ($currentIP != $resolvedIP) do={
        /tool e-mail send start-tls=yes to=<my mail address> subject="Public IP for $hostname changed" body="The $hostname public IP address has changed from $resolvedIP to $currentIP"
    }
}

Because the script sends an email when a change is done, you have to make sure your routerboard is able to send emails.
If you don’t need the email functionallity, just remove the last :if block.

PS. I know there are some difficulties in scripts with respect to versions so keep in mind that this script is working for the version I use which is 6.36 for now.

[addition]
Besides the script, you have to create a schedule which starts the script every desired minutes (In my case it runs every 5 minutes)

someone can help my problem. i am beginner.
i will give you teamviewer connection.
please help

Like I replied before with the script.
Create a new script (Within winbox go to system → scripts, hit the plus sign) and put mine in it. Put in your username/password/hostname and you’re good to go.
Additionally create a schedule (system → scheduler)

yes i already try
but i can’t accept
thank you

thank you all
i got it.

i have another problem?
I have two mikrotik HO and Branch
HO Mikrotik connect ISP.
Branch Mikrotik is connected cable from HO.

but i can accept noip and mikrotik HO only.
i can’t connect noip and mikrotik Branch…

why?
please help me