Автор Тема: Интернет через WiFi роутер - не работает отправка (решено)  (Прочитано 24203 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sivers

  • Новичок
  • **
  • Автор темы
  • Сообщений: 16
Пару дней возился с роутером TP-Link 340G, пока не нашел причину. Расскажу - может кому пригодится.

Симптомы были следующие:
Интернет подключен по витой паре (vpn/l2tp), при подключении напрямую все работало замечательно (провайдер Корбина/Билайн). Когда поставил роутер (у меня 2 компа), проявилась следующая неприятность - перестала работать отправка через веб-формы (почта, форумы, регистрации и т.п.), Дропбокс не мог выложить файлы, сообщения вконтакте не отправлялись (о, ужас!)...
При этом все пингуется, пакеты не теряются, задержек нет.

После мучительных поисков выяснилось, что проблема такая не только у меня и не только на моем роутере. А причина проблемы оказалась в параметре MTU. Кто хочет подробнее узнать что это - поищите в янде или вики. А в кратце - это максимальный размер пакета TCP. Есть несколько стандартов максимального размера пакета для разных типов подключения. Для Ethernet оно составляет 1500 байт. По умолчанию система выставляет максимальный параметр для интерфейса, если удаленная сторона не сообщит, что хочет работать с МТУ другого размера... Провайдер же работает с параметром МТУ 1460. При подключении напрямую это же значение автоматически выставлялось для моего сетевого интерфейса и все замечательно работало. А роутер поступил иначе - на интернетном интерфейсе выставился МТУ=1460, а на интерфейсах клиентов - стандартные МТУ=1500. В итоге мои паеты, грубо говоря, не влазили в окно, предоставленное провайдером и терялись. На прием все работает нормально, потому что мое "окно" шире, чем пакеты провайдера. На этом "краткая" теория заканчивается ))

А теперь РЕШЕНИЕ:
Разбираться с провайдером и настраивать специальным образом фаерволл, как советовал один хороший человек в единственной толковой (из найденных) статье, мне не хотелось.
Поэтому было решено вручную уменьшить МТУ на клиентких машинах до такого размера, при котором все будет рабоать. Опытным путем выяснилось, что это МТУ=1450 (а не 1460, как я сначала думал). Уж куда расходуются эти 10 байт - выяснять было лень.
Сам же параметр MTU можно изменить в консоли такой командой:
sudo /sbin/ifconfig eth0 mtu 1450
А чтоб не приходилось делать это каждый раз при перезагрузке, можно прописать его в /etc/network/interfaces:
iface eth1 inet dhcp
pre-up /sbin/ifconfig eth1 mtu 1450
Вот только на втором компе, который работает через WiFi (и на котором стоит Рунту, кстати) такой способ не прокатил. Решил настроить через wicd, но там такой параметр, как MTU, почему-то не обнаружился. Но было найдено решение и для него. Оказалось достаточно создать скрипт:
/etc/wicd/scripts/preconnect/mtu
содержащий в себе:
/sbin/ifconfig wlan0 mtu 1450
после чего зашел wicd - Настройки - Параметры - Сценарии (ввел пароль) и в поле "Pre-connection Script:" написал "mtu" - то есть имя своего скрипта.
Все.

Оффлайн vmf

  • Местный
  • *****
  • Сообщений: 587
  • vmf000@yabber.ru
Полезная информация!
От себя добавлю:
(сам долго разбирался с проблемой - не работал прием почты с mail.ru и были проблемы с некоторыми сайтами вроде вышеописанных)
Решение со сменой MTU на клиентах хорошо, если клиентов пара-тройка. Иначе лучше заставить роутер перепаковывать запросы. В случае железного роутера это не всегда можно. У меня-же роутером работает ubuntu. Решение - добавить правило:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1172
PS: Диагностируется проблема пингом с указанием размера пакетов

Оффлайн calambus

  • Местный
  • *****
  • Сообщений: 1465
  • calambus@jabber.ru
Сегодня настраивал приятелю WiFi роутер D-Link DSL 2640U/C2 , у нас их нонче при подключении к интернет-провайдеру Авангард презентуют "в подарок" при подключении , а эта тема навела на размышления по поводу оптимизации MTU через WiFi роутер .
Для проверки воспользовался услугами весьма полезного ресурса : Измерение реальных параметров MTU и рекомендации по их корректировке .
Всё подтвердилось  как и ожидал , в настройка Network Manager сетевого беспроводного соединения  , установил вручную параметр MTU=1452 , рекомендованный к применению по ссылке приведённой выше ...

[Alt + F2] => [gksu nm-connection-editor]

                                                                                
« Последнее редактирование: Июль 01, 2013, 20:45:21 от calambus »
опыт увеличивается пропорционально количеству выведенных из строя Систем и оборудования...
Руководство по добавлению изображений на Форум

Оффлайн calambus

  • Местный
  • *****
  • Сообщений: 1465
  • calambus@jabber.ru
опыт увеличивается пропорционально количеству выведенных из строя Систем и оборудования...
Руководство по добавлению изображений на Форум