我刚刚通过 Azure 设置了一台运行 CentOS 的虚拟机。为了能够通过 FTP 客户端访问虚拟机,我启用了 FTP 端点。
当我尝试通过 FTP 进入服务器时,我在 FileZilla 中看到以下内容:
Status: Connecting to x.x.x.x:21...
Error: Connection timed out
Error: Could not connect to server
Status: Waiting to retry...
由于我能够通过 SSH 访问服务器,因此 IP 地址没有问题。
我错过了什么?
答案1
问题出在我的操作系统级别的 IP 表上。
我在 CentOS 上运行了以下命令以允许端口 20、21 和 22 上的通信。
sudo iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
sudo iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
sudo iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
然后运行:
sudo iptables -L -n
以上三条规则应排REJECT ALL
在以下规则之上Chain INPUT (policy ACCEPT)
才能考虑。