The OpenNET Project / Index page

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

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

"Проблема с сетью, совсем непонятная"  +/
Сообщение от DmitryVS (ok) on 20-Мрт-12, 14:02 
Сделал апгрейд с FreeBSD 8.0 на 9.0. Ставился с нуля на новый диск. Сервер работает как NAT плюс несколько своих сервисов. Имею такую граблю: трафик из Интернета в локалку и обратно летает через NAT как нефиг делать любыми объёмами, трафик с сервера на внутренний интерфейс и обратно тоже летает, но как только надо передать что-то объёмное на сам сервер или с него в Интернет, соединения тут же обрываются. Т.е. заходим на сервер по ssh снаружи. Консоль работает нормально. Пытаемся передать файл по sftp (в любую сторону), тут же обрывается соединение. То же самое с http. Загрузить страничку с картинками уже нереально, грузятся обрывки и соединения обрываются.
Ядро amd64 собрано с опциями (NAT пробовал ядерный и natd):
options         IPFIREWALL
options         IPDIVERT
options         IPFIREWALL_NAT
options         LIBALIAS
Софт весь собран из портов.
Настройки минимальные такие:

rc.conf:
ifconfig_msk0="DHCP"
ifconfig_msk1="inet 192.168.0.1 netmask 255.255.255.0"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="/etc/ipfw.conf"
natd_enable="YES"
natd_interface="msk0"
sshd_enable="YES"
ntpd_enable="YES"
apache22_enable="YES"
samba_enable="YES"
squid_enable="YES"
qpopper_enable="YES"

ipfw.conf:
add 60000 divert natd ip from any to any via msk0
add 65000 allow ip from any to any

В логах ничего интересного не нашёл. Помогите, как сделать диагностику, чтобы узнать причину разрыва соединений. Что это вообще такое может быть? На восьмёрке с тем же ровно железом и конфигами всё работало без проблем.

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Проблема с сетью, совсем непонятная"  +/
Сообщение от КуКу (ok) on 20-Мрт-12, 18:04 
tcpdump вешайте на интерфейс и запускайте передачу по sftp. Потом вдумчивое  чтение лога.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проблема с сетью, совсем непонятная"  +/
Сообщение от DmitryVS (ok) on 20-Мрт-12, 20:40 
> tcpdump вешайте на интерфейс и запускайте передачу по sftp. Потом вдумчивое  
> чтение лога.

Вдумчивое у меня пока не получается, экспириенса маловато. Получилось вот такое, например. Начало соответствует нажатию кнопки ввода после команды cat /var/log/all.log в удалённой консоли. Потом она 30 секунд висит и не отвечает. Потом я её срубаю принудительно.

19:45:01.277491 IP REMOTE_IP.1674 > SERVER_IP.22: Flags [P.], seq 32786295:32786347, ack 2825312168, win 65399, length 52
19:45:01.277935 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [P.], seq 1:53, ack 52, win 65535, length 52
19:45:01.444998 IP REMOTE_IP.1674 > SERVER_IP.22: Flags [.], ack 53, win 65347, length 0
19:45:02.037891 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 53:1501, ack 52, win 65535, length 1448
19:45:03.023868 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 53:1501, ack 52, win 65535, length 1448
19:45:04.795870 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 53:1501, ack 52, win 65535, length 1448
19:45:08.139875 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 53:1501, ack 52, win 65535, length 1448
19:45:14.627892 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 53:1501, ack 52, win 65535, length 1448
19:45:25.547908 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 53:1501, ack 52, win 65535, length 1448
19:45:32.384260 IP REMOTE_IP.1674 > SERVER_IP.22: Flags [F.], seq 52, ack 53, win 65347, length 0
19:45:32.384386 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 1501:2949, ack 52, win 65535, length 1448
19:45:32.626071 IP REMOTE_IP.1674 > SERVER_IP.22: Flags [F.], seq 52, ack 53, win 65347, length 0
19:45:32.626170 IP SERVER_IP.22 > REMOTE_IP.1674: Flags [.], seq 53:1501, ack 52, win 65535, length 1448
19:45:33.229613 IP REMOTE_IP.1674 > SERVER_IP.22: Flags [F.], seq 52, ack 53, win 65347, length 0
19:45:34.436498 IP REMOTE_IP.1674 > SERVER_IP.22: Flags [F.], seq 52, ack 53, win 65347, length 0

Выяснил, что влияет размер MTU. Если ставить меньше 1500, то какие-то потуги передачи данных проходят, но, скажем, загрузка картинок по http (наглядно скорость видно) замедляется в геометрической прогрессии и останавливается на половине. Если мучить бОльшим потоком данных, то срубается соединение или подвисает, как повезёт.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проблема с сетью, совсем непонятная"  +/
Сообщение от ACCA (ok) on 20-Мрт-12, 23:39 
> Выяснил, что влияет размер MTU. Если ставить меньше 1500, то какие-то потуги
> передачи данных проходят, но, скажем, загрузка картинок по http (наглядно скорость

http://www.netheaven.com/pmtu.html

Проверяй ping -s 1500 REMOTE_IP

Для отладки возьми ping из Linux-овых iputils, у него есть -M.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Проблема с сетью, совсем непонятная"  +/
Сообщение от DmitryVS (ok) on 21-Мрт-12, 10:48 
> Проверяй ping -s 1500 REMOTE_IP

Главная для меня непонятка в том, что пакеты из локалки в Интернет через NAT ходят со свистом. А с самого сервера - нет. Если бы тупо проблема в MTU на внешнем интерфейсе, то какая разница, откуда пакет попадает на этот интерфейс? Кроме того, всё же работало и с этой картой, и с этим провайдером, но на другой версии фри.

Ещё набрал наблюдений:
1) Если перейти с natd на ipfw nat, то передавать удаётся чуть больший объём данных и субъективно с меньшими лагами. При этом на передаче по sftp в логах появляются такие строки:
Mar 21 10:35:24 bcsn sshd[11924]: Accepted keyboard-interactive/pam for dmitry from REMOTE_IP port 11249 ssh2
Mar 21 10:35:24 bcsn sshd[11924]: subsystem request for sftp by user dmitry
Mar 21 10:35:24 bcsn sshd[11924]: fatal: Write failed: Permission denied
Mar 21 10:35:24 bcsn kernel: Mar 21 10:35:24 bcsn sshd[11924]: fatal: Write failed: Permission denied
Соединение обрывается и можно дальше всё начинать сначала.
2) В моменты попыток что-то передавать резко возрастает нагрузка на процессор. Судя по скачку температуры и скорости кулера, процессор начинает молотить на полную. Никогда раньше не наблюдал подобной загрузки.

Всё это сильно смахивает на какие-то косяки в коде сетевого стека и/или драйвера сетевухи. Буду пробовать собрать аналог сервера на другом железе и проверять ту же конфигурацию.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Проблема с сетью, совсем непонятная"  +/
Сообщение от михалыч (ok) on 21-Мрт-12, 11:55 
Передача через сквид идет?
Возможно он и косячит.
Без него попробовать.
Еще проверить с pf.
Еще проверить без DHCP.
Какие нибудь логи в физическую консоль сыплются?
Или также тишина?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Проблема с сетью, совсем непонятная"  +/
Сообщение от Rush_alex on 22-Мрт-12, 12:56 
>[оверквотинг удален]
> Mar 21 10:35:24 bcsn sshd[11924]: fatal: Write failed: Permission denied
> Mar 21 10:35:24 bcsn kernel: Mar 21 10:35:24 bcsn sshd[11924]: fatal: Write
> failed: Permission denied
> Соединение обрывается и можно дальше всё начинать сначала.
> 2) В моменты попыток что-то передавать резко возрастает нагрузка на процессор. Судя
> по скачку температуры и скорости кулера, процессор начинает молотить на полную.
> Никогда раньше не наблюдал подобной загрузки.
> Всё это сильно смахивает на какие-то косяки в коде сетевого стека и/или
> драйвера сетевухи. Буду пробовать собрать аналог сервера на другом железе и
> проверять ту же конфигурацию.

была похожая проблема на реалтеках при VLAN_HWTAGGING приходилось при при запуске стартовать интерфейс с минусами  по данным опциям.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Проблема с сетью, совсем непонятная"  +/
Сообщение от DmitryVS (ok) on 31-Мрт-12, 12:52 
Источник проблемы локализован. Это ошибка в работе функции TSO на внешнем сетевом интерфейсе. ifconfig msk0 -tso полностью решило проблему.

Непонятно осталось, почему вдруг этот глюк возник. Откат на старую версию фри ничего не дал, там глюк тоже проявился (а раньше не было). Был выполнен откат по работам с железом за обозримое прошлое: убран из системы дополнительный SATA контроллер и перешита старая версия BIOS в матплату. Но это тоже ничего не дало... На материнке два абсолютно одинаковых встроенных контроллера Marvell Yukon 88E8056. При этом на втором TSO работает, а на первом - с некоторых пор нет. При том, что он воткнут в сеть с ограничением скорости 10 Мбит, большой беды я в этом не вижу, но всё же неприятно иметь глюк неизвестной природы.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Проблема с сетью, совсем непонятная"  +/
Сообщение от universite email(ok) on 02-Апр-12, 03:50 
> Источник проблемы локализован. Это ошибка в работе функции TSO на внешнем сетевом
> интерфейсе. ifconfig msk0 -tso полностью решило проблему.

Оформляйте PR
msk - железка сама по себе кривая :(


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Проблема с сетью, совсем непонятная"  +/
Сообщение от a2l email on 05-Апр-12, 05:59 
> Источник проблемы локализован. Это ошибка в работе функции TSO на внешнем сетевом
> интерфейсе. ifconfig msk0 -tso полностью решило проблему.
> Непонятно осталось, почему вдруг этот глюк возник. Откат на старую версию фри

на старую - на 8.2 или на 8.0, что стояла раньше?
> ничего не дал, там глюк тоже проявился (а раньше не было).

хм. А может у тебя раньше архитектура была i386?
> Был выполнен откат по работам с железом за обозримое прошлое: убран
> из системы дополнительный SATA контроллер и перешита старая версия BIOS в
> матплату. Но это тоже ничего не дало... На материнке два абсолютно
> одинаковых встроенных контроллера Marvell Yukon 88E8056. При этом на втором TSO
> работает, а на первом - с некоторых пор нет. При том,

а не пробовал поменять местами сетевки - msk0 в локалку, msk1 - к провайдеру?
> что он воткнут в сеть с ограничением скорости 10 Мбит, большой
> беды я в этом не вижу, но всё же неприятно иметь
> глюк неизвестной природы.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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