• 【 VSFTPD 】ftp 客户端问题


    网络环境:

      两个独立的内网环境,前端都有路由和防火墙的管控。要在这两个独立的内网使用ftp通过互联网进行通信。

      首先,ftp server 服务端口默认修改为:2100 数据端口修改为:21000

      将这两个内网服务器端口通过路由映射到公网端口。

      ftp server 使用的vsftpd的被动模式。

        被动模式:

          命令连接: 客户端大于1024端口 --> 服务器端21端口

          数据连接: 客户端大于1024端口 --> 服务器端被动端口

      我这里 FTP默认端口2100  数据端口设置为21000  客户端通过ftp命令连接出现如下情况。

    客户端命令如下:

    [root@localhost ~]# ftp (公网IP) 2100
    Connected to [公网IP] (公网IP).
    220 (vsFTPd 2.2.2)
    Name ([公网IP]:root): ftp用户名
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> dir
    227 Entering Passive Mode (10,0,10,5,82,8).
    ftp: connect: Connection timed out  # 这里无法查看数据,也就是数据端口无法连接,通过上面的连接查看,直接发送到10.0.10.5 2100 这样显示是无法连接内网IP的。
    ftp> 

    通过以上事件,得知问题出在无法连接数据端口上。研究了很久,windows下通过ftp工具能够正常连接。但是cmd下ftp命令和linux下ftp命令均出现这种情况。

    最后得知Linux 下 lftp同样可以进行ftp连接。于是就进行了尝试,结果如下:

    可以看到这次,无论是命令连接还是数据连接socket都是正确的。

    查看文件同样也OK了。 这算是踩了一个Linux ftp客户端使用的坑。

  • 相关阅读:
    从远程库克隆
    添加远程库
    远程仓库
    删除文件
    xml 解析的四种方式
    遍历Map
    Spring 和SpringMVC 的父子容器关系
    JDK各版本新特性!
    看啦这么就别人的博客 我也来写一篇! Object转换其他类型
    手机访问电脑搭建的服务器地址
  • 原文地址:https://www.cnblogs.com/hukey/p/5504208.html
Copyright © 2020-2023  润新知