此前通过内网穿透专栏,通过穿透服务器、计算机、路由器等,先后介绍了内网穿透原理及相关实战应用,今天回答后台粉丝提问较多的,如何实现在异地远程访问家庭(公司)的移动硬盘。
需要提前准备的材料:
- 公网服务器1台
- 硬盘1个
- 内网服务器1个(树莓派、常年开机的电脑、路由器等)
基本思路:要想实现硬盘的远程访问,首先在内网环境下需要有一台“服务器”挂载需要远程访问的硬盘,如此通过内网穿透内网服务器的方式,通过SFTP的形式访问硬盘,进而可以尝试将硬盘映射为网络驱动器,以实现上述需求。
在内网服务器的选择上,需要寻找一个常年能够保持在线的机器以保障异地访问的成功率,笔者基于家庭网络拓扑,将以华硕AC88U路由器为例进行介绍。
一、基础配置
(1)挂载硬盘至内网服务器(路由器)
家庭电脑的挂载方式不必多说,关于树莓派、路由器的挂载方式,可分别参见文章:
- 树莓派:《从零搭建DAS服务器,挂载扩容硬盘,实现文件存储与自动下载》
- 路由器:直接手动插usb口,(硬盘格式推荐EXT4文件系统,可以用“分区助手”格式化方式更改挂载盘文件系统类型)
(2)开启sftp服务
1. 首先,开启ssh,登陆路由器shell。
2. 其次,安装必要环境。
由于梅林是基于Entware来安装插件的,因此需要安装entware环境。
梅林固件可以在插入磁盘的时候自动识别文件系统并挂载,不过考虑到有些固件可能还没有很完善,所以给出手动挂载的方法,供参考。
# 挂载
mkdir /mnt/sda1
mount -t ext4 /dev/sda1 /mnt/sda1/
# 检查
df -h
Filesystem Size Used Available Use% Mounted on
/dev/sda1 916.9G 2.0G 868.4G 0% /tmp/mnt/sda1
#安装entware环境
entware-setup.sh
在成功安装entware环境后我们可以看到opkg被配置完成。
3. 再次,开启SFTP。
opkg install openssh-sftp-server
如果太长时间没有使用opkg命令,可能会报错:“Failed to download openssh-sftp-server”. 使用 'opkg update’更新。
4. 最后,尝试内网SFTP登陆。
可以选用WinSCP进行SFTP连接, 访问目录:(tmp/)mnt/sda1 ,检测内网环境下是否能够管理硬盘内容。
二、内网穿透路由器SSH(SFTP)
穿透方法frps按照文章 《外网环境下使用Frp内网穿透路由器,实现后台的远程访问 》操作即可。
#路由器frpc配置文件
[common]
server_addr = 公网ip地址
server_port = 7000
token = 123456
log_file = /dev/null
log_level = info
log_max_days = 1
tcp_mux = true
protocol = tcp
login_fail_exit = false
user = admin
[AC88U-ssh]
type = tcp
local_ip = 路由器网关
local_port = 22
remote_port = 6100
use_encryption = true
use_compression = true
开启穿透服务,测试是否能够远程sftp访问并管理挂载硬盘。
./frps -c ./frps.ini
#后台保持启动
nohup ./frps -c ./frps.ini &
三、进阶:映射为网络驱动器
每次选择登陆SFTP管理文件难免不够习惯,据此我们可以尝试将硬盘映射成网络驱动器,这里我们借助SftpDrive实现映射。点此下载SftpDrive
至此,通过内网穿透实现了外网环境下硬盘的远程管理 ,如果您有任何疑问或者好的建议,期待你的留言与评论!您的点赞与关注,是对我最大的鼓励与支持。