Назад | Перейти на главную страницу

Невозможно увеличить maxclientsperip на чистом ftp, запущенном в Ubuntu

root@www:~# cat /etc/pure-ftpd/conf/MaxClientsNumber 
100
root@www:~# cat /etc/pure-ftpd/conf/MaxClientsPerIP 
50

Перезапуск ftp-сервера: Выполняется:

/usr/sbin/pure-ftpd -l extauth:/var/run/ftpd-auth.sock -l pam -y 150:0 -c 100 -C 50 -H -P 10.8.1.7 -u 1000 -p 18000:18020 -E -Y 1 -U 113:002 -R -A -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B

Но получаю эту ошибку при попытке подключения более 10 раз. На клиенте:

421 10 users (the maximum) are already logged in, sorry

Запуск ubuntu 10.10

Я в тупике.

Ответ, который я получил из списка рассылки службы поддержки pureftp:

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

Во-первых, чтобы подтвердить, что было правильно (и здорово, и полезно, и был быстрый ответ, который всегда потрясающ) о том, что было сказано: Да, количество разрешенных управляющих соединений FTP будет ограничено до 1/2 размера пассивного диапазон портов. Итак, если ваш диапазон охватывает 21 порт (как ваш, 18000–18020), то половина этого составляет 10,5. Pure-ftpd по существу округляет это число до 10 и применяет правило, согласно которому вы можете иметь только это количество (в данном случае 10) сеансов ftp за раз.

Но чтобы исправить неточности:

FTP открывает 2 новых пассивных ftp-соединения для каждого клиента

Технически это неправильно. Скорее, вы могли бы сказать, что Pure-ftpd хочет гарантировать, что по крайней мере 2 пассивных соединения мог использоваться во время каждого сеанса ftp. Он не может открыть оба. Может даже не открыть. Я думаю, что он может даже открыть 3 или больше, в зависимости от того, сколько задач, ориентированных на данные (передача файлов и списки каталогов), фактически выполняет сеанс ftp. Можно сказать, что Pure-ftpd хочет резерв возможность открывать пассивные соединения для передачи данных, что защищает от использования пассивного порта.

Поскольку для повторного использования портов tcp может потребоваться некоторое время, Pure-ftpd (при реализации этой философии) довольно осторожен. Если имеется 10 управляющих соединений FTP, то (даже если нет пассивного соединения для передачи данных) В настоящее время открыто), он считает, что каждый сеанс мощь требуется в среднем 2 соединения, поэтому рекомендуется зарезервировать 20 портов. И на самом деле он закодирован требовать этот.

Этот «резерв» должен поступать из «PassivePortRange» (также известного как параметр -p), поэтому ширина вашего диапазона должна быть в два раза больше количества сеансов ftp-клиентов, которые вы хотите поддерживать.

так как у вас открыто только 20 пассивных портов

Вероятно, лучше было бы сказать «доступен», чем «открыт». Потому что в смысле открытого TCP-соединения у него может не быть «открытых» 20 пассивных портов. У него может вообще не быть открытых. Скорее, у него есть определенный диапазон из 21 порта для возможно открыт для пассивных подключений к данным.

Дарси Дарси.Partridge@suse.com

-p 18000:18020 позволяет использовать только 21 порт.

Вам нужно как минимум вдвое больше пользователей, которых вы хотите разрешить одновременно.

В общем, диапазон портов должен быть не маленьким, а как можно большим.