NAS外网访问方案

基础流程

  • 路由器开启端口映射(如果有猫则要配置猫为转发模式,由路由器直接拨号即可
  • 使用第三方程序让内网ip发布到公网上
  • (如果有云服务器)需要开启防火墙端口

好用的第三方程序

FRP穿透

优点:开源免费,速度快,轻量化,部署方便,比某生壳好用太多且相对便宜
缺点:必须要有云服务器且受限于云服务器带宽

安装/配置

去github下载包https://github.com/fatedier/frp/releases

frp分为frps和frpc,顾名思义,frps是放在云服务器上的,frpc则是放在nas里,两个都启动了之后frpc就会向frps发送数据,frps接收到之后用户就可以在云服务器对应的ip上访问nas的服务了

frps配置

我云服务器是linux系统,所以下载了linux_amd版本的,解压之后可以看到这些文件

图 0

我们修改frps.ini这个文件就可以,改成以下的样子,XXXX要你们自己填

[common]
bind_port = 7000# frp服务端可视化界面管理控制面板相关配置
dashboard_port=7001# 可视化管理界面的端口
dashboard_user=XXXXXX# 可视化管理界面的登录密码
dashboard_pwd=XXXXXXXX# 客户端与服务端连接认证密码
token=XXXXXXXXXXXXXXXX# 随机生成字符串,之后配置frpc的时候要用到

修改好之后,建立一个快速启动脚本,脚本名称自定,我这边定义为frps.sh,脚本内容如下(注意路径要修改成自己的

nohup /frp/frp_0.42.0_linux_amd64/frps -c /frp/frps.ini >/frp/logs/log 2>&1 &

创建完成之后,直接输入命令./frps.sh这样frps就成功启动了

frpc配置

我不太想污染nas环境,而且nas的linux版本也奇奇怪怪的,所以nas的所有安装程序我都基于docker了,包括这个frpc
因为一开始没有统一规划使用docker-compose来管理,所以就盲打了一个docker-compose,可以参考一下(注意:这个容器会默认使用/frp/frpc.ini这个配置,所以如果要启动多个frpc服务的话记得区分。像我就分了两个服务,一个是用于系统的和一些基础服务的,这些服务是稳定上线的。而另一个是一些应用功能的映射,有时会频繁上下线

version: '3'
services:frpc-os:image: oldiy/frpc:latest    #镜像名称container_name: zz-frpc-os    #指定容器名restart: always    #在容器退出时总是重启容器environment:- PUID=1000- PGID=1000- TZ=Asia/Shanghai    #指定容器运行所属时区volumes:- ./config/frpc-os.ini:/frp/frpc.ininetwork_mode: "host"frpc-app:image: oldiy/frpc:latest    #镜像名称container_name: zz-frpc-app    #指定容器名restart: always    #在容器退出时总是重启容器environment:- PUID=1000- PGID=1000- TZ=Asia/Shanghai    #指定容器运行所属时区volumes:- ./config/frpc-app.ini:/frp/frpc.ininetwork_mode: "host"

创建好docker-compose之后就可以创建frpc.ini文件了。

[common]
server_addr = XXX.XXX.XXX.XXX  #部署了frps的云服务器公网ip,记得要开放端口
server_port = 7000
token = XXXXXXXXXXXXXXXXXXXXXX #frps文件里面的token,一定要对应上[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5001
custom_domains = XXX.taotaojs.top
remote_port = XXXX[nasssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
custom_domains = XXX.taotaojs.top
remote_port = XXXX···都是这种格式,复制黏贴就行,当然frp还有其他好玩的模式也可以自行尝试···

然后根据docker-compose中的volumes配置,把创建的ini文件放到正确的目录下,就可以输入sudo docker-compose up -d启动了(什么?不知道怎么开启ssh?百度一下对应nas的开启方式就可以了

可视化管理界面

frps自带了可视化管理界面,就是之前frps.ini文件中配置的端口,进入之后输入用户名密码就可以看到所有在转发的端口了

图 1

ipv6动态ddns

优点:满速度!不挑运营商,无需云服务器,只要一个廉价域名即可,轻量化,部署方便
缺点:部分网络会禁用ipv6

不多说,提供一个docker-compose,自己去页面上研究吧

version: "3.9"
services:ddns-go:image: jeessy/ddns-gorestart: alwaysnetwork_mode: "host"volumes:- ./config:/root

差不多就是

  • 配置DNS服务商

图 2

  • 启用IPV6,通过网卡获取,domains填入自己的域名

图 3

  • 测试+保存就好了

ipv4静态ip

反正移动是不能设置,移动只有固定ipv6,没有固定ipv4,其他运营商不清楚。就不细说了,这个最简单,找运营商开通即可

黑群晖

最后放一张我黑群的截图吧,从618升级一次配置后一直稳定运行到现在。目前这台机器是16G内存,250G固态,4T+8T硬盘,6T云盘。其中固态仅用于docker,4T用来安装其他套件和临时存放/下载东西,8T则是仅备份,云盘用于备份8T那个盘的数据。以后有机会也会分享一些nas的相关东西。敬请期待!

图 4

END。

欢迎访问我的blog > https://blog.taotaojs.top/archives/nas-wai-wang-fang-wen-fang-an

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

期末速成数据库极简版【创建】(1)

目录 前言 【1】T-SQL语句创建数据库 【2】T-SQL语句删除数据库 【3】T-SQL语句创建表 完整性约束 数据类型 例子 【4】T-SQL语句修改表 【5】T-SQL语句删除表 关于数据库,在我们学习Linux网络编程后面会详细学习到,为了应付期末考试&#xff0…

[MySQL] MySQL中的内置函数

本篇文章主要是对MySQL中常见的内置函数进行了详细解释。例如有日期类函数、字符串类函数、数学类函数等等。希望本篇文章会对你有所帮助。 文章目录 一、日期类函数 1、1 使用详解 1、2 实例演示 二、字符串函数 2、1 使用详解 2、2 实例演示 三、数学函数 四、其他函数 &…

销售如何开发客户?

在销售过程中,开发客户是至关重要的一环。只有拥有足够的客户群体,才能为公司带来更多的业务机会和收入。 现如今,不管是哪一行竞争都十分激烈,特别是那些本身没有核心竞争力和核心技术的传统 to b企业,正处于十分尴尬…

Leo赠书活动-12期 【Java程序员,你掌握了多线程吗?】文末送书

Leo赠书活动-12期 【Java程序员,你掌握了多线程吗?】文末送书 ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页&#xff1…

socket 套接字

1、套接字介绍 socket起源于Unix,遵循“一切皆文件”出发点,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。 在设计模式中,Socket把复杂的TCP/IP协议族隐藏在Socket接口后面,Socket去组织数据&#xf…

Pytorch线性回归教程

import torch import numpy as np import torch.nn as nn import matplotlib.pyplot as plt生成测试数据 # 长期趋势 def trend(time, slope0):return slope * time# 季节趋势 def seasonal_pattern(season_time):return np.where(season_time < 0.4,np.cos(season_time * …

vue3 + mark.js 实现文字标注功能

效果图 安装依赖 npm install mark.js --save-dev npm i nanoid代码块 <template><!-- 文档标注 --><header><el-buttontype"primary":disabled"selectedTextList.length 0 ? true : false"ghostclick"handleAllDelete"…

Linux学习笔记2

web服务器部署&#xff1a; 1.装包&#xff1a; [rootlocalhost ~]# yum -y install httpd 2.配置一个首页&#xff1a; [rootlocalhost ~]# echo i love yy > /var/www/html/index.html 启动服务&#xff1a;[rootlocalhost ~]# systemctl start httpd Ctrl W以空格为界…

排序算法介绍(一)插入排序

0. 简介 插入排序&#xff08;Insertion Sort&#xff09; 是一种简单直观的排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常…

mybatis数据输出-驼峰命名规则设置

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…

持续集成交付CICD:GitLabCI 实现Sonarqube代码扫描

目录 一、实验 1.GitLabCI 代码扫描 二、问题 1.GitLab 执行sonar-scanner命令报错 一、实验 1.GitLabCI 代码扫描 &#xff08;1&#xff09;打开maven项目 &#xff08;2&#xff09;maven项目流水线调用公共库 &#xff08;3&#xff09;项目组添加token认证 &#xf…

FreeRTOS系统延时函数分析

一、概述 FreeRTOS提供了两个系统延时函数&#xff0c;相对延时函数vTaskDelay()和绝对延时函数vTaskDelayUntil()。相对延时是指每次延时都是从任务执行函数vTaskDelay()开始&#xff0c;延时指定的时间结束&#xff0c;绝对延时是指每隔指定的时间&#xff0c;执行一次调用vT…

项目分析:解决类的复杂设计中遇到的问题

1.问题1&#xff1a;析构函数乱码问题 【样例输入】 -3 1 3 -1 -3 2 3 -2 【样例输出】 gouzao 1 -3 1 3 -1 gouzao 2 -3 2 3 -2 -3 1 3 -1 -3 2 3 -2 9.4245 18.849 Ellipse xigou 3 -2 Point xigou 3 -2 Point xigou -3 2 Point xigou 3 -2 Point xigou -3 2…

2023年阿里云云栖大会-核心PPT资料下载

一、峰会简介 历经14届的云栖大会&#xff0c;是云计算产业的建设者、推动者、见证者。2023云栖大会以“科技、国际、年轻”为基调&#xff0c;以“计算&#xff0c;为了无法计算的价值”为主题&#xff0c;发挥科技平台汇聚作用&#xff0c;与云计算全产业链上下游的先锋代表…

关于mysql高版本使用groupby导致的报错

在开发时&#xff0c;遇到mysql版本在5.7.X及以上版本时使用group by 语句会报以下的错误 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column business_typ…

使用pandas制作图表

数据可视化对于数据分析的重要性不言而喻&#xff0c;一个优秀的图表有足以一眼就看出关键所在。pandas利用matplotlib实现绘图。能够提供各种各样的图表功能&#xff0c;包括: 单折线图多折线图柱状图叠加柱状图水平叠加柱状图直方图拆分直方图箱型图区域块图形散点图饼图多子…

13年测试老鸟总结,性能测试常遇问题+解决方案+分析...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、内存溢出 1&a…

【高数:1 映射与函数】

【高数&#xff1a;1 映射与函数】 例2.1 绝对值函数例2.2 符号函数例2.3 反函数表示例2.4 双曲正弦sinh&#xff0c;双曲余弦cosh&#xff0c;双曲正切tanh 参考书籍&#xff1a;毕文斌, 毛悦悦. Python漫游数学王国[M]. 北京&#xff1a;清华大学出版社&#xff0c;2022. 例2…

设计之初,成就AI创作的非凡之路——AI绘画

一.官方活动 活动链接&#xff1a;| 2023腾讯云 AI 绘画有奖征文大赛&#xff0c;秀出你的AI新质生产力 https://cloud.tencent.com/developer/article/2367375 二.产品体验 1.产品链接:https://cloud.tencent.com/act/pro/AIhuihua?from20421&from_column20421 2.产品…

Maven-高效的Java项目构建与管理工具(含Maven详细安装与配置过程)

Maven 什么是Maven&#xff1f; 正如题目所说&#xff0c;Maven就是一款高效的Java项目构建与管理工具&#xff0c;基于项目对象模型&#xff08;POM&#xff09;概念&#xff0c;利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。是Apache软件基金会的一个开源…