Почему из Ubuntu определенный сайт открывается через раз?
Ситуация проблемы: есть сеть, в которой примерно 90% компьютеров с OS Ubuntu. Остальные - Mac OS и Windows. Несколько дней назад, по непонятной мне причине, сайт cian.ru перестал стабильно открываться на всех компьютерах с OS Ubuntu. Сайт либо открывается сразу, либо не открывается вообще с ошибкой в браузере проверить подключение к интернету, либо открывается повисев секунд 30-60. На Mac OS и Windows сайт открывается без нареканий сразу и без ошибок. Никакие другие сайты затронуты не были. Интернет работает стабильно, без сбоев и сильно не нагружен. Проблемный сайт пингуется стабильно.
Сниферили траффик к сайту. В случае успешного открытия сайта - никаких ошибок, посылается запрос на 80ый порт, приходит сразу ответ и дальше до полного открытия страницы. В случае неуспешного открытия - посылается практически одновременно 2, 3 запроса с разных портов на порт 80, и дальше происходит несколько TCP Retransmission и далее либо успешный ответ через 30-60 секунд, либо страница не открывается вовсе по timeout'у.
Весь траффик ходит через сервер. Чтобы исключить его влияние, он отключался полностью и траффик направлялся через роутер. Так же использовались разные DNS сервера. Проболема не решилась.
При подключении ноутбука с Ubuntu в другую сеть, сайт начинает открываться без проблем. Таким образом получается проблема внутри конкретной сети.
Неиспробованным остался только один метод - отключить все компьютеры от сети и подключать их один за другим, пока снова не воспроизведется проблема. Данный метод не является надежным способом выявления проблемы, так как сама проблема плавающая.
Найдено временное рабочее решение - в браузерах установлен плагин zenmate, который роутит траффик через свои сервера.
Вопрос: помогите, пожалуйста, понять что могло изменится в сети, что перестал работать конкретный сайт на определенной операционной системе? Что может вносить подобного рода проблему?
@inkvizitor68sl, @Ars1s, я экспериментировал с MTU следующим образом: отключил сервер, через который шел траффик и поставил роутер. Соответственно сеть подключалась к интернету через него. На самом роутере через web-интерфейс указал MTU 1200. Компьютеры в сети подхватили новое значение.
Тестировал доступ к сайту с компьютера, на котором ifconfig показывал mtu 1200. Проблема не исчезла - открывался сайт через раз.
@inkvizitor68sl я оставил такое же значение на компьютере как и на роутере, потому что прочитал что есть технология, которая позволяет компьютеру самому настроится на нужный MTU.
Провели тест. На сервере (который в интернет выводит) уменьшили до 1200, на тестовом компьютере до 1100. Проблема осталась.
от куда запускали ? нужно отследить весь маршрут от вашей проблемной сети, до вашего роутера. Ну и конечно, попробуйте напрямую отправить нефрагментированный пакет 1500 байт, с вашего роутера, и постепенно понижайте.
Не охото заниматься вангованием, но еще не понятно по L3 интерфейсам до вашего ISP, случаем не используете ли gre туннели ? Они имеют свойство увеличивать размер пакета засчёт дополнительных заголовков (GRE, IPSec и т.д.).
@Ars1s где указывалось новое значение MTU я написал в комментарии выше.
Что касается провайдера, то никаких особых настроек он не требовал, только выдал IP, mask, DNS, всё стандартно.
Забыл уточнить в своем вопросе: провайдера исключили следующим образом: провод интернета подключили напрямую к компьютеру и прописали выданные провайдером стастический IP. За время тестирования (2-3 минуты) сайт открывался без задержек и перебоев.
Отсюда есть мысль что проблема внутри самой сети.
пробовали проверять на win7 ? открывается ли там ваш проблемный сайт ? если пробовали, и все ровно не открывается, попробуйте снизить mtu на win7:
Выполните команды для просмотра текущих значений MTU:
netsh interface ipv4 show subinterfaces
MTU MediaSenseState Bytes In Bytes Out Interface
-------- ------------------------ ----------- -------------- -------------
4294967295 1 0 1348 Loopback Pseudo-Interface 1
1500 1 3734 2824 Local Area Connection
Далее выполните команду для установки нового значения MTU (например, 1452; по умолчанию в Windows используется значение MTU=1500):
netsh interface ipv4 set subinterface "Local Area Connection" mtu=1452 store=persistent
или для беспроводного интерфейса:
netsh interface ipv4 set subinterface "Wireless Network Connection" mtu=1452 store=persistent
Затем перезагрузите компьютер.
Для просмотра текущих значений MTU вновь выполните команду:
netsh interface ipv4 show subinterfaces
При необходимости, для сброса значений MTU на установки по умолчанию выполните команду:
netsh interface ipv4 reset
и перезагрузите компьютер.