为什么在 iptables 中接受端口 20 和 21 之后它们仍然被关闭?

为什么在 iptables 中接受端口 20 和 21 之后它们仍然被关闭?

我正在尝试打开服务器上的 FTP 端口。我已经在服务器上安装了 vsftpd。但是我无法通过端口 20 和 21 访问服务器

不知何故,它现在允许我访问端口 21。

我正在运行 Ubuntu 9.10 (Karmic) 我还运行了:modprobe ip_conntrack modprobe ip_conntrack_ftp

以下是我的服务器上的 iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             poseidon.valltek.com tcp dpts:ftp-data:ftp

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  poseidon.valltek.com  anywhere            tcp dpts:ftp-data:ftp

我一直在使用 www.ping.eu/port-chk/ 检查端口。以防万一是我的本地机器出了问题。

谢谢。

答案1

在您的输出链中,您正在限制目标端口,它应该是源端口吗?

另外,您是否检查过服务器端口上是否有东西在监听?

netstat -n | grep ':2[01]'

答案2

可能对你的问题有些歧义。如果你想在你的电脑上使用ftp服务,这主要取决于远程服务中定义的传输形式。

  1. 端口模式:

    服务器通过 20 端口连接你的计算机。使用

    ~$:iptables -A 输入 -s --sport 20 -j 接受

  2. 被动模式

    服务器打开大于1024的端口与客户端建立连接,有点困难,你应该安装模型“ip_conntrack,ip_conntrack_ftp“来跟踪 ftp 数据包。

    更多信息

相关内容