FTP服务器(vsftpd)配置随笔
1、配置文件位置
/etc/vsftpd/vsftpd.conf
2.配置文件手册
man 5 vsftpd.conf
3.自定义连接端口
listen_port=10021
ftp_data_port=10020
4.启动/停止/重启vsftpd
#service vsftpd start/stop/restart
5.自启动vsftpd
#chkconfig vsftpd on
6.NAT背后建立FTP
局域网内可以支持port和pasv两种模式;
局域网外访问FTP需要对listen_port进行端口映射,进行了此操作仅支持port模式,不支持pasv模式
想局域网外支持pasv模式需要进行如下设置:
a)修改配置文件
切换到root用户,然后
#gedit /etc/vsftpd/vsftpd.conf
寻找如下几个字段,如果没有,则在文件末尾添加。如果有,则修改它的值。行首带#的是注释行,不起任何作用,注意修改值的时候别忘了去掉行首的#号
pasv_addr_resolve=YES
pasv_address=外网IP
pasv_min_port=数据传输最小端口号
pasv_max_port=数据传输最大端口号
其中数据传输最小/大端口号由你自己定义,但最小不得小于1024,最大不得大于65535。这两个数定义了数据传输端口范围~
b)数据传输端口映射
既然是NAT背后,那你的FTP服务器肯定在路由器或者充当路由的服务器背后。
关于路由
如果是路由器,则进入路由器设置,将上边你定义的数据端口范围内的每个端口都映射到FTP服务器相应端口。
如果是充当路由的服务器,则需要到那台服务器上去作端口映射,这个需要看具体服务器使用什么方式充当路由器,进行相应的设置。
关于端口
如果你上面设置端口范围为(a,b),必须将每一个端口i(a≤i≤b)都进行映射,而不是仅仅映射a和b。
如果你将范围定义成(1024,65535),我看你就有的忙了,赶紧回去改小范围吧~~
如果你将范围定义成(a,a),嗯,只需要映射一个端口就OK了,不过好像还有点问题,那就是你试试从服务器下载一堆小文件,你可能会发现传输错误的有很多,大概占1/3左右的文件会失败,这个问题出现在我这里,不知道你会不会遇上,具体原因和解决方案均不清,如果你自己,请告诉我,谢谢。