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

Ubuntu 10.04: проблемы с ядром OpenVZ и pure-ftpd на HOST (гостевая установка еще не установлена)

После компиляции и установки ядра 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

Есть предложения, пожалуйста? Я готов попробовать все!

установлен модуль ядра

Вы имеете в виду "загруженный", я надеюсь.

  1. conntrack_ftp также может обрабатывать активные FTP-соединения - вам просто нужно правильно настроить брандмауэр.
  2. OpenVZ - это уровень ядра - он не имеет никакого отношения к вашему PureFTPd. Не заблуждайтесь.
  3. Если 10.04 - это ядро ​​на базе 2.6.32, я бы предложил использовать предварительно собранный OpenVZ, который они предоставляют в RPM - вам просто нужно распаковать его и создать образ initrd, это был бы лучший подход - похоже, у вас недостаточно опыта, чтобы самостоятельно собрать его из исходников.