Такая проблемка. Сервер под Линукс, iptables, popa3d. Известно, что при коннекте клиента с попой, оная запрашивает AUTH клиента. Поскольку эта хреновина (113 порт) часто закрыта у провайдеров (иначе почему?) возникает таймаут в 30 сек. Чтобы избежать таймаута закрывают 113 порт на выход, попа получает отлуп сразу же после вопроса и таймаут куда-то девается.
Надоел мне этот таймаут в один прекрасный день и решил я от него избавиться. И вот уже что-то долго избавляюсь...
Открываю 113 на вход и выход
-A INPUT -p tcp -m tcp --sport 113 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 113 -j ACCEPT
в локалке все летает, из дома (через провайдера) 30 сек ждем.
Закрываю то же самое (REJECT) 30 сек превращается в 4.
Конечно 4 секунды немного, но это непорядок.
Всвязи с этим 2 вопроса. 1) Вот те 30 сек - они где-то прописаны, как-то регулируются, их можно изменить, на 18,5 скажем?
2) Нет идей откуда берутся эти чертовы 4 сек? И как от них избавиться?
Да, продолжил мыкаться и пришла мысль в голову написать. Клиент под которым я проверяю почту и вижу 4-х секундный таймаут под виндами, Outlook Express. Может быть и в нем дело теоретически... Заходя маньяком на 110 порт и пиша всё ручками вроде бы таймаута нет..
Феерический бред. Особенно порадовала фраза про 113 порт, который почему-то ЧАСТО закрыт у провайдеров. :)))) И аргумент железный - "иначе почему?"
Таки никто не знает откуда берутся 4 секунды? :(
> Таки никто не знает откуда берутся 4 секунды? :(Идиотизм - это тяжело, да.
Дорогой герой мультфильма, хамство не есть лучшее проявление себя. Если Вы не знаете, что написать, или Вас раздражает форма вопроса, хамить необязательно. Это конечно легко делать в электронной форме - кажешься себе героем, но может оказаться довольно смешным - никогда не знаешь кто на той стороне провода.
> Идиотизм - это тяжело, да.
> Дорогой герой мультфильма, хамство не есть лучшее проявление себя. Если Вы не
> знаете, что написать, или Вас раздражает форма вопроса, хамить необязательно. Это
> конечно легко делать в электронной форме - кажешься себе героем, но
> может оказаться довольно смешным - никогда не знаешь кто на той
> стороне провода.Не могу не согласиться с первой частью ответа. Но вторая кажется мне спорной. "Кто есть на той стороне провода" - прекрасно видно из самого вопроса.
А с мультиком, да. Не повезло. Ну что ж, не всем же быть andlis-ами.
> Не могу не согласиться с первой частью ответа. Но вторая кажется
> мне спорной. "Кто есть на той стороне провода" - прекрасно видно
> из самого вопроса.
> А с мультиком, да. Не повезло. Ну что ж, не всем же
> быть andlis-ами.Ну andlis-ом я стал в тот год, когда появился Интернет: смог успеть занять ник. Простите, если этот типично юниксовый диалог - все, что Вы знаете о возникновении таймаута при pop3 соединении, мы не могли бы прекратить его?
> Ну andlis-ом я стал в тот год, когда появился Интернет: смог успеть
> занять ник. Простите, если этот типично юниксовый диалог - все, что
> Вы знаете о возникновении таймаута при pop3 соединении, мы не могли
> бы прекратить его?Очень жаль, что это единственное, что Вам досталось от появления Интернета.
Ладно. Черт с ним, с Интернетом. Чтобы убедиться в том, что Ваше предположение о Аутлуке верно (или неверно) проделайте в командной строке следующее (что-то мне позволяет усомниться, что у вас "консоль" :) ):
1. telnet IP_pop3 110
2. USER username
3. PASS password
4. LIST
И посмотрите - будет тайм-аут или нет.
> Ладно. Черт с ним, с Интернетом. Чтобы убедиться в том, что Ваше
> предположение о Аутлуке верно (или неверно) проделайте в командной строке следующее
> (что-то мне позволяет усомниться, что у вас "консоль" :) ):
> 1. telnet IP_pop3 110
> 2. USER username
> 3. PASS password
> 4. LIST
> И посмотрите - будет тайм-аут или нет.Господи, давайте закончим этот детский сад, ладно? Это все давно сделано. Аутлук не при чем. Я спросил где прописана величина таймаута. 4 сек - хрен его знает откуда, но 30 сек при отсутствии ответа на AUTH запрос возникает всегда на всех системах. Значит он где-то прописан. В манах этого я не нашел. И все, кого я прочитал в инете тоже.
Е-мое! Батенька, а с чего Вы, собственно, взяли, что pop3 использует порт 113??? :-() 113 - это древний, как г... мамонта, сервис IDENT! POP3, однако, 110 порт.
> Е-мое! Батенька, а с чего Вы, собственно, взяли, что pop3 использует порт
> 113??? :-() 113 - это древний, как г... мамонта, сервис IDENT!
> POP3, однако, 110 порт.Что ж сэр, если Вы включились в диалог я готов. Порт использует 113. Во-первых прочитайте доки по pop3, во-вторых, я написал (я уже понял, что мы говорим на разных языках, но можно найти и общий) - я проверил - запрос идет на 113 порт. При открытом порту все летает как птица, при открытом только на выход 30 сек, при закрытом на выход - 4 сек.
110 порт это из другой оперы. Это порт по которому идет pop3 диалог собственно. 113 pop3 демоны используют дополнительно для идентификации пользователя. Зачем это делается - вопрос не ко мне. Вот уже много лет, как это всегда так. Я не знаю, я понятно изложил?
>[оверквотинг удален]
> Что ж сэр, если Вы включились в диалог я готов. Порт использует
> 113. Во-первых прочитайте доки по pop3, во-вторых, я написал (я уже
> понял, что мы говорим на разных языках, но можно найти и
> общий) - я проверил - запрос идет на 113 порт. При
> открытом порту все летает как птица, при открытом только на выход
> 30 сек, при закрытом на выход - 4 сек.
> 110 порт это из другой оперы. Это порт по которому идет pop3
> диалог собственно. 113 pop3 демоны используют дополнительно для идентификации пользователя.
> Зачем это делается - вопрос не ко мне. Вот уже много
> лет, как это всегда так. Я не знаю, я понятно изложил?http://tools.ietf.org/html/rfc1081
не знаю, где вы прочли про 113 порт???
лично я сам давно не использую popa3d, и вероятно, это где-то должно быть в документации.. насколько я помню, демон не имеет файла конфигурации, всё вбивается в него статически... как вариант, замените почтовый сервер на такой, который поддерживается.. а то popa3d последняя версия датирована 2006 годом... как бэ бобик сдох :)
> не знаю, где вы прочли про 113 порт???
> лично я сам давно не использую popa3d, и вероятно, это где-то должно
> быть в документации.. насколько я помню, демон не имеет файла конфигурации,
> всё вбивается в него статически... как вариант, замените почтовый сервер на
> такой, который поддерживается.. а то popa3d последняя версия датирована 2006 годом...
> как бэ бобик сдох :)Нда...
Дело в том, что я использую popa3d. Да он стар и, действительно, не имеет файла конфигурации. Я как бы спрашиваю, честно говоря, тех, кто знает ответ. Заменить сервер это интересно, но не решает проблемы.
Вообще я хренею, честно говоря! Зачем советовать, если знаний нет даже на уровне банального гугления?! (это не в Ваш адрес kerilka)
Откуда я взял про 113 порт? Ну взял я про него из доков лет 10 назад. Но вопрос не в этом.
Открываем гугль. Пишем 113 port pop3. Читаем первые 3 темы. Помогает?
Если это не помогает, вырубаем файервол (в силу своих способностей кто как может) запускаем tcpdump и слушаем какого-нибудь клиента, с которого проверяем почту (уж все равно как!). И выясняется! Поразительно! Гугль не врет. 8-ми летней давности пользователи opennet тоже не врали! Действительно после приветствия на 110 порту popa3d посылает С 113 порта запрос клиенту. После чего честно ждет ответа ровно 30 секунд. Вот в этом месте бессмысленно спрашивать зачем она это делает и тп. Уже 8 лет назад все понимали, что это странновато, но это происходит. Если ответ приходит (кстати все равно какой) демон готов к приему первой комманды. Если нет - ждет 30 сек и все равно готов к приему. Такая теория, насколько я правильно все понимаю, но железно такая практика.
>[оверквотинг удален]
> может) запускаем tcpdump и слушаем какого-нибудь клиента, с которого проверяем почту
> (уж все равно как!). И выясняется! Поразительно! Гугль не врет. 8-ми
> летней давности пользователи opennet тоже не врали! Действительно после приветствия на
> 110 порту popa3d посылает С 113 порта запрос клиенту. После чего
> честно ждет ответа ровно 30 секунд. Вот в этом месте бессмысленно
> спрашивать зачем она это делает и тп. Уже 8 лет назад
> все понимали, что это странновато, но это происходит. Если ответ приходит
> (кстати все равно какой) демон готов к приему первой комманды. Если
> нет - ждет 30 сек и все равно готов к приему.
> Такая теория, насколько я правильно все понимаю, но железно такая практика.ну, у меня dovecot) ничего не шлёт, ничего не ждёт) в вашем случае, варианта 3..
1. лопатить исходники на предмет таймаутов
2. забить и ждать
3. сменить архепоп3 на что-то актуальное :) и поверьте, поднять тот же dovecot занимает времени ничуть не более одного часа.. тред же актуален который день :)
> ну, у меня dovecot) ничего не шлёт, ничего не ждёт) в вашем
> случае, варианта 3..
> 1. лопатить исходники на предмет таймаутов
> 2. забить и ждать
> 3. сменить архепоп3 на что-то актуальное :) и поверьте, поднять тот же
> dovecot занимает времени ничуть не более одного часа.. тред же актуален
> который день :):)))
ну в общем да. есть правда одно "но". POP3 здесь вообще непричем. Наверное мне нужно, правда, намылить шею за дебильно заданный вопрос.. Но жизнь такая штука - тот кто правильно задает вопрос может самостоятельно найти ответ. :)))
Так вот вопрос был не в том, как бороться с ожиданием сервером pop3-таймаута. Эта проблема была решена вместе с появлением сервера (вон там мультяшный сумасшедший ссылок накидал, да и я в начале темы написал, правда убого - нужно реджектить(!) исходящий траффик с 113 порта). Вопрос был в том, почему у всех граждан после этого стандартного действия таймаут превращается в 0, а у меня в 4.
Есть еще один момент, который обеляет старый добрый popa3d и за который мне нужно дополнительно что-то намылить. Таймаут этот бывает не только у него. Такие демоны как sendmail и vsftpd абсолютно также стучатся на 113 порт и имеют те же самые таймауты. То есть дело не в настройках попы, а в чем-то более глобальном.
Я бы грешил на xinetd, но и тут есть нюанс. И sendmail и vsftpd у меня запускаются как самостоятельные демоны. У них есть свои настройки. Хвала великому сендмэйлу он не забыл включить в себя define(`confTO_IDENT',`0s')). Естественно эта настройка у меня включена. Нет - хрен! Никакие не `0s', а те же родные 4 секунды ждет собака между подключением и состоянием готовности. ФТП-шник то же самое делает.
Вопрос собственно вот о чем - нет ли идей куда покопать?
Если внезапно кому-то окажется интересно. Ответ на один из своих вопросов я нашел. А именно, как изменить таймаут по умолчанию с 30 сек на другой.
В случае с процессами, запускаемыми через xinetd, это делается в егойном исходнике:
LOGUSER_SUCCESS_TIMEOUT в config.h По умолчанию там 30 сек. Ксати менять эту цифру на 0 не стоит - таймаут не исчезнет, а станет неопределенным.
>[оверквотинг удален]
> него. Такие демоны как sendmail и vsftpd абсолютно также стучатся на
> 113 порт и имеют те же самые таймауты. То есть дело
> не в настройках попы, а в чем-то более глобальном.
> Я бы грешил на xinetd, но и тут есть нюанс. И sendmail
> и vsftpd у меня запускаются как самостоятельные демоны. У них есть
> свои настройки. Хвала великому сендмэйлу он не забыл включить в себя
> define(`confTO_IDENT',`0s')). Естественно эта настройка у меня включена. Нет - хрен! Никакие
> не `0s', а те же родные 4 секунды ждет собака между
> подключением и состоянием готовности. ФТП-шник то же самое делает.
> Вопрос собственно вот о чем - нет ли идей куда покопать?ну, логично предположить, что если стучатся, а inetd выключен, значит либо в конфиге определено, либо так собраны. поможет ли пересборка? что вообще за сервер? что-то кажется мне, собрано это было лет 8 назад, и далеко не Вами :)
> ну, логично предположить, что если стучатся, а inetd выключен, значит либо в
> конфиге определено, либо так собраны. поможет ли пересборка? что вообще за
> сервер? что-то кажется мне, собрано это было лет 8 назад, и
> далеко не Вами :)На последний вопрос мне ответить легко. Собрано все мной. Сервер под asplinux. Когда я последний раз это делал, я простите не помню - года 2-3 назад. А какое это имеет отношение к делу?
А вот начала я не понял. inetd выключен - что вы имели в виду? может имелось в виду ident выключен? Если inetd выключен :))))))) проблем нет :)))))
>> ну, логично предположить, что если стучатся, а inetd выключен, значит либо в
>> конфиге определено, либо так собраны. поможет ли пересборка? что вообще за
>> сервер? что-то кажется мне, собрано это было лет 8 назад, и
>> далеко не Вами :)
> На последний вопрос мне ответить легко. Собрано все мной. Сервер под asplinux.
> Когда я последний раз это делал, я простите не помню -
> года 2-3 назад. А какое это имеет отношение к делу?
> А вот начала я не понял. inetd выключен - что вы имели
> в виду? может имелось в виду ident выключен? Если inetd выключен
> :))))))) проблем нет :)))))да, извиняюсь) утро тяжелое) bsd сюда приплёл)
а вообще, да, пересоберите заново - чудес не бывает) либо конфиги - либо сборка :)
> да, извиняюсь) утро тяжелое) bsd сюда приплёл)
> а вообще, да, пересоберите заново - чудес не бывает) либо конфиги -
> либо сборка :)вот это точно :)) чудес не бывает :) сборка вещь хорошая. я сейчас как раз поковырялся со сборкой xinetd, не не оно. Ладно, в любом случае спасибо. Во время диалога я наковырял кучу всего, что мне казалось неинтересным раньше. И, похоже, сам понял свой вопрос :) В понедельник приду на работу - опробую удуманное.
Дальнейший разговор бесполезен. Желаю здравствовать. Все-таки я был прав насчет илиотизма.
1. http://www.linux.org.ru/forum/admin/1417805
2. http://ftp.sysadmins.ru/post334800.html
Если судить по году, наступать на грабли - наша национальная забава. А способность внятно изложить проблема - национальная болезнь.
При ОЧЕНЬ большом желании - исходники трехмерной попы в зубы - и вперед. За орденами. Придумал этот легкий поп3-сервер Солар Дезигнер. Это в качестве ликбеза - http://en.wikipedia.org/wiki/Alexander_Peslyak Исходники тут - http://www.openwall.com/popa3d/