Назад | Перейти на главную страницу

Странное сетевое взаимодействие между Vista и Ubuntu

У меня есть сеть, в которой мой WAN (CableModem) переходит в (сомнительно настроенную) систему Ubuntu, которая действует как маршрутизатор для всей компании.

Недавно мы сменили нашего интернет-провайдера и наблюдаем очень странное поведение. На машинах Vista / Server 2008 некоторые веб-сайты не работают. Это время от времени приходит и уходит, но есть один, www.dilbert.com, который никогда не работает.

Мы экспериментировали с этим несколько недель, и вот то, что мы нашли ...

Теперь я могу предположить, что это какое-то странное взаимодействие между сетевым уровнем Vista (который, как я понимаю, был переписан с XP, это не то же самое) и Ubuntu.
Это все, что у меня есть. Кроме того, я полностью ошеломленный, и начинающий верить, что на моем доме есть проклятие.

Может ли кто-нибудь из вас придумать какие-либо правдоподобные идеи относительно того, что может происходить / что я могу сделать, чтобы исправить / диагностировать это?

ПРИМЕЧАНИЕ: Я НИЧЕГО не знаю о Linux, хотя я могу запускать команды, если вы можете придумать что-то, что даст мне некоторую полезную информацию.

Спасибо!
Даниэль

Для меня это проблема с MTU. Однако я не знаю, что такое алгоритм MTU в Vista.

В качестве простого теста установите MTU вашего компьютера Vista искусственно заниженный, например 500, и посмотрите, решит ли это проблему. Если это так, мы можем сказать, что MTU является причиной, и вернуться к рассмотрению того, как именно это исправить.


Что такое MTU?

MTU == Максимальный блок передачи. Фактически, это самый большой пакет Ethernet, который отправляет ваш компьютер. В спецификации IP говорится, что если маршрутизатор получает пакет, слишком большой для отправки его (другого) интерфейса, он может либо фрагментировать пакет, либо отправить обратно ICMP-сообщение, в котором говорится, что «это слишком большой». Однако фрагментация плохо сказывается на производительности, поэтому многие из этих маршрутизаторов никогда не соглашаются на фрагментацию. Кроме того, современные операционные системы используют уловку для определения оптимального MTU для определенного пути, отправляя пакеты уменьшающегося размера, пока они не перестанут слышать ответ о том, что пакет слишком велик. Это Path MTU Discovery или PMTUD.

С вами происходит то, что маршрутизатор где-то отказывается фрагментировать пакет, но ваша машина Vista никогда не слышит уведомление об отказе. Когда вы устанавливаете свой MTU очень маленьким, вы говорите ОС всегда передавать пакеты меньшего размера, чем любая современная схема может принять, поэтому ваши пакеты никогда не столкнутся с необходимостью фрагментировать.


Обновить

Теперь, когда мы знаем, что это проблема MTU, которая касается только вашего маршрутизатора Ubuntu, это может означать, что ваш маршрутизатор Ubuntu каким-то образом нарушает фрагментацию пакетов.

Это брандмауэр? Это блокирует ICMP? Если да, попробуйте отключить это. (Очевидно, сначала вернитесь к стандартному MTU, равному 1500; в противном случае вы будете устранять проблему, которой больше не существует.)

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

Я лично рекомендую pfSense.Один из обычное развертывание pfSense - это брандмауэр по периметру.