我浏览了不同的论坛,但无法使用 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
IP表
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
答案1
我明白了这一点。
我需要添加
pasv_address=<Public IP>
到我的会议。