После компиляции и установки ядра OpenVZ в Ubuntu 10.04 я не могу просматривать определенные каталоги при подключении к серверу pure-ftpd.
Клиенты переходят в ПАССИВНЫЙ режим, и это нормально. Такое поведение происходило до смены ядра, однако теперь, когда я просматриваю определенные каталоги, соединение просто разрывается. Это происходит только с несколькими каталогами под одним логином (в частности, с Интернетом), тогда как с другим логином это происходит, как только я подключаюсь.
У меня есть nf_conntrack_ftp
установлен модуль ядра (необходим для отслеживания пассивных FTP-соединений, насколько я понимаю, и псевдоним ip_conntrack_ftp
модуль), однако это не решило мою проблему. Этот модуль действительно требовался при первоначальной настройке моей ОС для правильной работы пассивного FTP, однако, когда я скомпилировал ядро OpenVZ, многие из этих модулей отсутствовали (iptables, conntrack и т. Д.). Я перекомпилировал ядро с недостающими модулями, но безрезультатно.
Я увеличил количество подробностей для сервера pure-ftpd, и до сих пор никаких подсказок не было обнаружено ни в системном журнале, ни в журнале передачи. Strace также не предоставил никаких подсказок (которые я все равно мог различить) - хотя одна странная вещь есть как в выводе для клиента, так и в strace, я замечаю, что он действительно проверяет каталог и возвращает количество совпадений - он просто не работает после этого.
Еще одна вещь, о которой следует упомянуть, заключается в том, что если я использую FTP, используя те же учетные данные локально, все работает нормально. Это говорит о том, что на самом деле проблема либо в conntrack_ftp
модуль не работает должным образом, либо проблема с сетью более серьезная.
Ядро было скомпилировано и установлено в соответствии с инструкциями на https://help.ubuntu.com/community/OpenVZ - запретить внесение изменений в конфигурацию ядра (например, добавление iptables в качестве модуля).
Ниже приведен пример журнала, отправленного с данными (в FileZilla).
Status: Resolving address of xxxx.co.uk
Status: Connecting to 78.46.xxx.xxx:21...
Status: Connection established, waiting for welcome message...
Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Response: 220-You are user number 4 of 10 allowed.
Response: 220-Local time is now 08:52. Server port: 21.
Response: 220-This is a private system - No anonymous login
Response: 220-IPv6 connections are also welcome on this server.
Response: 220 You will be disconnected after 15 minutes of inactivity.
Command: USER xxx
Response: 331 User xxx OK. Password required
Command: PASS ********
Response: 230-User xxx has group access to: client1 sshusers
Response: 230 OK. Current restricted directory is /
Command: OPTS UTF8 ON
Response: 200 OK, UTF-8 enabled
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/" is your current location
Status: Directory listing successful
Status: Retrieving directory listing...
Command: CWD /web
Response: 250 OK. Current directory is /web
Command: TYPE I
Response: 200 TYPE is now 8-bit binary
Command: PORT 10,0,2,30,14,143
Response: 500 I won't open a connection to 10.0.2.30 (only to 188.220.xxx.xxx)
Command: PASV
Response: 227 Entering Passive Mode (78,46,79,147,234,110)
Command: MLSD
Response: 150 Accepted data connection
Response: 226-ASCII
Response: 226-Options: -a -l
Response: 226 57 matches total
Error: Could not read from transfer socket: ECONNRESET - Connection reset by peer
Error: Failed to retrieve directory listing
Есть предложения, пожалуйста? Я готов попробовать все!
установлен модуль ядра
Вы имеете в виду "загруженный", я надеюсь.
conntrack_ftp
также может обрабатывать активные FTP-соединения - вам просто нужно правильно настроить брандмауэр.