/ip cloud print
Perhaps they need to start with a pager for someone... They don't seem to do well with issues in middle of the [Riga] night...Since DDNS going down is an ongoing issue, I wish Mikrotik would provide a website that informs people about what's happening. The website could possibly include an ETA.
# dig @ns1.kissthenet.net <redacted serial>.sn.mynetname.net in cname
; <<>> DiG 9.18.28-0ubuntu0.24.04.1-Ubuntu <<>> <redacted serial>.sn.mynetname.net in cname
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 53986
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
...
Hi,We rely heavily on this service for stable connectivity, but it appears to be non-functional at the moment.
Is there any alternative solution we can use to ensure a stable connection?
We depend on this service for critical operations, so having a reliable alternative or knowing when it will be restored would be greatly appreciated.
Universal solution would be for Mikrotik to implement DNS RFC2136 support allowing dynamic record updates to *any* standards compliant DNS server/service.We depend on this service for critical operations, so having a reliable alternative or knowing when it will be restored would be greatly appreciated.
Is there any alternative solution we can use to ensure a stable connection? We depend on this service for critical operations, so having a reliable alternative or knowing when it will be restored would be greatly appreciated.
# No-IP DDNS Updater
# http://www.noip.com/integrate/
:global publicIP;
:global abortUpdate;
:if ([:typeof $abortUpdate] != "bool") do={
:set $abortUpdate false;
}
:if ($abortUpdate) do={
:error "DDNS: Update aborted. Intervention required.";
}
:local currentIP;
:local targetInterface "ether1";
:local ddnsUser "yourusername";
:local ddnsPass "yourpassword";
:local ddnsHost "youraddress";
:local ddnsURL "http://dynupdate.no-ip.com/nic/update?hostname=$ddnsHost&myip=$currentIP";
:if ($targetInterface = "ether1") do={
:local response [/tool fetch url="http://ip1.dynupdate.no-ip.com/" as-value output=user];
:if ($response->"status" = "finished") do={
:set currentIP ($response->"data");
} else={
:set currentIP "";
}
} else={
:set currentIP [/ip address get [/ip address find interface=$targetInterface] address];
:if ([:typeof $currentIP] = nil) do={
:error "DDNS: No IP obtained.";
} else={
:set $currentIP [:pick [:tostr $currentIP] 0 [:find [:tostr $currentIP] "/"]];
}
}
:if ($currentIP != $publicIP) do={
:local response [/tool fetch url=$ddnsURL user=$ddnsUser password=$ddnsPass as-value output=user];
:if ($response->"status" = "finished") do={
:local data ($response->"data");
:set $abortUpdate (!([:pick $data 0 4] = "good" || [:pick $data 0 5] = "nochg"));
:set $publicIP $currentIP;
:log info "DDNS: Update succeeded."
} else={
:log error "DDNS: Update failed.";
}
} else {
:log info "DDNS: No IP change.";
}
Sure, build-in would be best, but plenty of mikrotik scripts out there for updating DNS servers.World is full of custom, free and commercial dynamic DNS services and protocols, but RFC2136 should be first to be implemented.
It would be great to have zero trust inside mikrotik. +1No they need to protect their services with cloudflare and then have the eureka moment of making cloudflare zerotrust an option package on at least ARM routers LOL.
what software do you use to monitor status? uptime kuma?Is mynetname down again? My CNAME for that name has been down since about 9:55pm.
# get the public ip address
:global debugA [/tool/fetch url=https://api.ipify.org output=user as-value];
:global debugA1 ($debugA->"data");
# set the public ip address
:local $zone_id xxxxxxxxxxxxxxxxxxx
:local $redord_id xxxxxxxxxxxxxxxxxxx
:local $auth_api_token xxxxxxxxxxxxxxxxxxx
:global debugB [/tool fetch url="https://api.cloudflare.com/client/v4/zones/$zone_id/dns_records/$redord_id" http-method=patch http-header-field="Content-Type: application/json,Authorization: Bearer $auth_api_token" http-data="{\"content\":\"$debugA1\"}" output=user as-value];
:global debugB1 ($debugB->"status")
:global debugB2 ($debugB->"data")
This happens every 1-2 years, it's not the first timeFinally, the service is back.
The question is, can we trust this service in the future?
C:\Users\xxx>nslookup
Default Server: home.com
Address: 192.168.10.1
> server 8.8.8.8
Default Server: dns.google
Address: 8.8.8.8
> 6f3--------60.sn.mynetname.net
Server: dns.google
Address: 8.8.8.8
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to dns.google timed-out
Threads merged.
Correct attitude !It seems to be working now, checking from Greece. BTW, free service means "Best effort" SLA... If critical systems depend on connectivity other means should be used for DDNS, usually with a fee.
We have identified the issue and a fix is coming shortly.
No need for +1 comments. You already have the attention by Mikrotik.
We have identified the issue and a fix is coming shortly.
If you are a corporate client who relies on FREE dynamic DNS service for your critical functions, the problem is poor design.Down from yesterday at 00:00+ ... all the services not usable, thanks god we have another host from other service... what happened? Maybe they want to charge the service? They try to change all the corporate type and be like cisco? Let's see... We will change all the hardware if Mikrotik change corporate stategies to be like ultra capitalistic cisco... In the first we choose this software-hardware for the diferrence of all the other companies... if it is the same this is bad for reputation and most of us will go to another software-hardware setup.
just use your own dns, set up a cname to the ugly domain name and problem solved.Current issue aside I just wish that they would start using more respectable domains names for this dynamic DNS service.
kissthenet.net and mynetname.net sound more like highly suspicious chinese spam operation than reliable DNS service.
Maybe something with their main brand domain like:
ns1.dyn.mikrotik.com
ns2.dyn.mikrotik.com
and CNAMEs as:
<serial>.sn.mikrotik.com IN CNAME <ip>
just use your own dns, set up a cname to the ugly domain name and problem solved.
We have identified the issue and a fix is coming shortly.
MikroTik Cloud, mynetname is down, Makedonija
I did off course read that. But it now seems to work and since no more post not working for me too, it would be nice with an update from MT, like:@Jotne
From @normis:We have identified the issue and a fix is coming shortly.
From: @rextended to @jontne
From @normis:We have identified the issue and a fix is coming shortly.
FWIW, RouterOS does support RFC2136 updates – /tool/dns-update: https://help.mikrotik.com/docs/spaces/R ... ynamic+DNS.Universal solution would be for Mikrotik to implement DNS RFC2136 support allowing dynamic record updates to *any* standards compliant DNS server/service.We depend on this service for critical operations, so having a reliable alternative or knowing when it will be restored would be greatly appreciated.
:local wanInterface "ether1"
#DNS Zone ID
:local zoneID “12345"
#DNS record ID
:local recordID "12345"
#your API token
:local apiToken "12345"
# determine if we use the dhcp script or the current address
:if ([:typeof $"lease-address"] = "nothing") \
do={:local myIP [:pick [/ip address get [find where interface=$wanInterface] address] 0 [:find [/ip address get [find where interface=$wanInterface] address] "/"]]; \
/tool fetch check-certificate=yes url="https://api.cloudflare.com/client/v4/zones/$zoneID/dns_records/$recordID" http-method=patch http-header-field="Content-Type:application/json,Authorization:Bearer $apiToken" http-data="{\"content\":\"$myIP\"}"; \
} \
else={/tool fetch check-certificate=yes url="https://api.cloudflare.com/client/v4/zones/$zoneID/dns_records/$recordID" http-method=patch http-header-field="Content-Type:application/json,Authorization:Bearer $apiToken" http-data="{\"content\":\"$"lease-address"\"}"; \
}
+1I'd like to suggest a public status page for Mikrotik services. So people don't have to flood forum and support helpdesk with all the same "omg, it is down" reports.
If you are aware of that nothing is guaranteed and you do not have problem with some outage, why not use it for business.should not be used for business purposes.
########################################################################################
# Cloudflare stuff
:local ApiToken "_CLOUDFLARE_API_TOKEN_";
:local ZoneId "_CLOUDFLARE_ZONE_ID_";
:local DnsServer "1.1.1.1";
# Records to update
:local DnsRecords {"aaa.aaa.aaa"; "bbb.bbb.bbb"; "ccc.ccc.ccc"; \
"ddd.ddd.ddd"; "eee.eee.eee"; "fff.fff.fff"; \
"ggg.ggg.ggg"; "hhh.hhh.hhh"};
# Interface to use
:local WanInterface "_WAN_INTERFACE_";
########################################################################################
########################################################################################
# Wait some for dhcp lease
:delay 10;
# Fetch WAN_IP from interface
:local WanIp [/ip address get [find interface=$WanInterface] address];
:set WanIp [:pick $WanIp 0 ([:len $WanIp] -3)];
:foreach DnsRecord in=$DnsRecords do={
:do {
# Resolve DNS_IP from dns
:local DnsIp [:resolve domain-name=$DnsRecord server=$DnsServer];
# Compare and update if they differ
:if ($WanIp != $DnsIp) do={
# Prepare request payload
:local ReqRead ("https://api.cloudflare.com/client/v4/zones/" . $ZoneId . "/dns_records?name=" . $DnsRecord);
:local ReqAuth ("Authorization: Bearer " . $ApiToken . ", Content-Type: application/json");
# Query dns record
:local Resp [/tool fetch mode=https http-method=get url=$ReqRead http-header-field=$ReqAuth as-value output=user];
:local Data [:deserialize from=json value=($Resp->"data")];
# Check operation result
:if ($Data->"success" != true) do={
:error "Failed to retrieve record data.";
}
# Retrieve dns_record_id
:local DnsRecordId ($Data->"result"->0->"id");
# Prepare request payload
:local ReqModi ("https://api.cloudflare.com/client/v4/zones/" . $ZoneId . "/dns_records/" . $DnsRecordId);
:local ReqData ("{\"type\":\"A\",\"name\":\"" . $DnsRecord . "\",\"content\":\"" . $WanIp . "\",\"ttl\":1,\"proxied\":false}");
# Perform the update
:set Resp [/tool fetch mode=https http-method=put url=$ReqModi http-header-field=$ReqAuth http-data=$ReqData as-value output=user];
:set Data [:deserialize from=json value=($Resp->"data")];
# Check operation result
:if ($Data->"result"->"content" != $WanIp) do={
:error "Failed to update record.";
}
:log info ("CF_DDNS: Update of \"" . $DnsRecord . "\" successful.");
}
} on-error={
:log info ("CF_DDNS: Error in \"" . $DnsRecord . "\" update.");
}
}
########################################################################################
Clearly you are not paying attention, many folks are using this service for business and were complaining, aka way more than your voice of one.I do not agree about this:If you are aware of that nothing is guaranteed and you do not have problem with some outage, why not use it for business.should not be used for business purposes.
Its a price/quality question.
DynDNS was down for 10+ hour. I can just use my cellphone as an router and connect to it and work. ( I do now that its not possible for all to do that)
It still doesn't seem to work on pure ipv6 networks. Please investigate itIt is now fixed. Sorry for the wait.
cloud2.mikrotik.com
2a02:2330:f:41::2
2a02:2330:f:41::2
Router: hnk-b4 / Hong Kong (MEGA-i)
Command: traceroute ipv6 2a02:610:7501:4000::251
traceroute to 2a02:610:7501:4000::251 (2a02:610:7501:4000::251), 30 hops max, 80 byte packets
1 mei-b6-v6.ip.twelve99.net (2001:2034:0:36::1) 156.203 ms 156.250 ms mei-b5-v6.ip.twelve99.net (2001:2034:0:15a::1) 155.363 ms
2 ffm-bb1-v6.ip.twelve99.net (2001:2034:1:6b::1) 169.800 ms ffm-bb2-v6.ip.twelve99.net (2001:2034:1:6c::1) 169.741 ms 169.673 ms
3 sto-bb1-v6.ip.twelve99.net (2001:2034:1:c4::1) 191.640 ms sto-bb2-v6.ip.twelve99.net (2001:2034:1:c5::1) 188.897 ms sto-bb1-v6.ip.twelve99.net (2001:2034:1:c4::1) 191.710 ms
4 * * *
5 siatet-ic-355842.ip.twelve99-cust.net (2001:2035:0:21c8::2) 210.563 ms 210.807 ms 210.802 ms
6 2a02:2330:f:41::2 (2a02:2330:f:41::2) 205.067 ms 203.260 ms 205.321 ms
7 * * *
8 * * *
9 * * *
10 cloud2.mikrotik.com (2a02:610:7501:4000::251) 199.486 ms 201.147 ms 199.449 ms
Same problem here.is still not reachable over IPv6 from where I am (tested with two ISPs from my country, Vietnam). Trace route shows the last responding hop isCode: Select allcloud2.mikrotik.com
which is in Riga. It also shows that I am routed over Hong Kong, using nodes from AS1299 (Arelion). If I use their looking glass tool to do a traceroute from their HK location, I see the exact same hops, with the difference is that cloud2.mikrotik.com does respond 4 hops afterCode: Select all2a02:2330:f:41::2
!Code: Select all2a02:2330:f:41::2
https://lg.twelve99.net/?type=tracerout ... :4000::251
Code: Select allRouter: hnk-b4 / Hong Kong (MEGA-i) Command: traceroute ipv6 2a02:610:7501:4000::251 traceroute to 2a02:610:7501:4000::251 (2a02:610:7501:4000::251), 30 hops max, 80 byte packets 1 mei-b6-v6.ip.twelve99.net (2001:2034:0:36::1) 156.203 ms 156.250 ms mei-b5-v6.ip.twelve99.net (2001:2034:0:15a::1) 155.363 ms 2 ffm-bb1-v6.ip.twelve99.net (2001:2034:1:6b::1) 169.800 ms ffm-bb2-v6.ip.twelve99.net (2001:2034:1:6c::1) 169.741 ms 169.673 ms 3 sto-bb1-v6.ip.twelve99.net (2001:2034:1:c4::1) 191.640 ms sto-bb2-v6.ip.twelve99.net (2001:2034:1:c5::1) 188.897 ms sto-bb1-v6.ip.twelve99.net (2001:2034:1:c4::1) 191.710 ms 4 * * * 5 siatet-ic-355842.ip.twelve99-cust.net (2001:2035:0:21c8::2) 210.563 ms 210.807 ms 210.802 ms 6 2a02:2330:f:41::2 (2a02:2330:f:41::2) 205.067 ms 203.260 ms 205.321 ms 7 * * * 8 * * * 9 * * * 10 cloud2.mikrotik.com (2a02:610:7501:4000::251) 199.486 ms 201.147 ms 199.449 ms
So, it looks like MikroTik (or one of the 3 hops before them) is blocking IPv6 source addresses from my ISPs. I have no problems reaching other IPv6 services around the world. As a result /ip/cloud only produce an A-record for my router, and no AAAA-record.