‘壹’ 阿里云服务器上搭建FTP后,外网访问不了
1、解决方案:
ftp默认模式为被动模式,开启一个随机端口建立连接。需要把内网端口限制打开,
如果是通过硬件防火墙,将防火墙开启ftp随机端口就可以了
2、两种方式的工作原理:
主动模式:
Port模式FTP 客户端首先和FTP服务器的TCP
21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。
PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP
server必须和客户端建立一个新的连接用来传送数据。(可以看到在这种方式下是客户端和服务器建立控制连接,服务器向客户端建立数据连接,其中,客户端的控制连接和数据连接的端口号是大于1024的两个端口号(临时端口),而FTP服务器的数据端口为20,控制端口为21)
被动模式:
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个临时端口(也叫自由端口,端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP
server不再需要建立一个新的和客户端之间的连接。(可以看到这种情况下的连接都是由客户端向服务器发起的,与下面所说的“为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式”相对应,而服务器端的数据端口是临时端口,而不是常规的20)
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP
20无法和内部网络的客户端建立一个新的连接,造成无法工作。
主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
‘贰’ 我配置的FTP服务器,和我一个局域网的能连接,但是外网不能连接,这个是什么原因呢
需要做端口映射
例如你局域网服务器地址是192.168.1.11
服务器端口是21
那么你需要在路由器设置端口映射
地址192.168.1.11 端口21 外部端口2111
这样外网可用你外网ip:端口号访问
例如:ftp://172.166.96.120:2111
‘叁’ FTP外网无法连接
FTP协议很特殊的,花生壳应该是未支持这个协议
建议你用http干这个事(如果仅下载)
FTP原理:
21端口仅仅是个命令端口,并不传输数据用
两种模式:
主动模式,FTP客户端主动打开一个端口,FTP服务端连你的端口给你发数据
被动模式,FTP服务端主动打开一个端口,FTP客户端去连接这个端口收数据
主动适合客户端有公网IP,被动适合服务端有公网IP (服务端有支持FTP协议的路由器也行)
看你的日志不确定MLSD指令是否正确的连接了,在外网用wireshark抓下包吧,看看tcp层是否连接正常,感觉你连接的那个13750赶上别的数据了,不是正确的ftp数据包
‘肆’ 外网不能访问ftp服务器什么原因
在原办公楼的路由器上要做端口映射,即把从外网来访问路由器IP的FTP服务,映射到内网的FTP服务器IP上去,相当于转发了。因为外网的人最多只能访问到路由器,不可能直接访问到内网的FTP,一转过去就可以了。 第二由于宽带的IP是不固定的,新办公楼访问宽带路由器用IP访问也不好记,麻烦。所以还得要DDNS(动态域名解析),这类服务有花生壳(免费)等,申请帐号后,会给你一个域名。 第三把申请到的动态域名在原宽带路由器里面绑定,现在一般的宽带路由器都内置DDNS功能,你只需启用该功能,并填入申请到的账号即可。如果你的宽带路由器不支持内置的DDNS功能,也没有关系,你去你申请域名的网站下载一个客户端。在原路由器下面的任意一台电脑(在不在FTP服务所在电脑也都无所谓),并运行客户端(当然也是要账号)。 此后,在新办公楼的同事就可以用你申请到的域名访问FTP服务器了,这边不用作任何设置的,所有的设置都是在原路由器那边
‘伍’ 如何解决:内网ftp服务器 外网访问失败
一,首先要确定内网是否能正常访问FTP服务器。
二,要确定清楚路由上是否已经做了映射到内网服务器上。
三,如果是拨号的。确定清楚 是否是公网IP。如果是,确定清楚直接通过当前获取到的IP是否能访问进去。如果能。有可能你使用的动态域名解析解析出的IP跟当前IP对不上。如果不确定是否公网IP。可以通过tracert 路由图的方式看。现在各大运营商都开始使用NATIP。电信路由里有100开头的。一般就是NAT后的IP。这种IP 是不能在公网上访问进去的。要改成公网的才行。或者到查IP网站。看网站显示的IP是不是跟你当前路由器上的对不对的上。对不上。就表示访问过去的IP不是你这个。是NAT ip。如果是固定IP专线的。建议换其他端口测试下是否通。
四,如果还是不能确定是否公网。建议直接电脑接网线不通过路由器。电脑开启远程协助。看获取的IP。看其它地方能否远程过去。不能。多数就是 IP不是公网IP导致。
‘陆’ 我在局域网内创建了一个FTP,怎么在外网里打不开
因为你内网的IP,在公网上是不能识别的,公网路由器会把你的这些数据包丢 掉的,所以你在内网建了一个FTP以后要在连接你内网的公网IP接口上做个NAT,把你的FTP发布出去的,如内网192.168.0.1 的21号端口在公网的202.168.1.1 有21号端口上发布一下,这时你才可以访问的。
一般的路由器上是可以 做端口映射(NAT)的。
‘柒’ ftp连接不上
首先一定确保你的网络肯定能够连接到外网上。在此条件下,你用 cuteftp、leapftp 等 FTP 客户端软件,运行客户端软件后,要输入对方的正确 IP 地址、FTP 端口号、用户名、密码,然后再将连接模式设置成 PASSIVE 模式,再看看能不能连接上。
‘捌’ FTP服务器,外网访问不了,但是可以ping通是怎么回事
首先,局域网访问是否正常,如果局域网访问正常,端口你又映射了,防火墙也关闭了,也没有限制端口,,那么你该找找 宽带运营商,因为有些端口是屏蔽了的,比如说80端口
‘玖’ FTP连接不上是什么原因
修改下面的设置,把勾去掉就解决了。
方法:
1、打开IE的菜单"工具"->"Internet 选项";
2、点击“高级”标签卡;
3、将“浏览”节点下的“使用被动FTP(为防火墙和DSL调制解调器兼容性)”前面的勾去掉。
‘拾’ 云服务器上,已经搭建好FTP,可是外网却无法访问
检查下云服务器的 端口安全组策略是否放行 21端口
检查安全组里面的策略,是否开放 0.0.0.0/0 允许TCP 21端口访问。