RouterOS version: 7.23.2 (stable)
Board: RB hAP ac² (or specify per device)
Description:
Currently, /ip cloud automatically publishes both IPv4 and IPv6 (AAAA record) addresses to the DDNS hostname whenever the router has a global IPv6 address, with no way to disable IPv6 publication independently of IPv4.
/ip cloud print
ddns-enabled: yes
ddns-update-interval: none
update-time: yes
public-address: xxx.xxx.xxx.xxx
public-address-ipv6: yyyy:yyyy:yyyy:yyyy::y
dns-name: zzzzzzzzzzzz.sn.mynetname.net
status: updated
public-address-ipv6 is a read-only field — there is no writable parameter to suppress it:
/ip cloud set public-address-ipv6=""
bad parameter public-address-ipv6 (line 1 column 34)
Use case / problem:
When a router has dual-stack WAN (IPv4 + IPv6), but a LAN device behind it (e.g. an NVR, camera, or any other service being accessed via DDNS) only supports IPv4, client applications resolving the DDNS hostname receive both A and AAAA records. Many clients (following Happy Eyeballs / IPv6-preferred behavior) attempt to connect via IPv6 first, fail (since the target device has no IPv6 connectivity and/or the firewall correctly drops unsolicited inbound IPv6), and either hang or fail to fall back to IPv4 promptly.
The only current workarounds are:
- Fully disabling
ddns-enabled(loses IPv4 DDNS too, not viable with dynamic public IPv4) - Disabling the IPv6 DHCP client entirely on the WAN (loses IPv6 connectivity for the whole router/LAN, not just DDNS publication)
- Editing hosts files on every client device (not scalable, doesn't work well on mobile)
None of these are acceptable when the router legitimately needs IPv6 connectivity for other purposes, but the specific service being published via DDNS is IPv4-only.
Requested feature:
Add a writable parameter to /ip cloud, e.g.:
/ip cloud set ddns-publish-ipv6=no
allowing IPv6 address publication to the Cloud DDNS record to be disabled independently, while keeping the IPv6 connectivity of the router itself (and IPv4 DDNS) fully functional.