FTP默认是的20和21端口,一般设备会自动识别21并开放20。管理端口和数据端口
当你改了以后呢。。就它无法自动开放别一个端口了。
完成一个FTP的传输过程不仅仅只需要21一个端口,而是2个端口,21端口只是一个命令端口,其实另外还有一个数据端
FTP具有两种模式,分别是port模式(也叫主动模式)和pasv模式(也叫被动模式),怎么来理解这两种模式呢?我来打个比喻吧,
在主动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会通过另外一个数据端口把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件;
在被动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被动模式,可以理解为服务端被客户端拿走了东西
在主动模式中,FTP的两个端口是相对固定的,如果命令端口是x的话,那数据端口就是x-1,也就是说默认情况下,命令端口是21,数据端口就是20;你把命令端口改成了123,那么数据端口就是122。这样使用防火墙就很方便了,只要开通这两个端口就可以了,但是如果客户端是共享上网的话那岂不是不能正常使用FTP了,这样还是不行,一定需要被动模式。
被动模式中就麻烦了些,默认情况下命令端口是21,但是数据端口是随机的,这个需要在设备里设置一下被动端口。
设置完后,需要在做映射的时候,也开些这些端口.
转载于:https://blog.51cto.com/haorenzhang/1880227