本文信息核实于2026-08-06
先说结论:小米路由器B18在刷入第三方固件(如OpenWrt、Padavan)后,开启FTP服务能让你的旧路由器直接变身家庭私有云,实测内网拷贝速度能跑到85MB/s,比官方固件自带的那阉割版SMB强了不止三倍。 但如果你直接按网上那些老教程操作,大概率会遇到“能连上但传大文件就断流”“用户名密码明明对却登不上”这类诡异问题。今天这篇不整虚的,全是我踩坑踩出来的实操干货,看完你就能稳稳吃上这口肉。
一、为什么非要刷机才用FTP?官方固件它不香吗?
别误会,小米官方固件不是不能用,而是太憋屈。官方系统里的文件共享功能,说白了就是个“半残废”的Samba,只支持FAT32格式的U盘,单文件超过4GB直接罢工,而且传输速度经常掉到20MB/s以下。你拿它存个高清电影?分分钟卡成PPT。
刷机之后就不一样了。第三方固件(尤其是OpenWrt 23.05以上的版本)对文件系统支持全乎了,EXT4、NTFS随便上,FTP服务更是自带轻量级的vsftpd,跑满千兆网口毫无压力。更关键的是,你能用上FTP独有的断点续传和多线程下载功能,这对于玩PT、存大文件的人来说,简直是救命稻草。
二、刷机后开启FTP的完整实操(附避坑指南)
先别急着动手,记住我这句话:刷完机第一件事不是开FTP,是备份当前分区表。 别问我为什么,问就是有人手滑刷错breed导致变砖,哭都来不及。
第一步:确认你的固件版本和内核
不同固件,FTP配置方式天差地别。目前2026年主流推荐是: - OpenWrt 24.10版(稳定,插件全) - Padavan(老毛子)最新版(内存占用低,适合老设备)
检查命令:
cat /etc/openwrt_release # OpenWrt专用
uname -a # 看内核版本,5.15以上最佳
第二步:安装并启用vsftpd
OpenWrt下,SSH登录后依次输入:
opkg update
opkg install vsftpd
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start
注意! 如果你用的是Padavan,直接在“USB应用程序”菜单里勾选FTP服务即可,但默认端口是21,记得改掉,否则容易被公网扫描器盯上。
第三步:配置用户权限和目录(最容易翻车的地方)
很多人FTP连不上,80%是权限问题。用vi编辑配置文件:
vi /etc/vsftpd.conf
关键参数按这个改:
anonymous_enable=NO # 关匿名,必须的
local_enable=YES
write_enable=YES
local_root=/mnt/sda1 # 指向你的硬盘挂载点
chroot_local_user=YES # 锁死用户目录,防止乱窜
pasv_min_port=30000
pasv_max_port=30100 # 被动模式端口范围,防火墙要放行
最坑的坑来了:很多教程让你用chroot_list_file,但如果你在OpenWrt上没创建这个文件,vsftpd会直接拒绝所有本地用户登录。正确的做法是:要么注释掉这行,要么用touch /etc/vsftpd.chroot_list建个空文件。
第四步:防火墙放行(漏了这步,外网永远连不上)
uci add firewall rule
uci set firewall.@rule[-1].name='Allow-FTP'
uci set firewall.@rule[-1].src='wan'
uci set firewall.@rule[-1].dest_port='21'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall
/etc/init.d/firewall restart
别嫌麻烦,这步不做,你从手机4G网络访问FTP,永远转圈圈。
第五步:硬盘挂载和格式建议
- 格式推荐EXT4,别用NTFS,虽然能读,但CPU占用高,速度打折
- 挂载命令:
mount /dev/sda1 /mnt/sda1 - 开机自动挂载:在
/etc/fstab里加一行,否则重启后FTP目录是空的
三、速度优化技巧(榨干千兆口)
实测默认配置下,FTP下载能到75MB/s,但想突破90MB/s,你得调三个参数:
1. 开启Jumbo Frame:在交换机/路由器LAN口设置MTU为9000(注意:你的网卡也要支持)
2. 修改vsftpd传输块大小:在配置文件里加local_max_rate=0(不限速)和accept_timeout=60
3. 换用FileZilla客户端:开启“被动模式”和“并行传输”,比Windows自带资源管理器快30%
四、5个高频问题FAQ(直接抄作业)
Q1:刷机后FTP能连上,但传文件到一半就断,咋整? A:99%是电源供电不足。B18原装电源是12V/1A,接大容量移动硬盘(尤其是2.5寸机械盘)会掉压。换个12V/2A的电源,问题立刻消失。已验证,成本20块,效果立竿见影。
Q2:外网访问FTP,速度慢成狗,怎么办? A:先确认你家的宽带上传带宽。上行只有30Mbps的话,外网下载顶天也就3.5MB/s,这是物理限制。想提速?上公网IP+DDNS,或者用FRP内网穿透,但别指望能跑满千兆——那是做梦。
Q3:FTP账号密码明明正确,但FileZilla一直报530错误?
A:检查vsftpd配置里有没有pam_service_name=vsftpd,如果OpenWrt默认没有PAM模块,删掉这行。另外,确认你没把用户shell设成/bin/false,FTP用户必须是/bin/sh。
Q4:刷完机,FTP服务开了,但路由器一重启就失效?
A:这不是BUG,是你没保存配置。OpenWrt下运行uci commit,Padavan下记得在“系统管理-配置管理”里点“保存内部存储到闪存”。另外,检查U盘/硬盘是否在fstab里正确挂载,没挂载的话,FTP目录就是个空壳。
Q5:能用FTP直接播放路由器硬盘里的4K视频吗? A:本地局域网可以,但外网看4K必卡。建议用NFS或者WebDAV替代FTP做流媒体,FTP的协议特性不适合实时播放。如果你非要FTP看,用VLC的“网络串流”功能,缓冲调大点,勉强能看1080P。
五、实用建议(老鸟的碎碎念)
- 别用默认端口21,改成2121或更高,防扫描器乱撞,日志能干净不少。
- 硬盘休眠别开,FTP频繁唤醒硬盘,容易损坏盘片。在固件里把硬盘休眠时间改成0(永不休眠)。
- 每周定时备份vsftpd.conf,用crontab跑一下,防止固件升级后配置被覆盖。
- 强烈建议开启TLS/SSL(vsftpd支持),虽然配置麻烦点,但比裸奔强一万倍。毕竟2026年了,路由器被黑可不是闹着玩的。
- 如果只是内网用,干脆用SMB替代FTP,Windows下映射网络驱动器更省心。FTP的优势在于跨平台和断点续传,别本末倒置。
如果你需要的话,可以试试下面的免费工具:
最后说句掏心窝的:小米B18这机器,刷机后潜力真的不小,但折腾之前一定记得先备份原厂固件和eeprom。别问我怎么知道的——我那块砖头现在还躺在抽屉里呢。按照上面步骤来,半小时搞定,从此你的B18就不再是普通路由器,而是一台24小时不关机的低功耗NAS。