FTP服务开启被动模式

【摘要】
这两天一直在搞FTP服务的问题,记录下整个开发过程,前面记的开启FTP服务的,就不重新写了。
linux环境开启FTP服务,给外部调用时,分为主动port模式和被动pasv模式。
port模式,即客户端开放端口,通知服务端连接,pasv模式则相反,需要注意的是,一般都采用pasv模式,因为类似防火墙的原因,被动模式不会出问题。
【配置项】
配置文件仍然是:vsftpd.conf
主动模式开关
port_enable=YES|NO
connetc_from_port_20=YES|NO
控制以PORT模式进行数据传输时是否使用20端口(ftp-data)。YES使用,NO不使用。默认值为NO,但RHL自带的vsftpd.conf文件中此参数设为YES。
ftp_data_port=port number
设定ftp数据传输端口(ftp-data)值。默认值为20。此参数用于PORT FTP模式。

被动模式开关
pasv_enable=YES|NO
YES,允许数据传输时使用PASV模式。NO,不允许使用PASV模式。默认值为YES。
pasv_min_port=port number
pasv_max_port=port number
设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。
pasv_promiscuous=YES|NO
此选项激活时,将关闭PASV模式的安全检查。该检查确保数据连接和控制连接是来自同一个IP地址。小心打开此选项。此选项唯一合理的用法是存在于由安全隧道方案构成的组织中,默认值为NO,一般不用。
所以如果linux打开了防火场,必须开通对应的端口 例如:
-A RH-Firewall-1-INPUT -m state –state NEW -p tcp -m tcp –dport 30000:31000 –syn -j ACCEPT

代码连接过程中出现问题,可以抓包后用wireshark分析:
tcpdump host 客户端IP -w 文件名

还有出现抓包发现问题vsf_sysutil_recv_peek no data
这是因为被动模式下,服务端返回了个私有地址(172那个),客户端无法识别。

继续设置:
pasv_addr_resolve=YES 被动模式是否用设置好的的地址返回给客户端,如果是NO,则从链接的套接字中自己获取地址,如果为YES,则设置为下面这个地址
pasv_address=202.101.104.126 被动模式下返回的地址,即服务端公网IP

链接:
https://blog.csdn.net/newborn2012/article/details/15812821
https://blog.liaol.net/2017/07/php-ftp-500-oops-vsf-sysutil-recv-peek-no-data/

转载于:https://www.cnblogs.com/likailun/p/9163269.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值