开始

入手了NAS之后就看是漫漫的折腾内网穿透的不归路。用的最多最简单的是下面三种

  • QC:群晖自带的,速度在100kb左右,能不能连上有时候都是运气,极其不稳定。
  • DDNS:最推荐的方式。上下行都取决自己的宽带,但是需要公网动态ip,如果你是电信的网络可以打10000号试试。
  • Frp:一款优秀的专注于内网穿透的高性能的反向代理工具,配置简单上手选,需要有公网一台公网的机器。

硬件

我是一台群晖218+,和一台腾讯云的轻量服务器,配置是 1c 2g 6mb 每个月1200gb的流出流量,系统是ubuntu 20.04 选择轻量服务的器主要是便宜,这个配置三年218还是挺划算的。群晖推荐购买支持 docker 的机型,可玩性会高很多。


服务端配置

  1. 下载frp到你的有公网ip的服务器上

    wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz

  2. 解压文件

    tar -zxvf frp_0.37.0_linux_amd64.tar.gz

  3. 移动解压文件到frp目录下,或者直接用ftp工具连接重名命也可以

    mv frp_0.37.0_linux_amd64 frp

  4. 进入frp目录编辑frps.ini文件

    cd frp

    vim frps.ini

  • 加入下面这段配置后保存
[common]
bind_port = 6006 #通信端口,通过ip+这个端口访问你的群辉
token = 123456 #类似密码,一致才允许反问
  1. 启动frp服务

    ./frps -c ./frps.ini

这样就是启动成功了

  1. 设置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配置

  1. NAS上直接是直接托管到docerk上面的,需要在套件中心安装docker组件后下载frp映像

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

  1. 新增配置文件

    在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
  1. 配置容器
  • 双击下载好的映像进入启动页面,点击左下角的高级设置。点击卷--添加文件,选择刚才的配置文件路径。

  • 点击网络,勾上左下角 使用与 Docker Host 相同的网络 选项。

  • 点击环境,添加一个新环境。

  • 点击应用容器就会启动。到此就可以直接通过ip访问你的NAS啦。

总结

需要映射NAS的其他端口可以去官方看看端口号对应的功能,也可以吧NAS中docker的映射出去,可玩性就非常高啦,如果有条件建议直接上DDNS。

frp实现NAS外网访问的更多相关文章

  1. frp内网 穿透映射使内网svn可外网访问

    起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...

  2. frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)

    只有信用卡大小的它,同时也是一台功能完备的电脑(树莓派),把内网能玩的功能都玩了个遍,自然就有了外网访问这台树莓派的需求.一样也是查阅了无数文章,研究了无数个方案,最终试验成功用FRP实现了内网穿透, ...

  3. [笔记] 使用frp从外网访问内网

    之前尝试过otunnel,也记录过使用方法,见[笔记] 使用otunnel从外网访问内网,但是用了几天发现还是不够稳定. 然后尝试frp,发现性能稳定,够用,将过程及配置分享在这里吧. 需求 内网机器 ...

  4. 2019-3-9-通过-frp-开启服务器打开本地的-ZeroNet-服务器外网访问

    title author date CreateTime categories 通过 frp 开启服务器打开本地的 ZeroNet 服务器外网访问 lindexi 2019-03-09 11:47:4 ...

  5. 配置IPv6公网地址DDNS并开放外网访问端口

    目前使用三大运营商宽带服务都会下发公网IPv6地址,这样我们想要在外网访问家里的路由.NAS等设备就可以直接通过IPv6地址来访问了.但是每次重新拨号后IPv6地址都会改变,而且IPv6的地址很长,这 ...

  6. TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库

    TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...

  7. vs visual studio 让外网访问设置

    vs2015 提供外网访问我是这么解决的 有时我们经常会用到连接外网的方式来调试自己写的莫名bug.而我们通常有两种解决方式 一.捕捉错误日志进行代码分析. 二.则是将我们的源码项目提供外网访问进行直 ...

  8. svn设置外网访问

    1.设置路由器 默认协议为:https 端口号:443 服务器地址:https://主机名/svn/版本库 例:https://mleo-pc/svn/Share/ 也可就主机名用IP地址代替 如:h ...

  9. apache2.4设置外网访问问题

    Apache 从2.2升级到 Apache2.4.x 后配置文件 httpd.conf 的设置方法有了大变化,以前是将 deny from all 全部改成 Allow from all 实现外网访问 ...

随机推荐

  1. 码农飞升记-03-OpenJDK是什么?

    目录 1.OpenJDK 概述 2.OpenJDK 的发展史 3.OpenJDK Community 1.角色定义 Participant(参与者) Contributor(贡献者) OpenJDK ...

  2. 一个或多个筛选器或者Listeners启动失败

    问题描述 运行ssm项目,tomcat启动后报下面的错误. org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启 ...

  3. vue.js在html页面中的使用

    1.加载vue.js,然后 var app = new Vue({ //vue代码})2.截图如下:

  4. 【c#】 使用Directory.GetFiles获取局域网中任意电脑指定文件夹下的文件

    本文为老魏原创,如需转载请留言 格式如下: // 获取IP地址为10.172.10.167下D盘下railway下的所有文件 string[] picArray = Directory.GetFile ...

  5. SQL必学必会笔记 —— 基础篇

    基础篇 SQL语言按照功能划分 DDL(DataDefinitionLanguage),也就是数据定义语言,它用来定义我们的数据库对象,包括 数据库.数据表和列.通过使用DDL,可以创建,删除和修改数 ...

  6. MySQL字段类型最全解析

    前言: 要了解一个数据库,我们必须了解其支持的数据类型.MySQL 支持大量的字段类型,其中常用的也有很多.前面文章我们也讲过 int 及 varchar 类型的用法,但一直没有全面讲过字段类型,本篇 ...

  7. 探索GaussDB(DWS)的过程化SQL语言能力

    摘要:在当前GaussDB(DWS)的能力中主要支持两种过程化SQL语言,即基于PostgreSQL的PL/pgSQL以及基于Oracle的PL/SQL.本篇文章我们通过匿名块,函数,存储过程向大家介 ...

  8. 获取显卡硬件信息lspci -vnn | grep VGA -A 12

    lspci -vnn | grep VGA -A 12 lshw -C display lshw -c video | grep configuration glxinfo | grep OpenGL ...

  9. 转圈 箭头 ⟳ 10227 27F3 刷新 HTML常用的特殊符号总结

    HTML常用的特殊符号总结 2014年9月12日 57621次浏览 html中经常会用到一些特殊符号,例如箭头,雪花,心形等等,这些符号就不用css样式或者图片来写了,直接用html特殊符号可以实现. ...

  10. split命令_Linux split命令:切割(拆分)文件

    <Linux就该这么学>是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量预期超过10万本.点此免费在线阅读. 15 分钟之 ...