Jag kontrollerade trafikstatistiken på mitt nätverk när något vansinnigt slog mig, något som jag var säker på att det måste vara ett fel:
Nästan 90 % av hela trafiken i mitt nätverk gick till/från Apple.com. Observera att vi är en ganska vanlig kontorsmiljö, det finns ingen anledning till att vi skulle ha 761 GB trafik till VILKA ställen på bara några veckor.
Den här trafikmängden är för stor till och med för OS-uppgraderingar, så min första tanke var att någon av våra anställda laddade ner och/eller strömmade 4K-filmer från iTunes när de var på jobbet. Låt oss se om vi kan gräva i bandbreddsstatistiken per klient och hitta den skyldige…
Vänta…det är MIN MASKIN. Min egen iMac hade laddat ner 436 GB från Apple.com. Vad i helvete är det som händer? Jag öppnade Aktivitetsövervakaren på min maskin för att se om jag kunde hitta den felande processen (Obs: jag hade redan åtgärdat problemet innan jag tog den här skärmdumpen, men processen ”mDNSResponder” hade nästan 600 GB trafik).
Efter mycket googlande och grävande sidor och sidor djupt in i Apples supportforum hittade jag till slut ett enda inlägg som antydde att överdriven DNS-trafik kan orsakas av felkonfigurerad OpenDNS. Detta fick mig att undra om någon anpassad DNS-server kunde orsaka problemet, och jag kom ihåg att jag hade konfigurerat både min iMac och vår router för att använda Googles kostnadsfria 8.8.8.8.8 DNS-server. Jag kommer inte att gå in på varför du kanske vill använda 8.8.8.8.8 i den här artikeln, men här finns en gedigen beskrivning.
Det visar sig att om du konfigurerar både din router (på nätverksnivå) OCH din klient (på OS-nivå) för att använda samma hårdkodade DNS-upplösare, så skapar det en konflikt som leder till massiv och duplicerad DNS-trafik.
Det innebär att du kan få det här problemet om du använder någon av följande offentliga DNS-upplösare:
- Google – 8.8.8.8.8 / 8.8.4.4
- OpenDNS – 208.67.222.222 / 208.67.220.220
- Cloudflare DNS – 1.1.1.1.1
För att åtgärda problemet – se till att konfigurera anpassade DNS-servrar på antingen routern ELLER klienten, men inte båda. Den bästa metoden är att konfigurera DNS-servrarna på routernivå och sedan låta alla klienter hämta DNS-servrar från routern med hjälp av DHCP. Om du kodar DNS-serveradresserna hårt på båda ställena kan du förbereda dig på att förbruka all din bandbredd med DNS-förfrågningar.
Förhoppningsvis rankas det här Medium-inlägget tillräckligt bra på Google för att andra ska kunna hitta det – applådera om det har hjälpt dig!