防火墙中配置FTP

来源:互联网 发布:linux clone 编辑:程序博客网 时间:2024/06/04 18:10

要求:外网充许访问内网中的FTP服务。
考虑

  1. 将内网地址NAT为外网可以访问的地址;
  2. FTP服务一般使用TCP21端口进行主机链接;
  3. FTP分为PASV与PORT两种方式,即被动模式与主动模式。在PASV下,当客户端与FTP服务器发生数据传输过程中,采用高于1024的动态端口与服务器链接,而PORT方式中,只与服务器以TCP20端口进行通信。这两种方式由客户端发起时自由选择。

问题:无法限制客户端仅使用PORT方式与FTP服务器进行数据交换,那么,开放整个高于1024的端口,对于安全上,毕竟会造成一定的安全隐痪。如开放:1025、1433、3389、5000、9995、9996等等,都可能会引起内部网络的一些问题。如果一一进行设置,对于防火墙效率等方面,又不得不考虑。
解决
FTP服务器采用Serv-U5.0.11,而这款FTP服务器提供了PASV的端口范围设置,这样一来就可以做一个相对简单又相对稳定的设置。
方案

  1. 静态端口地址映射,可以让用户通过外网地址+端口21来访问内网中特定的FTP服务;
  2. 在防火墙中设置ACL,充许用户可以通过TCP访问FTP服务器的6800-6900端口;
  3. 设置Serv-U的PASV:管理--本地服务器---设置--高级设置中,在Server栏中,设置PASV prots range为6800-6900
  4. 启用设置。

测试成功!

后记
FTP服务不象其它服务器,如DNS只使用UDP53端口,EMAIL只使用TCP的110和25端口,WEB使用TCP80端口,TFTP使用UDP的69端口,因为它的被动模式,服务器必须要提供一定的高于1024的端口供客户端使用。同时,我们也没有办法只要求用户只使用主动模式,因为用户可能并不了解这一情况,很多FTP客户端默认的是使用被动方式。因为,如果防火墙只开放20、21端口,会造成客户端可以进行用户验证,但无法列目录,也无法进行数据传送,并提示“你没有权限”这样的550返回错误。

原文讨论:http://www.cnblogs.com/flyangel/archive/2004/07/01/19954.aspx

http://www.iwms.net/n1848c45.aspx

原创粉丝点击