文章目录
- 前言
- 一、什么是FTP?
- 二、基础环境搭建
- 1.拓扑图
- 2.基础配置
- 三、FTP基础配置
- 1.在服务端开启FTP服务
- 2.创建FTP用户
- 3.回到用户视图,创建FTP用户的家目录
- 4.客户端进行测试
- 四、FTP高级配置
- 总结
前言
最近,本人尝试在路由器上配置 FTP 服务时遇到了问题,但查阅网上资料发现,绝大多数教程都是通过 Server 设备来配置 FTP,针对路由器场景的完整配置案例相对较少。因此,本文结合自身排错过程,整理出一套在路由器上实现 FTP 服务的可行方案,供遇到类似问题的读者参考。
华为设备配置FTP参考文档:
一、什么是FTP?
FTP(File Transfer Protocol,文件传输协议)是 TCP/IP 协议族中用于在客户端与服务器之间传输文件的应用层协议。它采用客户端/服务器架构,默认使用 21 端口建立控制连接来传输命令,实际文件数据则通过 20 端口或被动模式协商的端口进行传输。
在路由器上配置 FTP 服务,就是让路由器充当 FTP 服务器,使网络内的客户端可以通过 FTP 客户端软件访问路由器上的文件系统,完成配置备份、日志下载、固件升级以及各类文件的上传和下载等操作。相比在 Server 设备上搭建 FTP,路由器场景更关注存储资源、账号权限、访问控制列表和网络可达性等配置。
FTP 支持主动模式(PORT)和被动模式(PASV)。主动模式由服务器主动连接客户端指定的数据端口;被动模式则由客户端连接服务器开放的端口,更适合存在 NAT 或防火墙的网络环境。理解这些基本概念,有助于后续在 ENSP 路由器上正确完成 FTP 服务配置。
二、基础环境搭建
1.拓扑图
本实验采取的拓扑图如下:
2.基础配置
AR1:
<Huawei>system-view[Huawei]sysname AR1[AR1]int g0/0/0[AR1-GigabitEthernet0/0/0]ipadd192.168.1.124AR2:
<Huawei>sys[Huawei]sysname AR2[AR2]int g0/0/0[AR2-GigabitEthernet0/0/0]ipadd192.168.1.25424三、FTP基础配置
1.在服务端开启FTP服务
# 开启FTP[AR2]ftp serverenable# 设置服务端控制链接监听端口(默认21)[AR2]ftp server port21# 注:无论FTP是主动模式还是被动模式,均通过该端口接收控制信息2.创建FTP用户
[AR2]aaa# 创建FTP用户,用户名随意[AR2-aaa]local-userftppassword cipher Huawei@123# 允许该用户应用FTP服务[AR2-aaa]local-userftpservice-typeftp# 设置用户登录级别为3级[AR2-aaa]local-userftpprivilege level3# 注:FTP用户级别要设为管理级(3~15),否则无法登录# 创建指定用户所属的FTP家目录[AR2-aaa]local-userftpftp-directory flash:/ftp注:还可通过以下命令来设置所有FTP用户的默认家目录(优先级低于上面)
[AR2]setdefault ftp-directory flash:/ftp3.回到用户视图,创建FTP用户的家目录
<AR2><AR2>mkdirftp# 创建ftp目录Info: Create directory flash:/ftp......Done<AR2>dir# 查看当前目录下内容Directory of flash:/ Idx Attr Size(Byte)Date Time(LMT)FileName0drw- - Oct13202609:42:09 dhcp1-rw-121,802May26201409:20:58 portalpage.zip2drw- - Oct13202610:24:28ftp# 成功创建3-rw-2,263Oct13202609:41:42 statemach.efs4-rw-828,482May26201409:20:58 sslvpn.zip<AR2>copy ./statemach.efs ./ftp/# 复制一个文件到ftp下,用于测试Copy flash:/statemach.efs to flash:/ftp/statemach.efs?(y/n)[n]:y Info: Copiedfileflash:/statemach.efs to flash:/ftp/statemach.efs...Done<AR2>cd ftp/<AR2>dir# 成功复制Directory of flash:/ftp/ Idx Attr Size(Byte)Date Time(LMT)FileName0-rw-2,263Oct13202610:24:50 statemach.efs<AR2>4.客户端进行测试
首先,先在客户端建立一个测试目录,后续所有操作均在该文件夹下完成
<AR1>mkdir ftp-test Info: Create directory flash:/ftp-test......Done<AR1>cd ftp-test/<AR1>dir# 可以看到,当前目录下没有任何文件Info: File can't be foundinthe directory1,090,732 KB total(784,460KBfree)测试FTP服务
<AR1>ftp192.168.1.254# 向服务端21端口发起请求Trying192.168.1.254... Press CTRL+K to abort Connected to192.168.1.254.220FTPserviceready. User(192.168.1.254:(none)):ftp# 输入用户331Password requiredforftp. Enter password:# 输入密码230User logged in.[AR1-ftp]# 可以看到已进入ftp目录[AR1-ftp]dir200Portcommandokay.150Opening ASCII mode data connectionfor*. drwxrwxrwx1noone nogroup0Oct1310:24..-rwxrwxrwx1noone nogroup2263Oct1310:24 statemach.efs drwxrwxrwx1noone nogroup0Oct1310:24.226Transfer complete. FTP:187byte(s)receivedin0.260second(s)719.23byte(s)/sec.# 下载文件到本端,默认存储在你登入ftp时所在的目录[AR1-ftp]get statemach.efs remote_statemach.efs# get 远端文件名 本端文件名200Portcommandokay.150Opening ASCII mode data connectionforstatemach.efs.226Transfer complete. FTP:2263byte(s)receivedin0.240second(s)9.42Kbyte(s)/sec.退出客户端查看结果
[AR1-ftp]quit# 通过quit登出221Server closing.<AR1>dir# 可以发现已经下载到本地了Directory of flash:/ftp-test/ Idx Attr Size(Byte)Date Time(LMT)FileName0-rw-2,263Oct13202610:34:37 remote_statemach.efs1,090,732 KB total(784,456KBfree)<AR1>测试上传功能
# 复制一个文件到当前目录下进行测试<AR1>copy../sslvpn.zip ./AR1_sslvpn.zip<AR1>dir Directory of flash:/ftp-test/ Idx Attr Size(Byte)Date Time(LMT)FileName0-rw-828,482Oct13202610:40:50 ar1_sslvpn.zip1-rw-2,263Oct13202610:34:37 remote_statemach.efs登入服务器进行测试
# 注:必须指定对端文件名,否则会报450 Access violation retrieving file错误[AR1-ftp]put flash:/ftp-test/ar1_sslvpn.zip ./ar1_sslvpn.zip# put 本端文件名 远端文件名200Portcommandokay.150Opening ASCII mode data connectionfor./ar1_sslvpn.zip.1%3%5%7%9%11%13%15%17%19%21%23%25%27%29%31%33%35%37%39% 41%43%45%47%49%51%53%55%57%59%61%63%65%67%69%71%73%75%77%79% 81%83%85%87%88%90%92%94%96%98%100%226Transfer complete. FTP:828482byte(s)sentin7.040second(s)117.68Kbyte(s)/sec.四、FTP高级配置
ftptimeout超时时间(分钟)# 设置登录超时时间(默认10分钟)ftpserver-source-aip地址# 设置用来监听的IP地址(默认所有地址)ftpserver-source-i接口# 设置用来监听的接口(默认所有,且接口必须配有IP)# 注:-a 跟 -i 互斥,不能同时使用ftpserver max-sessions 最大连接数# 设置FTP服务器的最大连接数(默认15)ftpserver acl{acl-number|name}# 通过acl实现访问控制总结
本文围绕“在 ENSP 路由器上实现 FTP 服务”展开,梳理了 FTP 基本概念、基础环境搭建、服务端与用户配置、客户端上传下载测试,以及超时、监听地址、最大连接数和 ACL 等高级配置。总体来看,路由器上部署 FTP 的关键在于明确客户端与服务端角色、用户权限和家目录设置,实际应用中建议结合监听地址与 ACL 进一步增强安全性。