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.ini
    network_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.ini
    network_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-go
    restart: always
    network_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

相关推荐

  1. 禁止软件访问

    2023-12-13 00:02:02       15 阅读
  2. 服务器禁止访问策略配置

    2023-12-13 00:02:02       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-13 00:02:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-13 00:02:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-13 00:02:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-13 00:02:02       18 阅读

热门阅读

  1. 前后端交互注册 数据储存到数据库

    2023-12-13 00:02:02       33 阅读
  2. git pull 时每次都要输入用户名和密码

    2023-12-13 00:02:02       43 阅读
  3. ClickHouse安装和部署

    2023-12-13 00:02:02       47 阅读
  4. 计算机系统概述

    2023-12-13 00:02:02       31 阅读
  5. leetcode24. 两两交换链表中的节点

    2023-12-13 00:02:02       47 阅读
  6. 【python中类的介绍】

    2023-12-13 00:02:02       33 阅读
  7. harmonyOS开发技巧(二)——沉浸式以及状态栏高

    2023-12-13 00:02:02       26 阅读
  8. 记录 | ubuntu升级/降级/安装指定版本的vim

    2023-12-13 00:02:02       33 阅读
  9. Git全局设置命令---设置提交人邮箱

    2023-12-13 00:02:02       36 阅读
  10. Vue || Uniapp 模糊查询

    2023-12-13 00:02:02       32 阅读
  11. 如何在Git中忽略DS_Store文件

    2023-12-13 00:02:02       34 阅读