Android en IPv6-DNS

Het is altijd DNS

Laatst heb ik weer eens de router onder handen heb genomen — het stukje IPTV van KPN werkte niet zo lekker en in plaats van "stukje howto op een blog ergens" heb ik dit keer eens een draadje op het KPN-forum gevolgd, waar een redelijk uitgebreid en iets kloppender stukje configuratie klaar stond.

En ach, als je dan toch bezig bent, dan geef je IPv6 ook weer eens een kans. Ik had dat op de EdgeRouter verder nooit ingesteld, omdat ik het nooit helemaal lekker aan de gang kreeg, het werkte allemaal niet met de interne DNS en toestanden en drama's.

Zie 'm gaan, dan

Dat met die eigen DNS zit zo: ik draai hier al een tijd AdGuard Home. Net zoiets als PiHole, maar dan iets lichter en, volgens mij, uitgebreider. Draait verder als een tierelier, en houdt voor alle gebruikers binnen mijn netwerk zoveel mogelijk advertenties en andere ellende buiten. Dat is aangevuld met de resolver die de router zelf draait, en die niet veel meer doet dan forwarden naar de provider, nadat-ie eerst de DHCP-leases in een aparte zone heeft toegevoegd.

In normale-mensen-taal: ik kan binnen mijn netwerk verbinden met fractal.lan, of microserver.lan, zonder me druk te hoeven maken over welk IP-adres die host toevallig heeft. Perfect voor luie mensen. Ook één van de redenen waarom ik een grotemensenrouter wilde hebben, want op het KPN-apparaat werkte dat DHCP-leases-resolven maar half, en ik kon al helemaal geen specifieke DSN meegeven aan DHCP-responses.

En toen ging alles stuk met IPv6

Nee, natuurlijk ging niet alles stuk met IPv6, maar ik was mijn adblocking kwijt. Een host die een zinvolle IPv6-verbinding heeft, zal proberen alle verbindingen (ook die naar een DNS-server) óók via IPv6 te maken. Mijn AdGuard Home-servertje draaide alleen op IPv4, dus die werd overgeslagen - en dus kreeg ik weer advertenties.

Dat was simpel genoeg op te lossen: vast IPv6-adresje eraan knopen, die door de router laten uitdelen bij het verwelkomen van hosts op het netwerk, done deal. Bijna alle apparaten konden daarmee uit de voeten.

Behalve de Android-devices.

Het punt is namelijk, dat ik maar één AdGuard Home-server had draaien, en Android het absoluut niet slikt als je maar één resolver meestuurt in de router-advert. De wifi-verbinding werd opgetuigd, en direct daarna weer verbroken, en daarna weer opgebouwd, en weer opnieuw verbroken...

Een tweede resolver meesturen is dus een vereiste, maar als ik als tweede die van de provider meegaf, besloten beide Android-devices dat ze enkel en alleen die tweede resolver wilden gebruiken...

Ik heb dus maar een tweede AdGuard Home-resolver in het netwerk gehangen, en nu is alles weer zoals het zijn moet, en ik heb redundantie, jeuj.

Which reminds me...

Na een tijdje begon me iets te dagen - ik had al eerder gedoe gehad met DNS en Android.

In de IPv4-situatie was het namelijk ook problematisch om maar één resolver mee te geven aan een DHCP-respons, al weet ik even niet meer wat er dan precies gebeurde - uit mijn hoofd vulde Android dat stilletjes aan met de DNS van Google zelf, en aangezien dat de resolver was, ging alle verkeer dáár naartoe. Precies wat ik niet wilde.

Kortom: Android is netwerktechnisch een beetje stom.

Los daarvan: de EdgeRouter draait nu beter dan ooit, netwerk is prima, IPv6 is prima, IPTV is prima. Leve forums.

Je gebruikt een browser die Google's FLOC gebruikt en daarmee op je spioneert. Lees hier meer over waarom dat een slecht idee is.