我正在尝试通过端口 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,但正在使用 FTP 的 IP 地址,并且无论如何都将其作为 DNS 规则添加到 CloudFlare。
还有哪些其他防火墙或方法可能会阻止连接?我没有别的地方可以看...
非常感谢您的帮助。
由于我无法发表评论,因此将其添加为答案。
如果实例托管在 AWS 上,如果托管在 Microsft Azure 上,您还可以仔细检查安全组吗?