设置 FTP 服务内网穿透给外网访问

本文介绍了FTP服务的两种模式——主动模式和被动模式,并详细阐述了如何通过配置被动模式,设定端口范围,以及外网映射端口来实现内网FTP服务对外提供。重点讲解了vsftpd配置文件中的关键参数,如pasv_enable、pasv_min_port和pasv_max_port等,以确保外网访问FTP服务的可行性。

与 SFTP 不同 FTP 服务的网络通讯更复杂,需要一个控制端口(21)和一个数据端口(默认20)。因此想把内网的 FTP 服务通过端口映射提供给外网使用,需要比较复杂的策略。

FTP 服务模式介绍:

  • 主动模式: 在主动模式下,客户端会开启N和N+1两个端口,N为客户端的命令端口,N+1为客户端的数据端口。默认情况下,服务器21端口作为命令端口,20端口为数据端口。
  • 被动模式: 在被动模式下,除了可以指定命令端口,也可以指定数据传输端口范围的下界和上界。

需要的操作:

  • 1、打开被动模式;
  • 2、设定 pasv_max_port 、 pasv_min_port 、外网映射端口号为相同值;
  • ​3、外网映射端口: 21 端口、被动模式端口;

配置文件: /etc/vsftpd/vsftpd.conf

pasv_enable=yes (Default: YES )  设置是否允许pasv模式
pasv_promiscuous=yes (Default: NO ) 是否屏蔽对pasv进行安全检查,(当有安全隧道时可禁用)
pasv_max_port=10036  (Default: 0 (use any port) ) pasv使用的最大端口
pasv_min_port=10036  (Default: 0 (use any port) ) pasv使用的最小端口
pasv_address (Default: (none - the address is taken from the incoming connected socket) ) pasv模式中服务器传回的ip地址
### 配置内网穿透以实现外网访问FTP服务 在局域网环境下搭建的 FTP 服务器通常只能被本地网络中的设备访问。为了使外部网络用户也能访问FTP 服务器,可以通过配置**内网穿透(NAT穿透)**技术来实现。 #### 1. 选择合适的内网穿透工具 可以使用多种内网穿透工具实现此功能,例如 `hsk`、`Cpolar` 或 `frp` 等。这些工具能够将本地端口通过隧道映射到公网地址,从而让外网用户通过该公网地址访问本地服务[^1]。 例如,使用 `hsk` 进行端口映射时,需要在软件中设置目标协议为 TCP,并指定本地 FTP 服务监听的端口号(默认是 21)。随后,该工具会分配一个公网域名或 IP 地址,供外部访问使用。 #### 2. 配置FTP服务器支持外网访问 FTP 协议在数据连接阶段存在主动模式(PORT)和被动模式(PASV)的区别。由于大多数外网客户端处于 NAT 后方,建议启用 PASV 模式以确保连接稳定性。在配置文件如 `/etc/vsftpd.conf` 中应包含以下设置: ```bash pasv_enable=YES pasv_min_port=30000 pasv_max_port=30100 ``` 上述配置启用了 PASV 模式,并设定了用于数据连接的端口范围。此外,还需确保这些端口在防火墙中开放,以便外部连接能顺利建立[^3]。 #### 3. 设置动态DNS(DDNS) 由于家庭宽带通常不具备固定公网 IP,因此推荐结合 DDNS 服务使用。许多内网穿透工具(如 hsk)都内置了 DDNS 功能,能够在 IP 变化时自动更新域名解析记录,确保公网访问地址始终有效。 #### 4. 测试与验证 完成配置后,可在任意外网环境中使用 FTP 客户端(如 FileZilla)尝试连接。输入由内网穿透工具提供的公网地址以及对应端口,若能成功登录并列出目录内容,则表示配置已生效。 #### 示例命令(适用于命令行测试): ```cmd ftp open your-public-domain.com 21 User: your_username Password: ******** ls ``` #### 注意事项 - 确保 FTP 用户权限配置合理,防止未授权访问。 - 若使用第三方 FTP 软件(如 Serv-U),需确认其监听地址为 `0.0.0.0`,而非仅限于 `127.0.0.1`。 - 对于某些复杂的网络环境,可能需要额外调整路由器的端口转发规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值