开始

入手了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. 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)

    数组中重复的数字 最近在复习算法和数据结构(基于Python实现),然后看了Python的各种"序列"--比如列表List.元组Tuple和字符串String,后期会写一篇博客介绍 ...

  2. android之Tween Animation

    android Tween Animation有四种,AlphaAnimation(透明度动画).ScaleAnimation(尺寸伸缩动画).TranslateAnimation(位移动画).Rot ...

  3. 10.qml-组件、Loader、Component介绍

    1.组件介绍 一个组件通常由一个qml文件定义(单独文件定义组件), 实际也可以在qml里面通过Component对象来嵌入式定义组件 (4小节讲解). Component对象封装的内容默认不会显示, ...

  4. 认识WPF

    新开一节WPF桌面开发的讲解,这节先初步认识一下什么是WPF. 1.简介 WPF是 Windows Presentation Foundation 的英文缩写,意为"窗体呈现基础" ...

  5. 推荐几款MySQL相关工具

    前言: 随着互联网技术的不断发展, MySQL 相关生态也越来越完善,越来越多的工具涌现出来.一些公司或个人纷纷开源出一些不错的工具,本篇文章主要介绍几款 MySQL 相关实用工具.提醒下,这里并不介 ...

  6. 项目展示$\alpha$

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求 强制转会与项目展示 我们在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个具体方面帮助我们实现目标 ...

  7. [在学习Django框架之前所需要了解的知识点]

    [在学习Django框架之前所需要了解的知识点] Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现 ...

  8. ruby基础(一)

    Ruby基础 1.对象.变量和常量 1.1 对象 在Ruby中表示数据的最基本单位是对象,任何数据都是对象,使用类来表示对象的种类. 一个某个类的对象称作对象的实例. 对象 类 eg 数值 Numer ...

  9. Ubuntu 15.04下安装Docker

    最近听说Docker很火,不知道什么东西,只知道是一个容器,可以跨平台.闲来无事,我也来倒弄倒弄.本文主要介绍:Ubuntu下的安装,以及基本的入门命令介绍:我的机器是Ubuntu 15.04 64位 ...

  10. 测试 USB 存储设备读写性能(Mb/s),平均读写速度等

    1.将U盘(USB3.0)插入被测试机器,假定识别设备为sdc2.创建vfat文件系统分区/dev/sdb1分区容量大于30GBumount /dev/sdc1mkfs -t vfat /dev/sd ...