Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > ftp соединение


Автор: Ashlander 29.5.2006, 09:16
Здравствуйте All,

Поставил vsftpd, настроил его чтобы можно было заливать на сервер файлы от анонима... через некоторое время "заливка" прекращается и в логах выскакивает вот это

Цитата

kernel: ip_conntrack: table full, dropping packet


Все что найдено посредством гугла сводится к увеличению максимального числа активных соединений ip_conntrack_max. Текущие значения

Цитата

ОЗУ 32м, ip_conntrack_max=2048


врядли с такой оперативой можно много добавить... но учитывая, что с сервером связывается лишь одна машина, явно правильное решение не здесь... да и пугает немного такое забивание одним клиентом всей таблицы... есть ли способ это побороть или каким либо обзазом лимитировать количество соединений клиента? 

Автор: bilbobagginz 29.5.2006, 10:40
обычно ограничение количества коннектов на фтп сервер делается в настройках самого фтп сервера, а не уровнями ниже - в фаерволе. во всех нормальных фтп серверах есть ограничение потоков/процессов и т.д.
ip_conntrack - это общесистемные ограничения - напр. если у тебя сервак обслуживает до фига народу, с виртуальными хостами, ты хочешь ограничить общесистемные ресурсы.
ессно с 32М памяти серьезный фтп сервер не удержишь.

пока. 
 

Автор: Ashlander 29.5.2006, 11:32
Спасибо,

Цитата

обычно ограничение количества коннектов на фтп сервер делается в настройках самого фтп сервера


к сожалению в man vsftpd.conf я ничего ограничивающего не нашел (иначе бы не писал)

Цитата

ессно с 32М памяти серьезный фтп сервер не удержишь


да он и не должен быть серйозным

немного погулил в сторону xinetd и нашел вот это... попробую вечерком, хотя немного смущает это дело, ведь сервер можно запустить и не через xinetd... странно, что сам сервер не обеспечивает подобных ограничений...

Цитата

5.1.2.2. Управление ресурсами сервера

Ещё одной важной возможностью xinetd является его способность ограничивать ресурсы, используемые подчинёнными ему службами. 

Это выполняется с помощью следующих указаний: 

cps = <число_подключений> <период_ожидания> — Ограничивает число подключений к службе за секунду. Здесь допускаются только целые значения.

instances = <число_подключений> — Ограничивает полное количество подключений к службе. Здесь указывается целое значение или UNLIMITED (без ограничений).

per_source = <число_подключений> — Ограничивает число подключений к службе с одного узла. Здесь указывается целое значение или UNLIMITED (без ограничений).

rlimit_as = <число[K|M]> — Ограничивает объём памяти, который может занимать служба, в килобайтах или мегабайтах. Здесь указывается целое значение или UNLIMITED (без ограничений).

rlimit_cpu = <число_секунд> — Ограничивает процессорное время, отнимаемое службой. Здесь указывается целое значение или UNLIMITED (без ограничений).

Эти указания могут предотвратить задавливание системы службой xinetd, и таким образом, отказ в обслуживании.


взято с http://www.rhd.ru/ 

Автор: Ashlander 31.5.2006, 13:26
мда, собака зарыта не здесь  smile ... попытаюсь ограничить скорость, а может и куски... посмотрим что будет

Цитата

anon_max_rate
The maximum data transfer rate permitted, in bytes per second, for anonymous clients. 

Default: 0 (unlimited)

trans_chunk_size
You probably don't want to change this, but try setting it to something like 8192 for a much smoother bandwidth limiter. 

Default: 0 (let vsftpd pick a sensible setting)

 

Автор: bilbobagginz 31.5.2006, 19:19
куски трогают только если есть проблемы с подключениями, и разные косы и косяки.
тебе нужно ограничить число подключений. нарыл это:
http://www.muug.mb.ca/tutorials/vsftpd-class.html

пока.
 

Автор: Ashlander 1.6.2006, 10:30
bilbobagginz огромнейшее спасибо, очень полезная ссылочка... вроде как теперь проблем быть не должно... но о результатах отрапортую  smile . Еще раз спасибо. 

Автор: Ashlander 2.6.2006, 10:18
... обрадывался я рано =(... а радовался я потому, что увидел параметр max_per_ip, еще и удивился как я его не заметил... потом понял почему

Цитата

max_per_ip 
If vsftpd is in standalone mode, this is the maximum number of clients which may be connected from the same source internet address. A client will get an error message if they go over this limit. 

Default: 0 (unlimited)


у меня сервер подымается не в in standalone mode... ну конечно какие проблемы, можно и так.
времени пока на эксперименты было немного, но сходу решил ограничить

Цитата

anon_max_rate
The maximum data transfer rate permitted, in bytes per second, for anonymous clients. 

Default: 0 (unlimited)


ограничил 500 kbytes/sec, бросать решил тот же блок данных, что и раньше... вылет  smile 
но самое интересное, что теперь в логах о переполнении таблицы ни слова... да и вообще, все логи чисты абсолютно...
походу нужно смотреть криво в сторону виндового тоталкомандера (по крайней мере критично), который впрочем тоже ничего из ошибок не выкинул... ну или в сторону данных для пересылки...

Надо будет попытаться с линукса переписать... все-таки связь была винь-линь
Возможна ли такая ситуация, например, из-за названий файлов? 

Автор: bilbobagginz 2.6.2006, 13:43
я тебе советую 
посмотреть в каких единицах измеряются все параметры которые ты правишь.
перед тем, как правишь параметры - подними сервер вообще, чтобы ион работал. и   рабочую конфигурацию подправляй - параметр за параметром.

пока.
 

Автор: Ashlander 9.6.2006, 10:59
bilbobagginz
С параметрами все нормально, такие как нужны, ограничения выставил... данные заливаются тоже нормально, кроме определенной директории, на которой происходит завершение копирования без выдачи сообщений об ошибке. Это проверялось успешной заливкой кучи разнообразных вещей. Вышел из положения архивацией вредоносной директории. 
Но раз у ж это случилось, значит может повториться... вопрос в силе: какие есть ограничения на пересылаемые данные в линукс ? (файловая система ext3) ... можно учесть и то, что копирования происходит с винды.

Спасибо 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)