程序员人生 网站导航

serv-u更改端口需在防火墙开放端口及说明

栏目:服务器时间:2013-12-23 08:17:30

  最近小编的单位新增了一个机柜,并购买了新的防火墙,在添加IP策略时出现了问题,由于使用了serv-u这个FTP服务器软件,所以把默认的21端口就换成别的了,但是在上传文件时出现问题,发现FTP要连接一些随机的端口,百度了一下终于解决问题。

  serv-u 默认配置完成后,其PASV(被动)模式启动的时候,会使用3000-3010端口号

  windows的防火墙,开启情况下,只打开了21端口。所以FTP软件在登录服务器的时候,会使用3000-3010端口被防火墙终断

  终端显示 无法建立 socket 链接 ,无法list目录

  解决办法:增加防火墙端口通行 3000-3010

  FTP基础知识

  FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。

  FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

  Port模式:

  ftp server:tcp 21 <------client:dynamic

  ftp server:tcp 20 ------>client:dynamic

  Pasv模式:

  ftp server:tcp 21 <----client:dynamic

  ftp server:tcp dynamic <----client:dynamic

  ===============================

  FTP socket错误分析及解决方法

  简朴说一下FTP的两种模式:

  1、port模式:这种模式的FTP网管人员比较轻松,但兼容性较差,比如假如客户端在局域网内就会无法登录FTP服务器。假如有人无法使用port模式登录FTP的话,作为FTP治理员来说,你无论如何努力都是没有用的。因为这时问题症结在对方客户端的 防火墙或网关。所以对于一个FTP服务器来说,尽量要使用pasv模式。

  2、pasv模式:这种模式的FTP兼容性好,但对FTP治理员来说有一定挑战性,而且设置的情况比较复杂,以下举例均以有防火墙的情况来说明:

  (1)如果服务器在公网上:

  这是最理想的情况。21端口当然要首先开放,然后再作如下设置:serv-u服务器——本地服务器——设置——高级,在"pasv端口端口范围"中填入一段不与其它端口冲突的范围,如3001-3020,然后在防火墙中开放3001-3020的端口。

  (2)如果服务器在私网,这时又要分两种情况:

  情况一:网关的公网IP地址是固定的:

  这种情况下,在serv-u服务器上除了按这段文字:

  21端口当然要首先开放,然后再作如下设置:serv-u服务器——本地服务器——设置——高级,在"pasv端口端口范围"中填入一段不与其它端口冲突的范围,如3001-3020,然后在防火墙中开放3001-3020的端口。

  作相同设置之外,还要加设如下设置:

  serv-u服务器——本地服务器——域——你的域名——设置——高级,将"答应被动模式数据传输,使用IP"前的勾勾上,并在后面填上你的网关的公网IP地址。然后,再到网关上将21端口、3001-3020的端口范围全部映射上serv-u服务器的内网IP地址上。

  情况二:网关的IP地址是动态的:

  这时必须使用花生壳之类的动态域名。假设你申请的花生壳是myftp.vicp.net,并正常安装了花生壳程序客户端。这时除了按刚才引用过一次的文字中作设置以外,还要作如下设置:

  serv-u服务器——本地服务器——域——你的域名,将"启用动态 DNS"前的勾勾上,这时该页会多出一个"动态DNS"的标签,点击进入该标签,在IP名称中填入"myftp.vicp.net",按F5键刷新,这时你网关获取的公网FTP地址会以灰字(表示不可改)出现在"IP地址"栏中。然后再检查这里:

  serv-u服务器——本地服务器——域——你的域名——设置——高级,仍旧将"答应被动模式数据传输,使用IP"前的勾勾上,但后面不要填任何IP,让它空闲着。到这一步你在serv-u服务器上的设置全部完成,下面再去网关上将21端口、3001-3020端口全部映射到serv-u服务器的私网IP上。

  这时,恭喜,你大功告成,你的FTP可以被地球上任何一个能上互联网的人使用了。

  Q&A

  Q:我的情况与你所说不一样呀,我不是21端口而是4500端口,怎么办?

  A:与上面所说一样。只是将21替换成4500即可。

  Q:我需要在诺顿防火墙中开放3001-3020端口吗?

  A:需要。我不知道诺顿是否支持FTP的自动识别。最好是手工指定开放这些端口以防万一。

  Q:我完全按你所说设置的,为什么还是有人能上有人不能上?

  A:让不能上的人使用pasv模式。

  Q:为什么我自己不能登录自己的FTP?

  A:将出错列表贴出来分析。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐