Windows Server 2008 и EDNS0

Столкнулся с интересной проблемой. Начал криво грузиться Facebook и еще несколько сайтов. Не показывается часть картинок. Изучение вопроса показало, что время от времени DNS на Windows 2008 Server не резолвит имена хостов. Копание в логах DNS показало следующее:

Event 5501. The DNS server encountered a bad packet from 193.108.88.1. Packet processing leads beyond packet length. The event data contains the DNS packet.

IP 193.108.88.1 принадлежит известному сервису Akamai, на котором многие сайты (в том числе и Facebook) хранят картинки.

В процессе гугления наткнулся на вот эту статью из KB Microsoft:

http://support.microsoft.com/kb/832223

Вкратце проблема состоит в следующем: для протокола DNS существует расширение, которое называется EDNS0. Оно необходимо для передачи UDP пакетов длиной более 512 байт. Так экономят траффик — фрагментированные пакеты его жрут. Одна проблема: не все роутеры понимают такое издевательство. Мой DI-804HV видимо не умеет передавать UDP такого размера, либо по соображениям секьюрити максимальная длина пакета урезана. MS рекомендует либо настроить роутер/фаерволл (что в моем случае невозможно), либо выключить EDNS0. Делается это так:

dnscmd /config /enableednsprobes 0

После исполнения этой команды и перезапуска DNS сервера все заработало как надо.

5 комментариев Windows Server 2008 и EDNS0

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>