Может кто сталкивался, подскажите что можно сделать.
Суть проблемы в следующем.
Имеется сеть и инетовский канал доступа. Канал пролегает через туннель, поскольку в сетке ходят локальные адреса.На двух концах по маршрутизатору.
Все вроде бы замечательно. Туннель работает, юзера получают инет.
Однако периодически возникает проблема с доступом по www. Большая часть сайтов открывается нормально, за исключением некоторой группы.
Выражается это в соединении, посылке запроса который уходит в неизвестность.
Сам уже сообразил, что проблемы могут быть с MTU. На туннеле стоит соответственно 1480. У себя на машине ставлю на интерфейсе MTU 1480 - все нормально.
Но как это побороть глобально?
ping <флаг_не_фрагментировать> <размер_mtu> <плохой_сайт>Поиграй с разными mtu - сам поймешь
>ping <флаг_не_фрагментировать> <размер_mtu> <плохой_сайт>
>
>Поиграй с разными mtu - сам поймешьПопробовал, ну с ping'ом все понятно при размере пакета большем 1480 не фрагментированный пакет не проходит ping в этом случае, заявляет:
ping: local error: Message too long, mtu=1480
Меньше - пожалуйста, но проблема в том как обеспечить юзерам доступ к этим сайтам из сети. С сервера на который выходит туннель все видно прекрасно. Увеличение MTU на туннеле результата не дает. Или наоборот уменьшать?
>С сервера на который выходит туннель все
>видно прекрасно.Тогда рассказывай как юзеры выходят в инет. NAT? proxy? какой туннель?
А еще попробуй нефрагментированный ping с разными mtu с рабочей станции
>>С сервера на который выходит туннель все
>>видно прекрасно.
>
>Тогда рассказывай как юзеры выходят в инет. NAT? proxy? какой туннель?
>
>А еще попробуй нефрагментированный ping с разными mtu с рабочей станцииТуннель типа ipip лежит от основного сервера до граничного с провайдером маршрутизатора. На внешнем его интерфейсе нормальный инетовский адрес, на внутреннем - локальный. Между ними в сети ходят локальные ("левые") адреса.
Юзера работают через NAT (iptables) на этом сервере. Причем тем из них кому нужно "полное" присутствие в инете (имеется свой сервер) выдается свой инетовский адрес и двухсторонний NAT для этого адреса (source и destination). Остальные работают в общей куче. Физически адреса висят в виде алиасов на интерфейсе. Не очень рационально конечно но в общем работает.
Нефрагментированный ping - пробовал. При MTU больше 1480 говорит
ping: local error: Message too long, mtu=1480
>Нефрагментированный ping - пробовал. При MTU больше 1480 говорит
>ping: local error: Message too long, mtu=1480Не совсем уверен, но сдается мне, проблема в любимой винде.
По умолчанию , дяди из MS для модема ставят mtu - 576, а для локальной сети - 1500.
Может здесь собака порылась?Не помню ключи реестра, управляющие настройкой TCP стэка. Поройся, в инете полно тюнеров реестра. Поставь на одном клиенте 1460 и понаблюдай
Я сам, давно, пользовался MTUSpeedА лучшее решение - Sqiud в transparent mode (что-бы юзеры обойти не могли)
Тогда соотношение локальных mtu и внешних будет по-барабану. Да и дрянь всякую повырезать полезно
Я как раз недавно искал информацию и наткнулся на эти линки.Думаю ты там найдешь решение своей проблемы в глобальном
http://renaud.waldura.com/doc/freebsd/pppoe/
Там и факи есть по МТU
И не мучайся с регистром в виндовах, гиблое дело
Ну удач тебе.
>Я как раз недавно искал информацию и наткнулся на эти линки.Думаю ты
>там найдешь решение своей проблемы в глобальном
>http://renaud.waldura.com/doc/freebsd/pppoe/
>Там и факи есть по МТU
>И не мучайся с регистром в виндовах, гиблое дело
>Ну удач тебе.Нашел!
Вообще все просто оказалось.
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1440
(если MTU 1480 на туннеле)после чего все начинает работать по всей сети. По крайней мере все известные мне проблемные сайты открылись нормально.