I have a RB5009 running 7.15.1. My ISP (AT&T US) uses router advertisements to advertise a DNS server that shows up in the “Dynamic Servers” field of the DNS settings. There doesn’t seem to be a way to prevent this.
I have set use-peer-dns=no on all the interfaces under /ipv6/dhcp-client. I have also set advertise-dns=no on all interfaces under /ipv6/nd. There doesn’t seem to be a way to make the router ignore this DNS server.
This is a problem for a couple reasons: first, my NextDNS resolvers aren’t always used which can allow ads and the like to be resolved. Second, AT&T has a very annoying practice of hijacking DNS queries that result in a NXDOMAIN and forwarding you to a page with ads and “suggested links”. I have turned off that “feature” on their website but it still does it.
For a while I had it working by setting an IPv6 NAT rule to NAT all traffic outbound on the WAN port to NextDNS instead, but it stopped working and I don’t know why.
Can anyone help me get rid of this dynamic DNS server? I submitted a ticket to Mikrotik months ago but they just said essentially “we might do something about it”.
How does your router obtain the IPv6 address and routes from your ISP?
Note that not everyone will be familiar with the procedures your ISP uses.
When you don’t know the technical details, at least show us the output of “/ipv6 export”.
Hmm. On the RB1100, using AT&T Fiber, I don’t show any dynamic addresses in /ip/dns if IPv6 DHCP has it disabled (and if IPv6 DNS is “use peer DNS” checked, AT&T DNS gets added a dynamic, uncheck it get removed). At least in 7.16beta.
It’s all SLAAC. There is a bit of a hack because I have two VLANs but AT&T will only give you a /64. But they will give you as many /64s as you ask for, so I use two vrrf interfaces to ask for separate /64s.
That does not sound very convenient… can’t you enable DHCPv6 and request a prefix with that?
If so you can disable SLAAC (DHCPv6 has the option to receive the DNS servers or not)
IIRC at the moment RouterOS doesn’t let you administratively override how it uses received Router Advertisements. Please contact Mikrotik support and make a feature request at https://help.mikrotik.com/servicedesk/servicedesk
I did. They closed the ticket and said “we’ll think about it”.
I am actually not sure how to do that. I confess IPv6 is a bit of an enigma to me. I’m actually not sure what differentiates SLAAC and DHCPv6 in RouterOs. It seems I am using the “dhcp client” already. What needs to change?
Thought experiment: what if you add a firewall rule that drops the Router Advertisements (ICMPv6, type 134, code 0) from the WAN entirely, instead relying on the DHCPv6 Client option to “Add Default Route”?
I know that ideally the default route should come from the Router Advertisement, and that the “Add Default Route” is but a fallback resource for working with ISPs with broken or no Router Advertisements at all, but this way I think there is a chance of having the IPv6 working without the DNS servers from the ISP.
You are a genius. I couldn’t get it to work by creating a firewall rule but in /ipv6/settings I just set accept-router-advertisements=no and the errant DNS server disappeared. IPv6 connectivity seems unaffected.
Separately, I did get my NAT rule working again. For some reason it had stopped. I re-created it and it once again started natting traffic to the NextDNS server. Must be a bug.
Same problem here. Router OS 7.20. Cannot get rid of advertised upstream DNS server.
IPv6 is disabled.
accept-router-advertisements=no
IPv6 filter on the bridge1
Still obtaining it. Insane.
The only solution is to disable IPv6 on PC.
UPDATE: it WAS a problem on a Mikrotik but then it’s turned out to be a Windows 11 problem or Wi-Fi adapter problem. Advertised DNS server has been cached and linked to the Wi-Fi network. None of known cache flush command or deleting Wi-Fi profile helped. Re-installing adapter helped. Perhaps it was cached on the adapter level.