frp实现NAS外网访问
开始
入手了NAS之后就看是漫漫的折腾内网穿透的不归路。用的最多最简单的是下面三种
- QC:群晖自带的,速度在100kb左右,能不能连上有时候都是运气,极其不稳定。
- DDNS:最推荐的方式。上下行都取决自己的宽带,但是需要公网动态ip,如果你是电信的网络可以打10000号试试。
- Frp:一款优秀的专注于内网穿透的高性能的反向代理工具,配置简单上手选,需要有公网一台公网的机器。
硬件
我是一台群晖218+,和一台腾讯云的轻量服务器,配置是 1c 2g 6mb 每个月1200gb的流出流量,系统是ubuntu 20.04 选择轻量服务的器主要是便宜,这个配置三年218还是挺划算的。群晖推荐购买支持 docker 的机型,可玩性会高很多。
服务端配置
下载frp到你的有公网ip的服务器上
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz解压文件
tar -zxvf frp_0.37.0_linux_amd64.tar.gz移动解压文件到frp目录下,或者直接用ftp工具连接重名命也可以
mv frp_0.37.0_linux_amd64 frp进入frp目录编辑frps.ini文件
cd frp
vim frps.ini
- 加入下面这段配置后保存
[common]
bind_port = 6006 #通信端口,通过ip+这个端口访问你的群辉
token = 123456 #类似密码,一致才允许反问
- 启动frp服务
./frps -c ./frps.ini
这样就是启动成功了

- 设置frp自启动
vim /lib/systemd/system/frps.service
- 加入下面这段配置后保存
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.ini // 注意这里的目录需要和你frp的解压路径一致
[Install]
WantedBy=multi-user.target
- 启动frp并设置自启动
systemctl start frps
systemctl enable frps
NAS配置
- NAS上直接是直接托管到docerk上面的,需要在套件中心安装docker组件后下载frp映像

如果搜索不到可以直接在映像里面点击添加-从url添加 https://hub.docker.com/r/chenhw2/frp地址

- 新增配置文件
在NAS的docker目录下面新增frp目录,并在目录下面新增frpc.ini文件,下面是我的配置,
需要映射什么端口出去在这里配置后重启客户端frp服务即可。
[common]
server_addr = xxxxxx # 公网服务器ip
server_port = 6006 # 约定的端口
token = 123456 # 约定的token
[DSM]
type = tcp # 协议类型
local_ip = 127.0.0.1 # 内网ip
local_port = 5000 # 内网端口
remote_port = 80 # 外部访问的端口
[gogs]
type = tcp
local_ip = 127.0.0.1
local_port = 10080
remote_port = 6001
[WebDAV]
type = tcp
local_ip = 127.0.0.1
local_port = 5005
remote_port = 5005
[Drive]
type = tcp
local_ip = 127.0.0.1
local_port = 6690
remote_port = 6690
- 配置容器
双击下载好的映像进入启动页面,点击左下角的高级设置。点击卷--添加文件,选择刚才的配置文件路径。

点击网络,勾上左下角
使用与 Docker Host 相同的网络选项。点击环境,添加一个新环境。

点击应用容器就会启动。到此就可以直接通过ip访问你的NAS啦。
总结
需要映射NAS的其他端口可以去官方看看端口号对应的功能,也可以吧NAS中docker的映射出去,可玩性就非常高啦,如果有条件建议直接上DDNS。
frp实现NAS外网访问的更多相关文章
- frp内网 穿透映射使内网svn可外网访问
起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...
- frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)
只有信用卡大小的它,同时也是一台功能完备的电脑(树莓派),把内网能玩的功能都玩了个遍,自然就有了外网访问这台树莓派的需求.一样也是查阅了无数文章,研究了无数个方案,最终试验成功用FRP实现了内网穿透, ...
- [笔记] 使用frp从外网访问内网
之前尝试过otunnel,也记录过使用方法,见[笔记] 使用otunnel从外网访问内网,但是用了几天发现还是不够稳定. 然后尝试frp,发现性能稳定,够用,将过程及配置分享在这里吧. 需求 内网机器 ...
- 2019-3-9-通过-frp-开启服务器打开本地的-ZeroNet-服务器外网访问
title author date CreateTime categories 通过 frp 开启服务器打开本地的 ZeroNet 服务器外网访问 lindexi 2019-03-09 11:47:4 ...
- 配置IPv6公网地址DDNS并开放外网访问端口
目前使用三大运营商宽带服务都会下发公网IPv6地址,这样我们想要在外网访问家里的路由.NAS等设备就可以直接通过IPv6地址来访问了.但是每次重新拨号后IPv6地址都会改变,而且IPv6的地址很长,这 ...
- TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库
TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...
- vs visual studio 让外网访问设置
vs2015 提供外网访问我是这么解决的 有时我们经常会用到连接外网的方式来调试自己写的莫名bug.而我们通常有两种解决方式 一.捕捉错误日志进行代码分析. 二.则是将我们的源码项目提供外网访问进行直 ...
- svn设置外网访问
1.设置路由器 默认协议为:https 端口号:443 服务器地址:https://主机名/svn/版本库 例:https://mleo-pc/svn/Share/ 也可就主机名用IP地址代替 如:h ...
- apache2.4设置外网访问问题
Apache 从2.2升级到 Apache2.4.x 后配置文件 httpd.conf 的设置方法有了大变化,以前是将 deny from all 全部改成 Allow from all 实现外网访问 ...
随机推荐
- Windows核心编程 第五章 作业(上)
第5章 作 业 通常,必须将一组进程当作单个实体来处理.例如,当让 Microsoft Developer Studio为你创建一个应用程序项目时,它会生成 C l . e x e,C l . e x ...
- 前端Excel表格导入导出,包括合并单元格,表格自定义样式等
表格数据导入 读取导入Excel表格数据这里采用的是 xlsx 插件 npm i xlsx 读取excel需要通过 XLSX.read(data, {type: type}) 方法来实现,返回一个叫W ...
- Python数模笔记-Sklearn(1) 介绍
1.SKlearn 是什么 Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包. Sklearn 主要用Python编写,建立在 Numpy.Scipy.Pa ...
- Xshell6连Linux
一.安装 文件 链接: 提取码:8rmr 二.连Linux 名称填自己喜欢的.续之前,我们保持一样的名字.主机填IP,根据之前Linux填的静态IP去连接. 然后双击,连接 我们用最高权限,填root ...
- 类的两个装饰器classmethod、staticethod和内置魔术方法
一.两个装饰器@classmethod.@staticmethod @classmethod:把类中的绑定方法变成一个类方法,cls 就等于类名 有什么用? 1.在方法中任然可以引用类中的静态变量 2 ...
- 使用FileStream读写数据
这节讲一下使用FileStream读写数据,这是一个比较基础的流. FileStream类只能处理原始字节,所以它可以处理任何类型的文件. 先看一下它的构造方法: FileStream fs = ne ...
- Java_继承
继承的格式 继承它描述的是两个类之间的关系,如果一个子类继承父类,那么子类可以使用父类非私有的成员. 1 public class 父类{ 2 //成员变量 3 //成员方法 4 } 5 6 publ ...
- pip安装模块或者更新出现问题Error:Could not install packages due to an EnvironmentError
问题分析 出现此问题大致的原因: 就是包安装的位置没有读写的权限,这个多半是因为安装python的时候安装在了C盘,或者其他programs这类的文件夹里 或者就是环境变量的设置的安装位置的问题,导致 ...
- CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)
CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K 收藏 0 ...
- canal 实现Mysql到Elasticsearch实时增量同步
简介: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据 ...