Апр 152011
 

Дома решил поднять фтп,  что бы раздавать файлы знакомым,  влом использовать рапиды или аплоуды…
Приступим.
Для начало установим фтп сервер. Мой выбор пал на vsftpd. Он не требователен к ресурсам, быстр, безопасен.
emerge vsftpd -av
Настраиваем фтп

dirmessage_enable=YES
chown_uploads=NO
idle_session_timeout=600
virtual_use_local_privs=NO
data_connection_timeout=300
ascii_upload_enable=NO
ascii_download_enable=NO
chroot_list_enable=YES
ls_recurse_enable=NO
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=NO
local_enable=NO
write_enable=YES
local_umask=022
pasv_enable=yes
pasv_min_port=64000
pasv_max_port=65000
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
nopriv_user=ftp
listen=YES
# chown_upload_mode=0777
file_open_mode=0777
anon_umask=0000

Функции не описываю, они описанны в другой статье vsftpd
доп:
настроим iptables для доступа из внешней сети к нашему фтп.
подгрузим модули для определения логически связанных соединения, портов.

modprobe ip_conntrack
modprobe ip_conntrack_ftp

для автоматической под грузки сисемой можно сделать так.
в конфигурационный фаел /etc/modules.autoload.d/kernel-2.6 добавить наши модули.

# cat /etc/modules.autoload.d/kernel-2.6
ip_conntrack
ip_conntrack_ftp

теперь сами правила в iptables

$IPT -A INPUT -p tcp --dport 21 -j ACCEPT
$IPT -A INPUT -p tcp -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Вот готовый скрипт для домашних условий.fire.rules
Разберем подробно, что мы сделали.
$IPT -A INPUT -p tcp —dport 21 -j ACCEPT
#Открываем доступ к порту 21
$IPT -A INPUT -p tcp -m conntrack —ctstate RELATED,ESTABLISHED -j ACCEPT
ip_conntrack_ftp
Данный модуль отслеживает обмен между клиентом и сервером и после назначения порта соединения
по комманде PASV обьявляет все пакеты, приходящие на заданный порт сначала RELATED (связанный), а
потом ESTABLISHED (установленный).

Также правил касающихся назначения соединения ftp или диапазона адресов пассивного режима не должно быть.
Добавлю если все таки решили поднять фтп в активном режиме то порт20 то он не нужен.
Общение идет на активной управляющей сессии 21 порт.

 Leave a Reply

(required)

(required)

37 Запросов к базе. 0,379 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.198.210.67