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 порт.
Вам нужно как минимум вдвое больше пользователей, которых вы хотите разрешить одновременно.
В общем, диапазон портов должен быть не маленьким, а как можно большим.