我正在尝试让第三方通过端口 21 上的 FTP 访问服务器。
我已看过数百个指南和答案,但似乎都找不到正确的答案。
用户已设置密码,并具有 /home/username/ 我已经安装了 vsftpd 并设置了用户列表。我已将端口 21 添加到 /etc/ports.conf 我已通过各种方式将端口 21 和 20 添加到 iptables。我已使用 ufw 添加了 ftp、21、20 我已重新启动服务和服务器
它在 ufw 中显示活跃
Status: active
To Action From
-- ------ ----
80 ALLOW Anywhere
22 ALLOW Anywhere
8080 ALLOW Anywhere
21 ALLOW Anywhere
443 ALLOW Anywhere
20 ALLOW Anywhere
21/tcp ALLOW Anywhere
80 (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
21 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
20 (v6) ALLOW Anywhere (v6)
21/tcp (v6) ALLOW Anywhere (v6)
Netstat 确认其正在监听:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 10.0.0.4:16001 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:29131 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
iptables 显示
Chain ufw-user-input (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT udp -- anywhere anywhere udp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT udp -- anywhere anywhere udp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http- alt
ACCEPT udp -- anywhere anywhere udp dpt:http- alt
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp
ACCEPT udp -- anywhere anywhere udp dpt:fsp
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT udp -- anywhere anywhere udp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data
ACCEPT udp -- anywhere anywhere udp dpt:20
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp
但是,无论我做什么,我似乎都无法通过远程客户端访问它。nmap 显示端口已被过滤
Nmap scan report for xx.xx.xx.xx
Host is up, received syn-ack (0.031s latency).
PORT STATE SERVICE REASON
21/tcp filtered ftp no-respons
我也在运行 CloudFlare,但是使用 IP 地址进行 FTP 并且已将其作为 DNS 规则添加到 CloudFlare。
还有哪些防火墙或方法可以阻止连接?我不知道该去哪里找...
非常感谢您的帮助。
答案1
由于我无法评论,因此将其添加为答案。
如果实例托管在 AWS 上,您是否还可以仔细检查安全组?如果实例托管在 Microsft Azure 上,您是否还可以仔细检查 NSG?