惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
SegmentFault 最新的问题
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Attack and Defense Labs
Attack and Defense Labs
F
Full Disclosure
Vercel News
Vercel News
N
News | PayPal Newsroom
The GitHub Blog
The GitHub Blog
H
Hacker News: Front Page
H
Heimdal Security Blog
P
Privacy International News Feed
博客园 - 司徒正美
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cisco Blogs
L
Lohrmann on Cybersecurity
D
Docker
Recent Announcements
Recent Announcements
Security Archives - TechRepublic
Security Archives - TechRepublic
人人都是产品经理
人人都是产品经理
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Proofpoint News Feed
T
Tailwind CSS Blog
C
Check Point Blog
博客园 - 叶小钗
Google Online Security Blog
Google Online Security Blog
Martin Fowler
Martin Fowler
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
S
Secure Thoughts
博客园 - Franky
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
P
Palo Alto Networks Blog
Latest news
Latest news
量子位
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
Last Week in AI
Last Week in AI
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Cyberwarzone
Cyberwarzone
小众软件
小众软件
Cisco Talos Blog
Cisco Talos Blog
Hacker News: Ask HN
Hacker News: Ask HN
T
Threatpost
T
Tenable Blog
P
Privacy & Cybersecurity Law Blog
WordPress大学
WordPress大学

NAS 归档 | Jack's Space

小巧的 UPS — 瓦力 W120 开箱 我的群晖 NAS 里装了啥 年度幸福感好物分享
一键脚本自建 Frp 内网穿透访问家里 NAS 和软路由
阿杰 Jack · 2024-07-12 · via NAS 归档 | Jack's Space

最近买了一台二手的群晖 NAS,虽然自带 quickconnect 可以免费进行内网穿透,但是这个小水管实在是非常勉强,于是又折腾了一遍 Frp 来做内网穿透。在之前的文章中也已经记录过了搭建 Frp 的过程,这次新增了访问 NAS 部分的内容,以及反向代理子域名来访问内网服务,更加便捷。

目录

  1. Frp 的搭建
  2. NAS 设置
  3. Openwrt 软路由设置
  4. 反向代理一个域名
  5. 注意
  6. 后记
  7. 参考文章
  1. SSH 进入 VPS 后台,
  2. 创建一个文件夹
    mkdir ~/data/frp
    进入该文件夹
    cd~/data/frp
  3. 一键脚本进行搭建
   wget https://raw.githubusercontent.com/mvscode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
   chmod 700 ./install-frps.sh
   ./install-frps.sh install
  1. 按照脚本引导进行安装就好
Please select frps download url:
[1].gitee
[2].github (default)
Enter your choice (1, 2 or exit. default [github]): 2
-----------------------------------
       Your select: 2    
-----------------------------------

Please input frps bind_port [1-65535](Default Server Port: 5443):[按需修改]
frps bind_port: [按需修改]


Please input frps vhost_http_port [1-65535](Default : 80):
frps vhost_http_port: [按需修改]


Please input frps vhost_https_port [1-65535](Default : 443):
frps vhost_https_port: [按需修改]


Please input frps dashboard_port [1-65535](Default : 6443):
frps dashboard_port: [按需修改]


Please input frps dashboard_user(Default : admin):
frps dashboard_user: [修改成自己的]

Please input frps dashboard_pwd(Default : [修改成自己的]
frps dashboard_pwd: [修改成自己的]


Please input frps token(Default : tX5atsFBeqfcucGD):[修改成自己的]
frps token: [修改成自己的]


Please input frps subdomain_host(Default : x.x.x.x):
frps subdomain_host: [默认就行]


Please input frps max_pool_count [1-50]
(Default : 5):[默认就行]
frps max_pool_count: 5

Please select log_level
1: info (default)
2: warn
3: error
4: debug
5: trace
-------------------------
Enter your choice (1, 2, 3, 4, 5 or exit. default [1]): [默认就行]
log_level: info


Please input frps log_max_days [1-15]
(Default : 3 day):[默认就行]
frps log_max_days: 3

Please select log_file
1: enable (default)
2: disable
-------------------------
Enter your choice (1, 2 or exit. default [1]): [默认就行]
log_file: enable

Please select tcp_mux
1: enable (default)
2: disable
-------------------------
Enter your choice (1, 2 or exit. default [1]): [默认就行]
tcp_mux: true

Please select transport protocol support
1: enable (default)
2: disable
-------------------------
Enter your choice (1, 2 or exit. default [1]): [默认就行]

Please input frps kcp_bind_port [1-65535](Default kcp bind port: 6443):[按需修改]
frps kcp_bind_port: [按需修改]


Please input frps quic_bind_port [1-65535](Default quic bind port: 6081):[按需修改]
frps quic_bind_port: [按需修改]

transport protocol support: enable>)
  1. 搭建完成后,浏览器通过 http://ip+dashboard_port 就可以访问 frp 的面板,账号密码都是刚刚设置的内容。如果后面 NAS 或者软路由成功连接上这台 VPS,在面板中是可以看到的,除此之外面板平时不会用到。

NAS 设置

  1. 进入群晖,找一个或创建一个新文件夹用于存放配置文件(稍后会用到)。例如/docker_data/frp,然后在电脑中创建一个文本文件内容填写如下:
[common]

server_addr = 000.111.222.333 (你的VPS IP)

server_port = 5443(VPS 上搭建 frp 时设置的 bind_port)

token = 你的token

[NAS]

type = tcp

local_ip = 192.168.1.10 (NAS 的局域网ip)

local_port = 5000 (群晖一般默认5000)

remote_port = 9001 (与 VPS 通信的端口,需填写一个新的,不要与前面的冲突)

use_encryption = true

[emby] (如果没有,可以删除这部分)

type = tcp

local_ip = 192.168.1.23

local_port = 8096

remote_port = 9002 (再填写一个新的)

use_encryption = true

并保存为名为frpc.toml的文件,记得把括号及括号内的内容删掉,将文件上传/docker_data/frp目录下。

  1. Container Manager中搜索Frpc,并找到stilleshan/frpc下载。
  2. 下载完成后运行容器,有两个地方需要设置
    1. 记得开启启用自动重新启动
    2. 存储空间设置处,点击添加文件(不是添加文件夹),左边选择刚刚上传的文件/docker_data/frp/frpc.toml,右边填入 /frp/frpc.toml 即可。
  3. 现在回到 frp dashboard 就可以看到建立连接的信息了,并且通过 vps的ip + 刚刚填入的 remote_port 就可以访问 NAS 了。

Openwrt 软路由设置

  1. 进入 openwrt 软路由后台,点击服务Frp内网穿透
  2. 按照截图内容输入对应的参数,服务器填写VPS的IP地址端口填写binding_porthttp穿透服务端口填写vhost_http_porthttps穿透服务端口填写vhost_https_port
  3. 在服务列表下方点击添加,按照截图填入配置。Frp协议类型选择TCP远端端口填入一个新的端口不要与其他冲突,比如9003内网主机地址选择软路由后台地址的IP内网主机端口填写80
  4. 结束后点击保存&应用即可,现在在 frp dashboard 中可以看到新的连接,并且通过 vps的ip + 刚刚填入的远端端口 就可以访问软路由后台了。
软路由后台设置
软路由后台设置

反向代理一个域名

这一步不是必须的,只是因为使用 ip+端口号的形式远程访问不太方便,可以通过反向代理后使用子域名来访问我们内网的服务。

  1. 解析一个或多个子域名到我们的 VPS,取决你有几个远程服务,以一台 NAS 为例。
  2. 通过宝塔面板、1Panel、NPM等工具对这个子域名 nas.example.com 进行反向代理,代理的地址为 http://127.0.0.1:9001 (端口号与前面 NAS 配置文件中的 remote_port 一致,如果是反向代理的软路由后台,就与远端端口保持一致即可),并且配置 SSL 证书。
  3. 完成后即可通过 nas.example.com直接访问内网服务了。

注意

  1. 以上的端口号不用冲突,可以在 SSH 后终端里输入 lsof -i:端口号来确认该端口号是否被占用,如果没有被占用则不会返回任何结果,如果有返回结果说明该端口已被其他服务所占用,就换一个。
  2. 记得在防火墙处放行上面所有用到的端口,特别是使用阿里云、腾讯云的 VPS。

后记

本人使用的是阿里云香港的服务器,在下午 6 点左右测试,观看内网 emby 的电影速度可以达到 3M/s,速度还是不错的,足够使用了。

另外,我也尝试过搭建 tailscale 做内网穿透,速度没有 Frp 快,而且 tailscale 需要下载一个客户端,每次使用还需要开启这个客户端,不太方便,但是 tailscale 看上去更加安全保险一些。如果你想尝试 tailscale 的搭建,可以参考这篇文章

参考文章