用 Delphi 做 FTP 服务器以及如何配置防火墙

本文详细介绍了如何使用Delphi的TIdFTPServer创建FTP服务器,涉及主动模式和被动模式的配置,强调了路由器端口映射、防火墙设置以及PASVBoundPort参数的调整,以确保在电信环境下通过FileZilla客户端成功连接。

使用 Delphi 的 TIdFTPServer 这个控件,做一个 FTP 服务器很简单。可以直接拿官方提供的 FTP Server 的那个 Demo 程序来修改。

本文主要描述如何配置服务器端防火墙

网络环境:

1. 客户端在路由器后面,局域网;

2. 服务器端在路由器后面的局域网上面。

FTP 配置原理

1. 主动模式:FTP 客户端连接上 FTP 服务器以后,客户端会打开一个 TCP 端口作为接收数据的TCP 服务器,然后 FTP 服务器主动发起 TCP 连接客户端。

1.1. 主动模式的问题:需要客户端所在网络,配置路由器开端口映射到客户端电脑。从实施来说,不方便。

2. 被动模式:FTP 客户端连接上 FTP 服务器后,FTP 服务器另外随机打开一个被动模式的 TCP 端口,将端口告诉客户端;然后,客户端用 TCP 连接这个端口,建立数据传输通道。

2.1. 被动模式:FTP 服务器端要设置防火墙,要设置路由器端口映射。

Indy TIdFTPServer 的用法

在上述描述中,如果使用 TIdFTPServer 这个控件来实现一个 FTP 服务器端程序,需要注意:

1. 路由器开端口映射到服务器端所在电脑 IP 地址的 21 端口;

1.1. 不幸的是,电信对于小端口,封掉。因此,需要映射路由器的 2121 端口,指向内网 FTP 服务器所在 IP 地址的 21 端口。

1.2. FTP 服务器所在电脑的防火墙,设置允许 21 端口的 TCP 连接。

2. IdFTPServer 的属性:PASVBoundPortMax 选择 5003,  PASVBoundPortMin 选择 5000;

2.1. 上述设置的意思是被动模式下,TIdFTPServer 随机打开 5000 到 5003 之间的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值