The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Внезапная проблема. FreeBSD"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Внезапная проблема. FreeBSD"  
Сообщение от ledge5 email(ok) on 20-Фев-07, 03:20 
Имеется следующая связка ADSL -> (rl1)FreeBSD(rl0) -> клиенты.
В сторону adsl провайдера поднято ПППоЕ.
клиенты подключается посредством ВПН к FreeBSD и получают через нат доступ в интернет.
ВПН реализован на базе MPD. Все клиенты сидят на WinXP и 1 клиент на freebsd
Работало это всё примерно года 2 и не просило каши.

Буквально вчера у всех клиентов перестал открываться яндекс и работать аська(весь остальной интернет доступен)
Стал разбираться. В итоге, после двухчасовых плясок с бубном, выясняю следующее:
если натить пакеты на клиентов в обход туннеля, то вуаля - у всех всё работает.

возвращаю MPD на место и смотрю на MTU (в mpd.conf сервера выставлена опция set iface mtu 1500)

в ifconfig'e всё красиво:
ng0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng1: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng2: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500


НО, когда приходит клиент с виндой, то MTU меняется и выглядит всё так:
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1396
        inet 10.10.0.1 --> 10.10.0.2 netmask 0xffffffff

покурил man mpd, добавил еще пару опций в конфиг:
        set link mtu 1500
        set link mru 1500

После этого, о, чудо! У клиента с бсд MTU стал равен 1496, яндекс и аська заработали.
Но на проклятых клиентов с виндой это все равно не подействовало. МТУ у них все равно продолжал меняться на 1396 при подключении.

Ладно пошел на микрософт.ком в поисках услады, нашел: http://support.microsoft.com/kb/826159
всё выставил, перегрузился - не помогло.

В конце концов, обматерившись, я пошел смотреть tcpdump'ом, что ж там такого гадкого мне АОЛ с яндексом шлют.
И обнаружил, что и у того и у другого во всех ответных IP-пакетах выставлена опция Don't Fragment и mss равен 1440:)))

всё, тут я сдаюсь.
проблему так и не решил, клиенты волнуются :(
кто-нибудь с подобным сталкивался?


P.S. на tun0 к провайдеру MTU 1492, на езернетах - 1500

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Внезапная проблема. FreeBSD"  
Сообщение от PoL (??) on 20-Фев-07, 05:44 
>Имеется следующая связка ADSL -> (rl1)FreeBSD(rl0) -> клиенты.
>В сторону adsl провайдера поднято ПППоЕ.
>клиенты подключается посредством ВПН к FreeBSD и получают через нат доступ в
>интернет.
>ВПН реализован на базе MPD. Все клиенты сидят на WinXP и 1
>клиент на freebsd
>Работало это всё примерно года 2 и не просило каши.
>
>Буквально вчера у всех клиентов перестал открываться яндекс и работать аська(весь остальной
>интернет доступен)
>Стал разбираться. В итоге, после двухчасовых плясок с бубном, выясняю следующее:
>если натить пакеты на клиентов в обход туннеля, то вуаля - у
>всех всё работает.
>
>возвращаю MPD на место и смотрю на MTU (в mpd.conf сервера выставлена
>опция set iface mtu 1500)
>
>в ifconfig'e всё красиво:
>ng0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
>ng1: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
>ng2: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
>
>
>НО, когда приходит клиент с виндой, то MTU меняется и выглядит всё
>так:
>ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1396
>        inet 10.10.0.1 --> 10.10.0.2 netmask 0xffffffff
>
>покурил man mpd, добавил еще пару опций в конфиг:
>        set link mtu 1500
>
>        set link mru 1500
>
>
>После этого, о, чудо! У клиента с бсд MTU стал равен 1496,
>яндекс и аська заработали.
>Но на проклятых клиентов с виндой это все равно не подействовало. МТУ
>у них все равно продолжал меняться на 1396 при подключении.
>
>Ладно пошел на микрософт.ком в поисках услады, нашел: http://support.microsoft.com/kb/826159
>всё выставил, перегрузился - не помогло.
>
>В конце концов, обматерившись, я пошел смотреть tcpdump'ом, что ж там такого
>гадкого мне АОЛ с яндексом шлют.
>И обнаружил, что и у того и у другого во всех ответных
>IP-пакетах выставлена опция Don't Fragment и mss равен 1440:)))
>
>всё, тут я сдаюсь.
>проблему так и не решил, клиенты волнуются :(
>кто-нибудь с подобным сталкивался?
>
>
>P.S. на tun0 к провайдеру MTU 1492, на езернетах - 1500

Ну ясно сказано, что пакеты должны быть нефрагментированые, а итак как у тебя mtu выставлен в 1500 то пакет таким размером, по любому будет фрагментироваться. Выставь mtu 1300 для клиентов для начала и посмотри что будет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Внезапная проблема. FreeBSD"  
Сообщение от ledge5 email(ok) on 20-Фев-07, 13:48 
>Ну ясно сказано, что пакеты должны быть нефрагментированые, а итак как у
>тебя mtu выставлен в 1500 то пакет таким размером, по любому
>будет фрагментироваться. Выставь mtu 1300 для клиентов для начала и посмотри
>что будет.


что-то я не понял специфики :)

если яндекс шлет пакет с mss 1440 + 40 байт на tcp/ip, получается 1480, что как раз убирается в 1500, почему при этом пакет будет фрагментироваться? как раз при выставленном МТУ 1300 пакет будет разбит на фрагменты. ну даже если я и не прав, все равно ваш совет не помогает.

ставлю set link mtu 1300 и  set link mru 1300, получаем на интерфейсе мту 1296:
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1296
        inet 10.10.0.1 --> 10.10.0.2 netmask 0xffffffff

яндекс и аська не откликаются.
да, присутствует также еще опция set iface enable tcpmssfix

для разнообразия сделал еще на внешнем tun0 mtu в 1300, яндекс с роутера доступен, клиентам все равно нет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Внезапная проблема. FreeBSD"  
Сообщение от Giro on 20-Фев-07, 09:07 
А MPD какой версии стоит?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Внезапная проблема. FreeBSD"  
Сообщение от ledge5 (ok) on 20-Фев-07, 13:11 
>А MPD какой версии стоит?


mpd-3.18_4

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру