Hello I just purchased my 1st Mikrotik device which is a hap ac2. It is said that by default Mikrotik has CloudFlare DDNS services.
I have enabled VPN and would like to access my router externally when I’m not at home. I have requested my ISP to put our modem on bridge mode.
And as far as I know for bridge mode it would give my Mikrotik the public IP and my own Mikrotik router would handle all the traffic.
I am unable to access my Mikrotik hap ac2 externally using the given mikrotik cloudflare ddns it came with externally. Please help.
Not sure about cloudfare??
Options:
- Use the MT cloud service alone: Pros - Free, no need for other service, no script required. Con - crappy name for people to remember.
- Use other Service via MT Cloud: PRO- removes need for script in option 2, keeps easy name for users to enter. Con- other service could $$
- Use Existing Service with script: Pro - all continue using known service, don’t need to learn MT cloud. Con- require script knowledge or trust 3rd party script, potential $ other service
Option1: https://wiki.mikrotik.com/wiki/Manual:IP/Cloud
Option 2: Here is one users experience going from using a script approach and the no-ip service, to using the MT manual cloud, which basically consists of directing the no-ip pointer, ( instead of to your public IP ) , to your personal MT cloud ddns, which then directs users to your router.
https://nubcakes.net/index.php/2019/01/29/how-to-setup-ddns-in-mikrotik-without-a-script/
Option 3: There are also scripts floating around to use ones personnel free or paid ddns type service with MT
https://www.dynu.com/DynamicDNS/IPUpdateClient/Mikrotik-Dynamic-DNS
Here is my script for dyndns service. The first three lines have entries in quotes and the quote symbols are required, in case there is doubt. Also the fourth line ddnsname is the name your users will enter to reach your server etc…
:global ddnsuser "username"
:global ddnspass "password"
:global theinterface "wan_interface_name"
:global ddnshost ddnsname
:global ipddns [:resolve $ddnshost];
:global ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ]
:if ([ :typeof $ipfresh ] = nil ) do={
:log info ("DynDNS: No ip address on $theinterface .")
} else={
:for i from=( [:len $ipfresh] - 1) to=0 do={
:if ( [:pick $ipfresh $i] = "/") do={
:set ipfresh [:pick $ipfresh 0 $i];
}
}
:if ($ipddns != $ipfresh) do={
:log info ("DynDNS: IP-DynDNS = $ipddns")
:log info ("DynDNS: IP-Fresh = $ipfresh")
:log info "DynDNS: Update IP needed, Sending UPDATE...!"
:global str "/nic/update\?hostname=$ddnshost&myip=$ipfresh&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
:global str [/file find name="DynDNS.$ddnshost"];
/file remove $str
:global ipddns $ipfresh
:log info "DynDNS: IP updated to $ipfresh!"
} else={
:log info "DynDNS: dont need changes";
}
}