Can you kindly provide an example, with 2 DNS servers?You can combine it with DHCPv6. If you add server without pool, it will function in stateless mode and only provide info (you'll have to enable "Other Configuration" in "/ipv6 nd" for clients to use it). There you can add any option you like.
Glad to see they finally implemented that, but it is missing the DNS search list option.7.1beta has support for DNS in RA, until then use DHCPv6 option 23
Sure I don't want to, but putting the router's own IPv6 address into router advertisements (if a DNS server is enabled on the router of course) would be a good idea, don't you think?DNS servers are simply taken from "/ip dns", but you don't want to add router's own address there.
Can I both have DHCPv6 server enabled and keep advertise-dns=yes in "/ipv6 nd"? Is this a supported configuration?
How would they know to use it?If the "Advertise DNS" flag is disabled, the client devices will end up using the stub resolver on RouterOS.
What do you mean "how"? If the flag is disabled, client devices will automatically fall back to the IPv4 DNS address that was originally advertised with DHCP, so that would be the Router's IP address unless you use PiHole like I do or some other DNSSinkhole.How would they know to use it?If the "Advertise DNS" flag is disabled, the client devices will end up using the stub resolver on RouterOS.
Ah, I thought you meant "will end up using the stub resolver on RouterOS over IPv6", so I was surprised how they would learn it.What do you mean "how"? If the flag is disabled, client devices will automatically fall back to the IPv4 DNS address that was originally advertised with DHCP [...]How would they know to use it?If the "Advertise DNS" flag is disabled, the client devices will end up using the stub resolver on RouterOS.
I see.Ah, I thought you meant "will end up using the stub resolver on RouterOS over IPv6", so I was surprised how they would learn it.What do you mean "how"? If the flag is disabled, client devices will automatically fall back to the IPv4 DNS address that was originally advertised with DHCP [...]How would they know to use it?If the "Advertise DNS" flag is disabled, the client devices will end up using the stub resolver on RouterOS.
Well, if the clients are IPv6 only, there will be no fallback to IPv4 DNS for them.Yeah, so really, there is no problem with RouterOS's approach to IPv6 DNS, you can use the stub resolver, or you can use direct public resolvers on a per-client basis
I hate the practice of intercepting or modifying clients' DNS traffic. It's basically an attack. I hope this practice will die off naturally as soon as more domains and hosts adopt DNSSEC (or DoH, whichever first).or even like I do... Simply re-direct to a DNSSinkhole and use a custom stub resolver/DNS forwarded/recursive DNS server.
I fail to understand why some people choose to use IPv6 for internal networking, stick with IPv4 for internal networking (which includes the DNS stub resolver), I mean IPv6 was created to restore the end to end principle and not as an alternative to IPv4 internal networking.Well, if the clients are IPv6 only, there will be no fallback to IPv4 DNS for them.Yeah, so really, there is no problem with RouterOS's approach to IPv6 DNS, you can use the stub resolver, or you can use direct public resolvers on a per-client basis
I hate the practice of intercepting or modifying clients' DNS traffic. It's basically an attack. I hope this practice will die off naturally as soon as more domains and hosts adopt DNSSEC (or DoH, whichever first).or even like I do... Simply re-direct to a DNSSinkhole and use a custom stub resolver/DNS forwarded/recursive DNS server.
You got the right idea. Using IPv6 for internal networking has exactly this purpose: to restore the end to end principle. Not all protocols work well through NAT, and some require ugly kludges to work through NAT (like SIP).I fail to understand why some people choose to use IPv6 for internal networking, stick with IPv4 for internal networking (which includes the DNS stub resolver), I mean IPv6 was created to restore the end to end principle and not as an alternative to IPv4 internal networking.
Sure, I also have to use SkyDNS to filter sites in a classroom because traffic filtering for minors is required by Russian law, but it does not prevent me from hating this practice.It depends on the practice use/objective. What I do is run a Pi-Hole instance for filtering/blocking ads/malware domains, which is a DNS Sinkhole, now for the actual DNS queries, all of them are redirected from the client to Pi-Hole and then from Pi-Hole(DNS forwarder) to dnscrypt-proxy (DNS stub resolver) and then finally DoH on Cloudflare.
What? IPv6 was designed with SLAAC in mind, there's absolutely no NAT or ugly hacks needed with a proper prefix delegation from the upstream provider. Unless you have an upstream provider like mine who blocks ICMPv6 and breaks MTU along with a garbage single /64 prefix.You got the right idea. Using IPv6 for internal networking has exactly this purpose: to restore the end to end principle. Not all protocols work well through NAT, and some require ugly kludges to work through NAT (like SIP).I fail to understand why some people choose to use IPv6 for internal networking, stick with IPv4 for internal networking (which includes the DNS stub resolver), I mean IPv6 was created to restore the end to end principle and not as an alternative to IPv4 internal networking.
Sure, I also have to use SkyDNS to filter sites in a classroom because traffic filtering for minors is required by Russian law, but it does not prevent me from hating this practice.It depends on the practice use/objective. What I do is run a Pi-Hole instance for filtering/blocking ads/malware domains, which is a DNS Sinkhole, now for the actual DNS queries, all of them are redirected from the client to Pi-Hole and then from Pi-Hole(DNS forwarder) to dnscrypt-proxy (DNS stub resolver) and then finally DoH on Cloudflare.
What "what"? :-) You said you fail to understand why some people choose to use IPv6 for internal networking (your words?). I explained that some people choose to use IPv6 for internal networking to avoid NAT and its ugly hacks, because IPv6 restores the end to end principle. What is it that you don't agree with?What? IPv6 was designed with SLAAC in mind, there's absolutely no NAT or ugly hacks needed with a proper prefix delegation from the upstream provider. Unless you have an upstream provider like mine who blocks ICMPv6 and breaks MTU along with a garbage single /64 prefix.
Why not an IPv6 caching resolver in the router?DNS for IPv6 should be handled either with your idea of the public to public query or an IPv4 stub resolver,
IPv6 internal networking = Killing SLAAC as you implied with your "IPv6 only clients", why wouldn't they have IPv4 internal addresses aka RFC1918? Dude with IPv6 we have SLAAC, we use IPv4 for INTERNAL use. IPv6 with SLAAC will automatically delegate publicly routable prefixes to each individual client. Where in the hell does NAT come into the picture with native IPv6 SLAAC?What "what"? :-) You said you fail to understand why some people choose to use IPv6 for internal networking (your words?). I explained that some people choose to use IPv6 for internal networking to avoid NAT and its ugly hacks, because IPv6 restores the end to end principle. What is it that you don't agree with?What? IPv6 was designed with SLAAC in mind, there's absolutely no NAT or ugly hacks needed with a proper prefix delegation from the upstream provider. Unless you have an upstream provider like mine who blocks ICMPv6 and breaks MTU along with a garbage single /64 prefix.
Why not an IPv6 caching resolver in the router?DNS for IPv6 should be handled either with your idea of the public to public query or an IPv4 stub resolver,
What? I'm afraid you don't understand what you are talking about. Or maybe your definition of "internal" is unconventional.IPv6 internal networking = Killing SLAAC as you implied with your "IPv6 only clients",
Please name a reason why they need IPv4 at all for "internal" use, or define "internal use".why wouldn't they have IPv4 internal addresses aka RFC1918? Dude with IPv6 we have SLAAC, we use IPv4 for INTERNAL use.
Yes, global prefixes and addresses. Nobody says you cannot use them internally.IPv6 with SLAAC will automatically delegate publicly routable prefixes to each individual client.
It comes into picture when you keep IPv4 RFC1918 addresses for some reason, and they start using them for accessing the public Internet.Where in the hell does NAT come into the picture with native IPv6 SLAAC?
It seems that not all Android clients honour DHCPv6, but I need to investigate this more.IPv6 caching resolver in RouterOS is already possible with "Advertise DNS" set to off, how many times do I need to say this?
I expect so. Who is suggesting such a strange thing?Putting the router itself into IP->DNS is a bad idea -
Thank you for confirming this.Few points:
- IPv6 is supposed to eventually replace IPv4, so IPv6-only networks make sense. Only when you do it now, you may be a little bit too ahead. Most of the internet is still IPv4-only, so you need NAT64 + DNS64, which is not exactly nice (mainly the DNS64 part). That said, it's not wrong, you can build clean IPv6-only internal network like this.
I tried DHCPv6 at home and the results are mixed. I need more testing. Maybe I misconfigured something but some Android devices were not learning the IPv6 DNS address.- Whether DHCPv6 is enough depends on clients. Android is known for boycotting it for addresses, but I'm not sure if it applies also to additional info (when network has "Other Configuration" in ND).
It would be a good idea however to automatically put one of the router's own IPv6 addresses into RAs rdnss field (provided that a DNS server on the router is up and running). It could be a feature of RouterOS. I think it does something similar with IPv4 DHCP server.- While it would be possible (for v6) to put router's own address in IP->DNS, and it would advertise it, it's probably not good idea.