我的方法:
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
加两个模块
这里有个百度HI的方法(没有测试):
ftp服务的搭建之vsftpd的配置(解决外网无法访问的问题)
原因为FTP被动模式的设置问题,于是修改/etc/vsftpd.conf
将如下内容加入:
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50009
pasv_address=116.xxx.61.xxx(外网地址)
重启服务:/etc/init.d/vsftpd restart
顺利登陆。。。
以下是解释:
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
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
四月
21
发表评论