Всем привет!
Кто нибудь знает как в линуксе управлять сетевыми флагами а точнее флагом DF, обозначающий запрет на фрагментацию tcp пакетов.
Либо включение отключение его у клиента, самого источника отправки пакетов, либо управление флагом на фаерволе "Iptables"
Народ прошу сразу, не кидайте ссылки типа см туда, гугли и тд, перелазил весь инет перечитал очень много всего, но так и не смог справиться с задачей
Знаю что есть патч для kernel при помощи которого можно управлять флагом DF а также есть примочка для iptables для извинения флага.....
Во общем если можно по сути, если не знаете не засоряйте тему.
Для полноты вопроса, проблема вот в чем
Стоит Kaspersky Mail gateway + Exim 4 + Dovecot, Обьясню тем кто не пользовался mailgw,
Когда почта приходит например с mail.ru ко мне, приходит на mailgw он просматривате на вирусы спам и тд, почего перенаправляет его на EXIM, ну dovecot все понятно.
Когда пользователь отправляет почту, почтовый клиент связывается с mailgw и все как у всех отправляет почту, если кто то подумает что при отправке задействован exim это не так.
Сама проблема в том, что на все почтовые сервера письма уходят нормально, даже мгновенно, а на яндекс нет, сейчас опишу как:
Письма до 500 кб, уходят после отправки через 1 мин
Письма от 500 кб до 1 м, уходят около 10 - 15 мин
и чем дальше тем больше времени надо письмо обьемом в 8,7 метра уходило 6 часов, но не то что бы оно стояло в очереди со статусом send оно стоит в статусе QUERY, в лога одно и тоже на протяжении всего времени, сервер определил куда соединяется, установил соединения посылает данные и все на это мол чек, отваливается по тайм ауту, см сами
[22-03-2011 24:08:09 I] [5541] p8O7LK4U63716: SPLITTED: domain=<yandex.ru>, nrcpt=1, srcid=p8O7LK4U63716
[22-03-2011 24:08:10 D] [5541] p8O7LK4U63716: SEND: Resolving MX-hosts for domain: <yandex.ru>...
[22-03-2011 24:08:10 A] [5541] SEND: Try to connect to yandex.ru [77.88.21.89]...
[22-03-2011 24:08:10 A] [5541] SEND: Connection established to yandex.ru [77.88.21.89].
[22-03-2011 24:08:10 A] [5541] SEND: Login to host: yandex.ru [77.88.21.89]...
[22-03-2011 24:08:10 A] [5541] p8O7LK4U63716: SEND: Sending message to: yandex.ru 1 25...
[22-03-2011 24:08:16 I] [5541] SEND: p8O7LK4U63716: Attempt to send envelope to yandex.ru 1 25 temporary failed (Read: read timeout.).
Списался с техподдержкой, описал все
запросили дамп, прислал, говорят пакеты большого объема, и флаг запрета дефрагментации, см сами
00:23:02.113776 IP (tos 0x0, ttl 64, id 6698, offset 0, flags [DF], proto TCP (6), length 4270)
192.168.110.5.54244 > 87.250.250.89.25: . 63323:67553(4230) ack 0 win 5840
Поставил на сервере mtu 1000 байт , в iptables прописал что бы пакеты при трансляции не привыкали 800 байт, вот так:
$iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 800
Но увы, все по прежнему, и хоть до 200 уменьши все равно одно и тоже...
Буду признателен в решении проблемы!
Спасибо!