vsftp FTP服务器外网访问设置

时间:2024-02-18 22:17:49

引用:

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模式?