引用:
linux中VSFTP无法从外网访问问题!
http://blog.csdn.net/zbulrush/article/details/841978
原文:
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端口发送连接请求,建立一条数 据链路来传送数据。
linux中VSFTP无法从外网访问问题解决如下!
需要防火墙配置文件里配置端口映射
202.100.0.22 -p tcp --dport 21 -j SNAT --to 172.16.0.22
这样就可以通过外网访问到内网的21端口了
############################################
用的是filezilla的软件,看到信息栏里面出来的数据问题PASV,time out, 估计是被动方式,而笔记本是不知道服务器的已经开始的端口了。所以,应该用iptables 命令来做一下修改。
怎么用iptables 来配置 vsftp 呢?????
这里有详细的链接:http://blog.csdn.net/moreorless/article/details/5289147
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
关于vsftp的工作方式的开启与否。
这里有详细介绍,怎么在PORT与PASV之间转换
http://www.longsays.com/20120309/blog-4.html/comment-page-1
VSFTP如何开启PASV模式,虽然我不用FTP,但总有人喜欢用,下面我们就来详细阐述一下VSFTP如何开启PASV模式吧!
问题:装好VSFTP后,FTP不能使用,提示PASV模式失败,尝试PORT模式。
原因:iptables防火墙挡住了PASV的端口
解决:修改VSFTP配置文件,开放防火墙端口
1.打开VSFTP配置文件
1
|
vi /etc/vsftpd/vsftpd.conf
|
未尾添加:
1
2 3 4 |
pasv_enable=YES
pasv_min_port=40000 pasv_max_port=40080 pasv_promiscuous=YES |
2.打开iptables文件
1
|
vi /etc/sysconfig/iptables
|
加入:
1
2 |
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 40000:40080 -j ACCEPT |
重启iptables与vsftpd,就可以使用pasv模式了。
转载请注明:龙语视觉 » VSFTP如何开启PASV模式?