搭建 公网FTP服务器 外网访问

我是在ubuntu 20.04 上配置的,需要用到公网IP。没有公网IP的,可以考虑花生壳这类应用来做内网穿透。

1. 配置FTP服务器

安装vsftpd。

# sudo apt install vsftpd
# sudo vim /etc/vsftpd.conf

配置的话,这里不做说明,可以网上了解详细资料

安装后默认使用的主动模式,我在局域网测试,另外的电脑是可以访问到这台ftp服务器的。

分为主动模式和被动模式,需要公网访问的话,需要配置被动模式。(但是在后面配置为被动模式后,局域网访问失败了,目前还没有解决。

在最后面增加如下配置:

listen_port=9095
pasv_promiscuous=YES
pasv_enable=YES                                                                                                                  pasv_address=192.168.0.105
pasv_min_port=50000
pasv_max_port=50010

2. 配置路由器

在局域网出口处,需要映射内网的端口。这里设置的9095,所以需要把内网的9095映射到公网IP的端口上。最好是设置为一致的9095,方便我们识别。另外的,不做端口映射的,可以使用DMZ或桥接模式。都可以暴露局域网端口到公网。

如果是多级路由的话,需要在每一级路由器上都进行响应的配置。参考。

端口映射和DMZ我都尝试过,DMZ比较方便一些。

3. 客户端配置

局域网内,我使用的是windows资源管理器来访问ftp服务器,是没有问题的。但是公网就不行了。

后面换了FileZilla软件,在软件中配置好了对应的ftp服务器。

在这里插入图片描述
按道理来说,步骤1的ftp服务器配置应该把IP地址配置为公网IP地址的。这样,被动模式下,ftp服务器返回给客户端的IP地址才是公网IP,客户端才能解析并通过这个IP地址访问ftp服务端。但是,FileZilla可以设置如果路由不了这个IP,它会使用服主机地址来代替这个返回的IP地址。我这里设置为192.168.0.105是为了让局域网内的设备访问ftp不会出问题,才这样设置的,但是最后局域网内设备访问不了ftp,没有解决。

说明:如果IP地址填写了公网IP,会在一段时间后出问题。由于运营商提供的公网IP不是静态的,光猫重启后,会导致公网IP发生变化,因此最好使用域名来代替公网IP,并设置DDNS。

在这里插入图片描述

4. 外网访问sftp

建议使用sftp代替ftp,这个只要安装了ssh就会带。不需要配置,使用起来也没有上面的这些问题。据说sftp是提高安全性,但是牺牲掉一些效率。

我在配置好ssh后,仅仅只需要把默认的21端口改成其它的。我这里改的是5102。

就可以直接外网访问sftp了。内网也是没有问题的。

说明:在局域网内,不能通过外网地址来访问内网的机器。所以,下面的两个测试,客户端的网络环境分别为外网和内网。
一是通过手机数据流量开热点,使客户端拥有外网环境;二是,通过网线连接路由器拥有局域网环境。

在这里插入图片描述

在这里插入图片描述

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 腾讯云服务器提供了FTP服务,可以通过外网访问FTP服务器FTP(File Transfer Protocol)是一种用于文件传输的协议,可以方便地在客户端和服务器之间传输文件。为了实现通过外网访问FTP服务器,我们需要进行以下配置: 首先,我们需要在腾讯云服务器上安装FTP服务器软件,例如vsftpd。安装完成后,我们需要在服务器的安全组中开放FTP协议的端口,通常是TCP/20和TCP/21。 接下来,需要配置FTP服务器的参数。在vsftpd的配置文件中,我们需要指定FTP服务器的监听地址和外部用户可以访问的文件夹的位置。同时,我们还需要设置访问FTP服务器的用户账号和密码。 为了实现外网访问,我们还需要配置腾讯云服务器的公网IP地址,并将其绑定到FTP服务器上。在腾讯云的控制台中,我们可以选择公网IP和服务器实例进行绑定操作。 完成上述步骤后,我们可以使用FTP客户端软件(例如FileZilla)通过外网访问腾讯云服务器的FTP服务。我们需要在FTP客户端中输入服务器的公网IP地址、FTP登录账号和密码,然后点击连接即可。 需要注意的是,为了保障FTP服务器的安全性,我们可以通过配置FTP服务器的防火墙规则,限制外部访问FTP服务器的IP范围。同时,我们还可以考虑使用SSL/TLS加密协议来保护FTP传输的安全性。 综上所述,通过以上步骤的配置,我们可以实现腾讯云服务器的FTP外网访问。 ### 回答2: 腾讯云服务器是一款强大的云计算平台,可以提供虚拟服务器、数据库、存储等服务。要实现腾讯云服务器ftp外网访问,需要进行以下步骤: 首先,需要在腾讯云控制台创建一个云服务器实例,并选择合适的操作系统,例如Windows或Linux。 接着,我们需要在腾讯云的安全组中设置合适的规则来开启FTP服务。登录腾讯云控制台,选择对应的云服务器实例,进入“实例详情页”。在“安全组”选项中,点击“配置规则”,选择“映射协议为FTP”,并添加入站规则。 在云服务器实例的操作系统中,我们需要安装FTP服务器软件。对于Windows操作系统,可以使用IIS(Internet Information Services)来配置FTP服务器;对于Linux操作系统,可以使用vsftpd或proftpd等软件。安装软件后,需要进行相应的配置,设置FTP的监听端口、用户权限等。 接下来,我们需要在服务器的防火墙中开启FTP端口。对于Windows操作系统,需要在Windows防火墙中创建一个允许FTP端口的规则;对于Linux操作系统,需要通过防火墙软件(如iptables)来设置开放FTP端口。 在完成上述步骤后,我们就可以通过云服务器的外网IP地址来访问FTP服务了。使用FTP客户端软件(如FileZilla)连接到云服务器的外网IP地址,并输入正确的用户名和密码,就可以进行文件的上传、下载等操作。 需要注意的是,为了保障安全性,建议在FTP服务器上设置强密码,并进行合适的权限控制,仅允许有限的用户访问。另外,定期更新服务器上的操作系统和FTP软件,以及备份重要数据,可以提高服务器的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值