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 实现外网访问 ...
随机推荐
- 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
数组中重复的数字 最近在复习算法和数据结构(基于Python实现),然后看了Python的各种"序列"--比如列表List.元组Tuple和字符串String,后期会写一篇博客介绍 ...
- android之Tween Animation
android Tween Animation有四种,AlphaAnimation(透明度动画).ScaleAnimation(尺寸伸缩动画).TranslateAnimation(位移动画).Rot ...
- 10.qml-组件、Loader、Component介绍
1.组件介绍 一个组件通常由一个qml文件定义(单独文件定义组件), 实际也可以在qml里面通过Component对象来嵌入式定义组件 (4小节讲解). Component对象封装的内容默认不会显示, ...
- 认识WPF
新开一节WPF桌面开发的讲解,这节先初步认识一下什么是WPF. 1.简介 WPF是 Windows Presentation Foundation 的英文缩写,意为"窗体呈现基础" ...
- 推荐几款MySQL相关工具
前言: 随着互联网技术的不断发展, MySQL 相关生态也越来越完善,越来越多的工具涌现出来.一些公司或个人纷纷开源出一些不错的工具,本篇文章主要介绍几款 MySQL 相关实用工具.提醒下,这里并不介 ...
- 项目展示$\alpha$
项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 强制转会与项目展示 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 ...
- [在学习Django框架之前所需要了解的知识点]
[在学习Django框架之前所需要了解的知识点] Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现 ...
- ruby基础(一)
Ruby基础 1.对象.变量和常量 1.1 对象 在Ruby中表示数据的最基本单位是对象,任何数据都是对象,使用类来表示对象的种类. 一个某个类的对象称作对象的实例. 对象 类 eg 数值 Numer ...
- Ubuntu 15.04下安装Docker
最近听说Docker很火,不知道什么东西,只知道是一个容器,可以跨平台.闲来无事,我也来倒弄倒弄.本文主要介绍:Ubuntu下的安装,以及基本的入门命令介绍:我的机器是Ubuntu 15.04 64位 ...
- 测试 USB 存储设备读写性能(Mb/s),平均读写速度等
1.将U盘(USB3.0)插入被测试机器,假定识别设备为sdc2.创建vfat文件系统分区/dev/sdb1分区容量大于30GBumount /dev/sdc1mkfs -t vfat /dev/sd ...