LINUX.ORG.RU
ФорумAdmin

Настройка iptables для vsftpd

 , , , ,


0

2

Filezilla не может подключиться к vsftpd.

lftp может подключиться и даже ходить по директориям с помощью cd, но не может получить вывод ls:

lftp ftp://example.com/
cd ok, cwd=/                          
lftp example.com:/> ls
`ls' at 0 [Making data connection...]

Но можно подключиться с помощью простого клиента ftp, если ввести юзера ftp, и даже сделать get.

Если сделать iptables -F, то все они сразу подключаются и работают хорошо.

Настройки в iptables:

-A INPUT -p tcp --dport 21 -j ACCEPT
-A OUTPUT -p tcp --sport 20 -j ACCEPT

Конфиг vsftpd:

chroot_local_user=YES
connect_from_port_20=NO
hide_ids=YES
idle_session_timeout=120
listen=YES
local_enable=NO
log_ftp_protocol=yes
ls_recurse_enable=YES
write_enable=NO

Вопросы:

1 - что нужно исправить в iptables?

2 - почему разные клиенты ведут себя по-разному?

p.s.: что касается FTP в ядре:

CONFIG_NF_CONNTRACK_FTP=y
# CONFIG_NF_CONNTRACK_TFTP is not set
CONFIG_NF_NAT_FTP=m
# CONFIG_NF_NAT_TFTP is not set

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

modprobe nf_conntrack_ftp
modprobe nf_nat_ftp
iptables A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)

Правило на OUTPUT избыточно, если без извращений.
nf_nat_ftp нужен только на шлюзе.

ArcFi
()

Тебе нужно разрешить в конфиге 20 порт и открыть доступ к нему. в конфиг

connect_from_port_20=YES

в пакетный фильтр
iptables -A INPUT -p tcp --dport 20 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT

или так
в конфиг к примеру
pasv_enable=YES
pasv_max_port=40050
pasv_min_port=40000

в пакетный фильтр
iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 40000:40050 -m conntrack --ctstate NEW -j ACCEPT # FTP DATA
anonymous
()
Ответ на: комментарий от anonymous

Всё работает! один вопрос только: какой д.б. минимальный диапазон 40000:40050? Нагрузка на сервер минимальнейшая, практически единичные загрузки.

Deleted
()
Ответ на: комментарий от Deleted
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
ArcFi
()
Ответ на: комментарий от Deleted

зависит от кол-ва одновременно подключенных пользователей. т.е 21 упрвляющий и один порт из диапазона 40000:40050. В примере одновременно могут находится 50 пользователей. И кстати пример я тебе привел для политики

INPUT DROP
FORWARD DROP
OUTPUT ACCEPT

anonymous
()
Ответ на: комментарий от anonymous

Не 50 а не больше 51-одного, возможно меньше. И не находится, а что-то скачивать переходить из каталога в каталог &etc, не все команды требуют открытия порта с данным, например chmod.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.