Я прошел через разные форумы и не смог разрешить эту проблему с отказом Connection с помощью VSFTPD. Вот подробности.
vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 connect_from_port_20=YES chroot_local_user=YES listen=YES pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=NO listen_port=18901 local_root=/ftp log_ftp_protocol=YES dual_log_enable=YES pasv_enable=YES pasv_promiscuous=YES pasv_max_port=30100 pasv_min_port=30000
IPTables
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:20 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 state NEW Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:20 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:21
Мой сервер находится в AWS. У меня есть форвардер, который пересылает порт с 21 по 18901. Кроме того, в моей группе безопасности AWS я разрешаю 21, 18901, 30000-30100.
Я повторно установил VSFTPD несколько раз, и я проверил, что служба запущена. Я также вижу прослушивание 18901.
Наконец, я могу подключиться локально.
[root@ip-10-0-0-1 /]# ftp ftp> o 10.0.0.1 18901 Connected to 10.0.0.1(10.0.0.1). 220 (vsFTPd 2.2.2) Name (10.0.0.1:root): ftp_user 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (10,0,0,1,117,109). 150 Here comes the directory listing. drwxr-xr-x 1 501 501 0 Jul 21 15:22 file -rw-r--r-- 1 501 501 0 Jul 21 15:21 file.txt d--------- 1 0 0 0 Aug 01 14:59 pws 226 Directory send OK.
Я не могу подключиться к Filezilla в локальной системе или FTPTest.net
Политика безопасности AWS (входящая). Исходящий доступен для всех IP-адресов, всех портов.
SSH TCP 22 10.100.0.0/18 SSH TCP 22 10.0.0.0/16 Custom TCP Rule TCP 21 0.0.0.0/0 Custom TCP Rule TCP 18901 0.0.0.0/0 Custom TCP Rule TCP 30000 - 31000 0.0.0.0/0
Я понял это.
Мне нужно было добавить
pasv_address=<Public IP>
к моему conf.