![为什么在 iptables 中接受端口 20 和 21 之后它们仍然被关闭?](https://linux22.com/image/1246665/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%20iptables%20%E4%B8%AD%E6%8E%A5%E5%8F%97%E7%AB%AF%E5%8F%A3%2020%20%E5%92%8C%2021%20%E4%B9%8B%E5%90%8E%E5%AE%83%E4%BB%AC%E4%BB%8D%E7%84%B6%E8%A2%AB%E5%85%B3%E9%97%AD%EF%BC%9F.png)
我正在尝试打开服务器上的 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服务,这主要取决于远程服务中定义的传输形式。
端口模式:
服务器通过 20 端口连接你的计算机。使用
~$:iptables -A 输入 -s --sport 20 -j 接受
被动模式
服务器打开大于1024的端口与客户端建立连接,有点困难,你应该安装模型“ip_conntrack,ip_conntrack_ftp“来跟踪 ftp 数据包。