October 6th, 2008

Линуксовый роутер режет фрагментированные пакеты

Уважаемые руты, помогите кто может!

я тут имею сношение с неким устройством, которое правильнее всего описать как legacy router
Linux 2.4.25 #1 SMP Сбт Фев 28 15:24:41 NOVT 2004 i686 unknown
Проапгрейдить или выкинуть его в ближайшее время политически невозможно.

У него два физических интерфейса и на одном интерфейсе еще tagged VLAN.  На всех интерфейсах стоит MTU 1500. Все бы ничего, но почему-то со стороны VLAN через него не проходят фрагментированные пакеты.  То есть до хоста они вроде бы доходят, но потом куда-то деваются.  Выглядит это так:

--- begin cut ---
[root@castor etc]# ping -s 1500 10.4.0.126
PING 10.4.0.126 (10.4.0.126) 1500(1528) bytes of data.

--- 10.4.0.126 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 999ms

[root@castor etc]# ping -s 1500 10.4.0.125
PING 10.4.0.125 (10.4.0.125) 1500(1528) bytes of data.
1508 bytes from 10.4.0.125: icmp_seq=1 ttl=255 time=1.36 ms

--- 10.4.0.125 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.365/1.365/1.365/0.000 ms
--- end cut ----

Со стороны роутера это выглядит так:
------ begin cut ---
#tcpdump -i any host 10.4.0.99
17:13:26.005944 10.4.0.99 > 10.4.0.126: (frag 64092:28@1480)
17:13:27.006004 10.4.0.99 > 10.4.0.126: (frag 64093:28@1480)
--- end cut -----

Со стороны "нормальных" интерфейсов вроде бы все нормально:
------- begin cut -------
X:\>ping -l 1500 10.4.0.126

Обмен пакетами с 10.4.0.126 по 1500 байт:

Ответ от 10.4.0.126: число байт=1500 время=1мс TTL=63
Ответ от 10.4.0.126: число байт=1500 время=1мс TTL=63

Статистика Ping для 10.4.0.126:
Пакетов: отправлено = 2, получено = 2, потеряно = 0 (0% потерь)
--- end cut --------

Что это может быть и как это лечить? Может быть интерфейсу VLAN поставить MTU 1504?

В iptables все правила с -j REJECT относятся к TCP, т.е. ICMP/UDP фильтр должен пропускать. Еще включен spoofing protection, но разве он может иметь такой эффект?

UPDATE: проблема, похоже, в MTU, либо в сетевой карточке или ее драйвере.
Когда я ставлю у хоста на VLAN MTU 1496 (sizeof (Ethernet frame)-sizeof(VLAN tag)), фрагментированные пинги идут нормально.  Но перенастраивать все хосты в этом VLAN как-то скучно, тем более что не ко всем у меня есть рутовый доступ.
У кого-нибудь есть идеи, что делать с карточкой?
# modinfo 3c59x
filename: /lib/modules/2.4.25/kernel/drivers/net/3c59x.o
description: "3Com 3c59x/3c9xx ethernet driver LK1.1.18-ac 1 July 2002"
Полный вывод modinfo есть в комментах.
Все рекомендации по патчам, которые я нашел гуглем, относятся к интеловским адаптерам.
404

exchange 2003/2007 - отладка routing group connectors

Идёт (пока тестовая) миграция с Exchange 2003 на 2007. Имеется следующая конфигурация:

ex03 - 2003'ий эксчейнж, единственный сервер.
ex07 - тестовый сервер, введён в организацию, роли hub, CAS, store.

На 07 расположен единственный ящик единственного пользователя. Этот пользователь может переписываться с internet, отправлять/получать почту.

Он так же может успешно отправлять почту пользователям на 2003 эксчейнж.
Однако, почта с 2003 до него не доходит, висит в Queue. Get-RoutingGroupConnector даёт два коннектора (один с 03 на 07, второй наоборот). В логах (каких знаю) всё стерильно. Пересоздавать коннекторы пробовал - не помогает.

Как можно посмотреть что там происходит? И что у routing connectors можно поменять, что влияет на прохождение почты? (с учётом, что коннекторы создавал 2007, 2003 их только в РО показывает).


UPD: Проблема решилась (логи я не нашёл, но проблему решил). Было два Smart-хоста указано. Один как SMTP-коннектор для домена "*", второй просто вбит в настройки SMTP-протокола у Exchange 2003.