这里先说说FTP传输的两种模式吧:
在正常模式下﹕
1. FTP client 开启一个随机选择的高于 1024 的 port 呼叫 FTP server 的 port 21
请求联机。当顺利完成 Three-Way Handshake 之后﹐联机就成功建立﹐但这仅是命
令通道的建立。
2. 当两端需要传送数据的时候﹐client 透过命令通道用一个 port 命令告诉 server
﹐客户端可以用另一个高于 1024 的 port 做数据信道﹐并准备好 socket 资源。
3. 然后 server 用 port 20 和刚才 client 所告知的 socket 建立数据联机。请注意
﹕联机方向这是从 server 到 client 的﹐TCP 封包会有一个 SYN 旗标。
4. 然后 client 会返回一个带 ACK 旗标的确认封包﹐并完成另一次的 Three-Way
Handshake 手续。这时候﹐数据信道才能成功建立。
5. 开始数据传送。
在 passive 模式下﹕
1. FTP client 开启一个随机选择的高于 1024 的 port 呼叫 FTP server 的 port 21
请求联机﹐并完成命令通道的建立。
2. 当两端需要传送数据的时候﹐client 透过命令通道送一个 PASV 命令给 server﹐
要求进入 passive 传输模式。
3. 然后 server 像上述的正常模式之第 2 步骤那样﹐挑一个高于 1024 的 port ﹐
并用命令通道告诉 client 关于 server 端用以做数据信道的 socket。
4. 然后 client 用另一个高于 1024 的 port 呼叫刚才 server 告知的 scoekt 来建
立数据信道。此时封包带 SYN 标签。
5. server 确认后回应一个 ACK 封包。并完成所有交握手续﹑成功建立数据信道。
6. 开始数据传送。
iptables会自上而下的对比规则﹐找到符合的就不再往下找了。根据这样的特性﹐我们可以将 NAT 外部界面进入的某些联机﹐在那行 syn 过滤规则之前 ACCEPT 进来。
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT这条命令可以解决问题, 只开了20 21 是没用的,要是连被动的ftp服务器,边上21后,服务器端是随机端口和你的连接的,,ESTABLISHED,RELATED -j ACCEPT 可以解决此问题
分享到:
相关推荐
允许 FTP 服务的 21 和 20 端口: iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 20 -j ACCEPT 屏蔽指定的 IP 如果想要屏蔽某个 IP 的访问,可以使用以下命令: iptables -I...
7. **防火墙设置**:为了允许外部连接,必须在iptables防火墙中打开FTP的TCP端口20(数据连接)和21(控制连接)。可以使用`iptables`命令添加规则。 8. **日志记录**:vsftpd的日志信息默认记录在 `/var/log/...
通常需要开放TCP端口20(数据连接)和21(控制连接),以及可能的端口1024-5000(用于 Passive FTP)。 8. **测试FTP服务器**:最后,你可以通过FTP客户端(如`ftp`命令行工具或FileZilla等图形界面工具)连接到...
允许 FTP 服务的 21 和 20 端口:iptables -A INPUT -p tcp --dport 21 -j ACCEPT、iptables -A INPUT -p tcp --dport 20 -j ACCEPT 禁止其他未允许的规章拜访:iptables -A INPUT -j REJECT 4. 屏蔽 IP 屏蔽单个...
如果有防火墙(如ufw或iptables),需开启对应的FTP端口(通常20和21): ``` sudo ufw allow 20/tcp sudo ufw allow 21/tcp ``` 7. **安全考虑** - 使用SSL/TLS加密连接以增强安全性。 - 可以使用PAM...
### Linux端口与服务详解 在Linux系统中,端口和服务是进行网络通信的重要组成部分。本文将基于给定的信息深入探讨Linux端口、服务管理及其配置。 #### 一、Linux端口基本概念 端口是计算机网络通信的一个逻辑...
它基于TCP/IP协议族,分为控制连接和数据连接两个部分,通过端口号20(数据连接)和21(控制连接)进行通信。 2. **安装FTP服务器软件**:在Linux中,常见的FTP服务器软件有vsftpd、ProFTPD和PureFTPD等。例如,`...
如果你的服务器上有防火墙,比如iptables或firewalld,记得开放FTP端口21,并可能需要开启数据连接的端口范围(如20-10000)。 通过以上步骤,你已经成功在Linux系统上架设了一个基本的FTP服务器。当然,实际部署时...
如果您的系统启用了防火墙(如iptables或ufw),别忘了打开FTP端口(默认为20和21)。例如,使用iptables: ``` sudo iptables -A INPUT -p tcp --dport 20,21 -j ACCEPT sudo service iptables save sudo ...
FTP服务的安全性非常重要,因此通常会配合防火墙规则(如iptables)来限制FTP服务的访问,只允许特定的IP地址或端口进行连接。此外,使用SSL/TLS加密可以确保数据传输过程中不被窃听。 总结来说,Linux FTP客户端...
在实际使用中,你可能还需要设置防火墙规则,允许FTP端口(默认为20和21)的入站连接。例如,在`iptables`防火墙中,你可以添加如下规则: ```bash sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT sudo ...
为了确保系统的安全性,你还需要配置防火墙规则,允许FTP和TELNET的端口(分别是21和23)通过。你可以使用`iptables`命令来添加这些规则。 通过以上步骤,你已经在Arm-Linux系统上成功部署了FTP和TELNET服务。然而...
### 配置 Linux-iptables详解 #### 一、iptables的基本理论 **1. 规则(Rules)** 规则是网络管理员定义的条件集合,用于判断数据包是否符合特定标准。这些规则存储在内核空间的信息包过滤表中,并且包含了各种...
5. **防火墙配置**:为了确保FTP服务对外可用,可能需要在Linux防火墙(如iptables或firewalld)中打开FTP所需的端口(默认为20和21)。 6. **SSL/TLS加密**:为了增强FTP服务的安全性,可以启用FTPS(FTP over TLS...
如果你有防火墙(如ufw或iptables),记得打开FTP的20(控制连接)和21(数据连接)端口。 6. **测试FTP连接**: 可以使用命令行的`ftp`工具或图形化的FTP客户端,如FileZilla,尝试连接到服务器。 压缩包中的...
如果你的系统有防火墙(如`firewalld`或`iptables`),记得打开20和21端口,允许FTP流量通过。 8. **测试与访问**: 使用FTP客户端(如`filezilla`或命令行`ftp`工具)尝试连接到本地服务器,确保一切正常运行。 ...
如果系统启用了防火墙,如`iptables`或`firewalld`,需要打开FTP所需的端口,通常是20(数据连接)和21(控制连接)。对于被动模式,还需要开放`pasv_min_port`和`pasv_max_port`设定的端口范围。 例如,在`...
在Linux系统中,FTP(File ...至此,你已经在Linux上成功安装并配置了FTP服务器,本地用户现在可以使用FTP客户端连接到服务器并进行文件传输。记得定期更新和审查你的VSFTPD配置,以保持服务器的安全性和最佳性能。
- 开放FTP所需的端口21和SSH端口22:`iptables -A INPUT -p tcp --dport 21 -j ACCEPT` 和 `iptables -A INPUT -p tcp --dport 22 -j ACCEPT`。 - 使用命令 `iptables -L -n` 检查端口开启情况。 #### 五、测试...
比如,阻止所有来自 192.168.3.0/24 子网的主机访问 FTP 服务(端口号 21): ```bash iptables -I FORWARD -s 192.168.3.0/24 -p tcp --dport 21 -j DROP iptables -t filter -L FORWARD ``` 这里使用 `-p tcp` ...