小米路由器mini建FTP

时间:2021-04-03 04:27:42

输入命令

  1. df -h
复制代码

查看自己的分区路径,我自己用了一个闲置笔记本电脑硬盘转USB,插到mini,有四个区
为了方便,我选择把ftp安装在第一个分区  /extdisks/sda1/
小米路由器mini建FTP

创建ftp的安装目录,输入:

  1. mkdir -m 0777 -p   /extdisks/sda1/ftp
复制代码

(嫌麻烦的童鞋可以用winscp工具按照路径制作)




然后备份一下/etc/opkg.conf,输入:

  1. cp /etc/opkg.conf   /etc/opkg.conf-backup
复制代码



编辑/etc/opkg.conf,输入:

  1. vi /etc/opkg.conf
复制代码

点一下 i 编辑,把里面的内容删除干净,然后粘贴以下内容,路径里面的x请修改成你自己的ftp目录文件名
src/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base
src/gz barrier_breaker_luci http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/luci
src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/packages
src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/routing
src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/telephony
src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/management
src/gz barrier_breaker_oldpackages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages
dest root /extdisks/sda1/x
dest ram /tmp
lists_dir ext /extdisks/sda1/x/opkg-lists
option overlay_root /extdisks/sda1/x
dest usb /extdisks/sda1/x

保存请按一下 ESC键,然后按一下 : 键(shift+;),然后输入 wq 回车。

验证是否成功,输入:

  1. opkg update
复制代码

成功结果会显示以下内容:
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_base.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/luci/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_luci.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/packages/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_packages.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/routing/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_routing.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/telephony/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_telephony.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/management/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_management.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_oldpackages.




开始安装ftp,按顺序分别输入下面这几个命令:

  1. cd /extdisks/sda1/x/
复制代码
  1. wget http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/libc_0.9.33.2-1_ramips_24kec.ipk
复制代码
  1. opkg -d usb install libc_0.9.33.2-1_ramips_24kec.ipk
复制代码
  1. opkg -d usb install vsftpd
复制代码

到这里ftp基本安装完毕,但是还需要设置一下


输入: vi /extdisks/sda1/x/etc/init.d/vsftpd
删除旧的内容,加入下面的内容

  1. #!/bin/sh /etc/rc.common
  2. # Copyright (C) 2006-2011 OpenWrt.org

  3. START=50

  4. start() {
  5.         mkdir -m 0755 -p /var/run/vsftpd
  6.         service_start /extdisks/sda1/x/usr/sbin/vsftpd
  7. }

  8. stop() {
  9.         service_stop /extdisks/sda1/x/usr/sbin/vsftpd
  10. }
复制代码

保存退出




然后输入:

  1. vi /etc/vsftpd.conf
复制代码



复制以下内容到里面,提供两个版本供大家选其一,简单版严格版


简单版,易用,即设即用,不过安全性较低。
background=YES
listen=YES
listen_port=21
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
idle_session_timeout=300
max_clients=5
max_per_ip=5
local_enable=YES
write_enable=YES
local_umask=022
check_shell=NO
anon_root=/extdisks/sda1/
local_root=/extdisks/sda1/
ftp_username=nobody
#dirmessage_enable=YES
#ftpd_banner=Welcome to blah FTP service.
session_support=NO
#syslog_enable=YES
#userlist_enable=YES
#userlist_deny=NO
#userlist_file=/extdisks/sda1/x/etc/vsftpd.users
#xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
chown_uploads=YES
chown_username=root



安全严格版,不懂请百度以下参数,配合/etc/passwd 设置用户权限,安全系数增大。
background=YES
listen_port=21
anonymous_enable=NO    #匿名用户登录,默认不开启
anon_upload_enable=YES
anon_mkdir_write_enable=YES
idle_session_timeout=300
max_clients=5
max_per_ip=5
local_enable=YES   #本地用户登录开启,也就可以用root等用户登录
write_enable=YES
file_open_mode=0777
local_umask=022
check_shell=NO
anon_root=/extdisks/sdax/x/     #匿名用户访问的目录
local_root=/extdisks/sdax/x/     #本地用户访问的目录
chown_uploads=YES
chown_username=ftp
ftp_username=ftp
#dirmessage_enable=YES
#ftpd_banner=Welcome to blah FTP service.
session_support=NO
#syslog_enable=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list1    #自己按需要创建文件,加入用户root,这样root才能登录,一行一个用户
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/user_list2     #自己按需要创建文件,加入用户root,这样root才能登录,一行一个用户
#xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
allow_writeable_chroot=YES




保存按ESC ,然后按 : 一下,输入wq 保存。

开启ftp,输入:

  1. /extdisks/sda1/x/etc/init.d/vsftpd start
复制代码

没有显示的话,一般情况下都成功。


验证ftp是否成功,在资源管理器输入:
ftp://路由器IP
因为安全策略的关系,会弹出你没有权限的窗口,不用担心,在画面右击登录,用root登录即可。






==============================================================










以下是自启动,和开启外网FTP端口


==============================================================






自启动的方法,其实很简单,编辑usb_deploy_init_script.sh

命令如下:

  1. vi /etc/init.d/usb_deploy_init_script.sh
复制代码

找到以下两行

rm -rf /tmp/xiaomi_router
mkdir -p /tmp/xiaomi_router
在下面加入一行命令
  1. /extdisks/sda1/x/etc/init.d/vsftpd start
复制代码
开启外网端口,修改防火墙
  1. vi /etc/config/firewall
复制代码
在最后面隔空一行加入以下代码
config rule
         option name 'ftp'
         option src 'wan'
         option prot 'tcp'
         option dest_port '21'
         option target 'ACCEPT'
         option family'ipv4'



保存退出。

重启防火墙生效,输入:
  1. /etc/init.d/firewall restart
复制代码
=================================================================

=================================================================

安全设置(需要设置安全权限的朋友可以看看)


题外话:Ftp可以配合ddns的,这个完全没问题,你如果有自己的独立域名,还可以CNAME绑定花生壳的域名,那就等于绑定自己的个人域名。

安全设置方法:
/etc/passwd 这个是设置用户名的,用winscp编辑它,例如增加ftp用户,默认已经有一条ftp的记录

默认格式是 ftp:*:55:55:ftp:/home/ftp:/bin/false
前面的ftp是指ftp用户名,也代表ftp的登录名,后面的ftp名称不用理。前面的55和后面的55是默认的,代表优先权限,可以不用理。*号不用理。/home/ftp 是ftp默认登录后可见的目录,最好自己修改成跟ftp登录路径一致。 /bin/false 代表不让这个ftp用户使用ssh登录,默认即可。
例如我自己使用的格式是:
ftp:*:55:55:ftp:/extdisks/sda1/ftp:/bin/false

通常修改完这一条之后,用户组 /etc/group 默认已经有一条  ftp:x:55: 的用户组记录,所以可以直接跳到下一步。

然后在命令行模式下修改ftp用户的密码(建议使用putty英文版登录修改,不要用winscp,winscp会把密码丢失的)
putty登录root后,输入:
passwd ftp
输入两次相同的密码就可以了。