Абонентское обслуживание компьютеров

База знаний - Linux

IPTABLES правило для FTP за NAT

У одного из клиентов был сервер на CentOS5, на котором среди прочего работал vsftpd для доступа к сайту по ftp.

При подключении с помощью FileZilla получаем следующее:

Status:	Connection established, waiting for welcome message...
Response:	220 (vsFTPd 2.1.2)
Command:	USER anonymous
Response:	331 Please specify the password.
Command:	PASS **************
Response:	230 Login successful.
Command:	OPTS UTF8 ON
Response:	200 Always in UTF8 mode.
Status:	Connected
Status:	Retrieving directory listing...
Command:	PWD
Response:	257 "/"
Command:	TYPE I
Response:	200 Switching to Binary mode.
Command:	PASV
Response:	227 Entering Passive Mode (xxx,xx,xx,xxx,255,147).
Command:	LIST
Error:	Connection timed out
Error:	Failed to retrieve directory listing

Если из командной строки постучаться через команду ftp, то при попытки выполнить команду ls получаем 425 use PORT or PASМ first

У сервера "белый" IP адрес и все шаманства с кривыми портами, и добавлением pasv_enable=YES в конфиг результатов не дали.

Как оказалось нужно добавить модуль в ядро. Вся проблема решалась одной командой:

modprobe ip_conntrack_ftp