LINUX.ORG.RU
ФорумAdmin

настройка пассивного режима vsftpd

 ,


0

1

Доброго всем времени суток! Есть ftp-сервер vsftpd на debian 8, крутящийся в VMWare Workstation на винде, в винде нужный диапазон портов открыт (61000-62000), в настройках NAT вмвари порты прокинуты (61000-61029), vsftpd.conf содержит такие настройки

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
guest_username=vsftpd
local_root=/srv/ftp/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd_user_conf
log_ftp_protocol=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=61000
pasv_max_port=61029
но почему-то пассивный режим работает по совершенно другим портам, от чего, собственно, извне к этому серверу подключиться нельзя. Ниже в логах отражена попытка соединиться с сервером извне
Thu Feb 16 12:06:04 2017 [pid 26229] CONNECT: Client "81.4.241.210"
Thu Feb 16 12:06:04 2017 [pid 26229] FTP response: Client "81.4.241.210", "220 (vsFTPd 3.0.2)"
Thu Feb 16 12:06:04 2017 [pid 26229] FTP command: Client "81.4.241.210", "USER anonymous"
Thu Feb 16 12:06:04 2017 [pid 26229] [anonymous] FTP response: Client "81.4.241.210", "331 Please specify the password."
Thu Feb 16 12:06:04 2017 [pid 26229] [anonymous] FTP command: Client "81.4.241.210", "PASS <password>"
Thu Feb 16 12:06:04 2017 [pid 26228] [anonymous] FAIL LOGIN: Client "81.4.241.210"
Thu Feb 16 12:06:05 2017 [pid 26229] [anonymous] FTP response: Client "81.4.241.210", "530 Login incorrect."
Thu Feb 16 12:06:05 2017 [pid 26232] CONNECT: Client "81.4.241.210"
Thu Feb 16 12:06:05 2017 [pid 26232] FTP response: Client "81.4.241.210", "220 (vsFTPd 3.0.2)"
Thu Feb 16 12:06:41 2017 [pid 26232] FTP command: Client "81.4.241.210", "USER testuser"
Thu Feb 16 12:06:41 2017 [pid 26232] [testuser] FTP response: Client "81.4.241.210", "331 Please specify the password."
Thu Feb 16 12:06:42 2017 [pid 26232] [testuser] FTP command: Client "81.4.241.210", "PASS <password>"
Thu Feb 16 12:06:42 2017 [pid 26231] [testuser] OK LOGIN: Client "81.4.241.210"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "230 Login successful."
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP command: Client "81.4.241.210", "SYST"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "215 UNIX Type: L8"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP command: Client "81.4.241.210", "FEAT"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "211-Features:"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", " EPRT??"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", " EPSV??"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", " MDTM??"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", " PASV??"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", " REST STREAM??"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", " SIZE??"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", " TVFS??"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "211 End"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP command: Client "81.4.241.210", "PWD"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "257 "/""
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP command: Client "81.4.241.210", "TYPE I"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "200 Switching to Binary mode."
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP command: Client "81.4.241.210", "PASV"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "227 Entering Passive Mode (192,168,247,130,238,80)."
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP command: Client "81.4.241.210", "CWD /"
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "250 Directory successfully changed."
Thu Feb 16 12:06:42 2017 [pid 26234] [testuser] FTP command: Client "81.4.241.210", "LIST"
Thu Feb 16 12:07:42 2017 [pid 26234] [testuser] FTP response: Client "81.4.241.210", "425 Failed to establish connection."
Почему vsftpd работает по рандомным портам и как это исправить? Спасибо заранее

Ответ на: комментарий от borjich

А знаете ли вы что (c) в гугле на запрос «пассивный режим ftp файрвол» вам выдадет миллон ссылок, но я не одной не видел правильной? Меня это так бесит, что спать не могу. Скорее всего, если вас посетило такое дурацкое желание ограничить порты, то вы и наткнулись на эту проблему.

Какой вопрос - такой ответ. Не обессудьте. Нет данных для другого ответа.

vodz ★★★★★ ()

Посмотрите на клиенте что возвращает на ответ PASV. Я не знаток VMWare Workstation но не исключаю что не умеет nat-ть ftp сервер.

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

ТС и привел лог клиента. Ему коннектиться надо к указанному адресу:порту и выплёвывать полученный листинг файлов на вывод.

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

нет, это как раз лог сервера при попытке на стороне клиента передать файл или сменить директорию или просмотреть список файлов выдаётся ошибка «500 Illegal PORT command» с любого клиента

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

И всетаки я повторю свой вопрос со стороны клиента что? Поясню сервер передает 192,168,247,130 это серый адрес если клиент его получает таким же то конечно работать не будет.

anc ★★★★★ ()
Ответ на: комментарий от borjich

А вообще зачем вам ftp в 2017-м году, да и еще с таким извратом? Есть же sftp

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

вот что выдаёт клиент

root@fiserver:/etc/samba# ftp 88.198.2.77
Connected to 88.198.2.77.
220 (vsFTPd 3.0.2)
Name (88.198.2.77:user): testuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp> put /root/
.bash_history              .config/                   .selected_editor
.bashrc                    .local/                    initrd.img-3.16.0-4-amd64
.cache/                    .profile                   tmp/
ftp> put /root/initrd.img-3.16.0-4-amd64 /
local: /root/initrd.img-3.16.0-4-amd64 remote: /
500 Illegal PORT command.

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

Если не может биндится клиент, то это означает, что вы работаете в активном режиме, а не в пасивном.

vodz ★★★★★ ()
Ответ на: комментарий от anc

вынужден был вернуться к этому вопросу. Вот лог подключения клиента

root@fiserver:/# ftp -d -p 88.198.2.77
Connected to 88.198.2.77.
220 (vsFTPd 3.0.2)
ftp: setsockopt: Bad file descriptor
Name (88.198.2.77:borisov): testuser
---> USER testuser
331 Please specify the password.
Password:
---> PASS XXXX
230 Login successful.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
---> PASV
227 Entering Passive Mode (88,198,2,77,253,71).
ftp: connect: Connection timed out

такое ощущение, что сервер начисто игнорит в конфигах значения pasv_min_port=61000 pasv_max_port=61029 я даже для эксперименту закомментировал эти параметры и ситуация не изменилась

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

такое ощущение, что сервер начисто игнорит в конфигах значения pasv_min_port=61000 pasv_max_port=61029

Ну судя по тому что вы показывали в самом начале, раньше у вас работало, смотрите что поменяли. Не поленился проверил (на версии 3.0.3) параметры работают как надо.

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