Не удается получить доступ к некоторым веб-сайтам, возможно, проблема с MTU на маршрутизаторе?

Два конкретных сайта, к которым я вообще не могу получить доступ, это css-tricks.com и jquery.com, которые очень важны для меня, так как я веб-дизайнер.

Я разговаривал с моим провайдером, и мы попробовали

  • Используя разные браузеры,
  • Используя различные DNS-серверы,
  • Очистка кеша DNS
  • Сброс модема до заводских настроек,
  • и, наконец, об изменении настроек MTU, которые не были доступны в интерфейсе маршрутизатора, они отказались и сказали мне попробовать другой маршрутизатор, если проблема не исчезнет.

Вот проблема, у меня нет другой, и я не хочу платить за это. Очевидно, что этот (Airties RT-211) работает, но, вероятно, есть неправильная конфигурация.

В любом случае, так что я взял поводья и после некоторого поиска в Google я узнал больше о MTU. Итак, очевидно, что мой MTU установлен на 1500. Pinging css-tricks.com с пакетом 1500b возвращает следующую ошибку:

Пакет должен быть фрагментирован, но DF установлен.

Я пробовал свой путь до 1472. В этот момент сообщения об ошибках изменяются на:

Истекло время запроса.

Я также пробовал гораздо более низкие значения, но время ожидания превышало даже пакет 1kb.

Я не думаю, что есть проблемы с DNS-провайдерами, так как я использую тот же ISP на работе, и я могу добраться до этих сайтов.

Я также сделал трассировку, но опять-таки, запрос истек после 16-го прыжка.

Любые идеи кто-нибудь?

3 ответа

Ваш ping испытание не обязательно означает что-либо.

Обычный MTU для Ethernet (и для Интернета) равен 1500. Поскольку ping не считает размер заголовка (28 байт) частью размера пакета, он обычно будет жаловаться Packet needs to be fragmented but DF set если вы попытаетесь использовать размер пакета более 1472 (+ 28 = 1500). DF означает "Не фрагментировать", и пакеты, размер которых превышает MTU, должны быть фрагментированы для передачи.

Кроме того, чтобы вредоносные сканеры не могли обнаружить серверы, обычно отключают ответы на эхо-запросы, поэтому Request timed out не обязательно свидетельствует о проблеме.

Тем не менее, я могу пинговать css-tricks.com и jquery.com и получать ответы, так что у вас действительно могут возникнуть проблемы. Чтобы упростить задачу, сравните IP-адрес, который вы видите для этих сайтов (ping сообщит IP-адрес, который он пингует в скобках после имени домена), с IP-адресом, который вы видите на других компьютерах, которые работают. Также попробуйте tracert или же traceroute (в зависимости от вашей ОС), чтобы увидеть, по какому маршруту идут ваши пакеты. Возможно, между вами и рассматриваемым сайтом существует ошибка маршрутизации, которая показывает, что пакеты уходят в черную дыру. Отмечу, что оба сайта, о которых вы упоминали, находятся в Media Temple, поэтому вы можете попробовать обратиться к ним за помощью.

Это может быть проблема с маршрутизатором где-то вдоль маршрута, который блокирует пакеты ICMP. Это сделано потому, что некоторые вредоносные сайты используют их по гнусным причинам. Подробности смотрите в статьях "Протокол управляющих сообщений Интернета" и "Черная дыра (сеть)" в Википедии. У меня была эта проблема только с сайтом IMDb по какой-то причине, и решение в Linux, которое я использую, объясняется в следующих сообщениях в блоге:

http://blog.glinskiy.com/2009/02/packetization-layer-path-mtu-discovery.html

http://fitzcarraldoblog.wordpress.com/2010/11/30/why-cant-i-access-a-specific-web-site/

Чтобы обойти это, вы должны отключить ICMP и вместо этого включить PLPMD (обнаружение MTU пути уровня пакетирования). Не знаю, как это сделать в Windows, но Google, вероятно, укажет вам правильное направление.

Удачи.

Попробуйте понизить выходной MTU (может быть, pppoe?), Он установлен по умолчанию на 1492. Вы можете установить его на более низкое значение, например 1450.

Какой-то "плохо реализованный" маршрут сделает пакет больше физического предела Ethernet и сделает интернет-соединение некорректным.

Другие вопросы по тегам