Руководства

Если Firefox долго ждёт подключения к сайту

2011.05.15

Если честно, долго думал, какой заголовок поставить к этой записи. Дело в том, что столкнулся с невероятным глюком, еле разобрался, в чём дело.

При попытке залогиниться на blogger или даже просто открыть картинку из выдачи результатов поиска по изображениям в Гугле (!) браузер спотыкается на шаге ожидания результатов с сервера. Выводит «waiting for google.com» в строке состояния и всё. Иногда по тайм-ауту дело кончается тем, что Фаерфокс показывает белый экран и всё. Те же симптомы проявляются при попытке загрузить какое-нибудь изображение куда-либо, вообще любой файл. Отправка сообщений в дурацком Вконтакте так же «виснет».

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

Проблема в значении MTU (Maximum Transmit Unit) для передаваемых пакетов. Если на маршрутизаторе на провайдере стоит, скажем, 1460, а у вас отправляются по 1498 (традиционно для ADSL), то вы, как говорится, out of luck. Поэтому надо указать в настройках сетевой карты, что отправлять данные мы будем теперь более маленькими кусочками.

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

Для сетевого интерфейса надо сделать так:

# ifconfig eth0 mtu 1400

Вместо eth0 указать ваш сетевой интерфейс, мало ли, может, у вас eth1. :) 1400 лично для меня оказалось достаточно.

Эти изменения временны. Для того, чтобы они зафиксировались и восстанавливались после перезагрузки, надо добавить вышеприведённую строчку в файл

/etc/rc.local

Если PPPoE соединение устанавливается не роутером, как у меня, а непосредственно компьютером, то надо добавить в файл

/etc/ppp/options

где, собственно, и хранятся настройки PPP соединения, строчку

mtu 1400

В принципе, строчка «mtu» там уже есть, достаточно раскомментировать её и поменять на 1400.

На этом всё, автомагия сработает даже без перезагрузки компьютера. Перепроверять не хочу, но для уверенности я перезапустил сетевой интерфейс после внесения изменений.

За решение проблемы спасибо офигенным чувакам с Линуксфорума, которых я успешно нагуглил: http://linuxforum.ru/viewtopic.php?id=12026.

Предыдущий: Как вручную установить драйвера NVIDIA в Debian Squeeze Следующий: Как развернуть многосайтовый Apache2 на локальной машине с Debian