群晖配置 FRP 进行内网穿透

前言

虽然有家里有公网IP,但因为群晖的自带的DDNS服务使用的都是未备案的域名,所以直接通过公网将群晖的服务(主页、Webdav服务等)暴露出去也是不合规的。
最安全的方式还是通过内网穿透将服务从有公网 IP 可以备案的服务器上对外开放。

本文使用了 Frp 进行内网穿透,所有服务使用Http的方式传输,最终在公网IP 服务器上由 Caddy2 统一加上 Https。

Frp 文件下载地址:Frp Release

Frps 配置

在 VPS 中建立 /etc/frp 目录统一存放 Frp 相关文件,方便后期更新与修改。

FRPS

frps 文件下载到此文件夹下。

配置文件

再次文件夹下建立 frps.ini 文件,并写入以下内容。

[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
kcp_bind_port = 7000

# 将 Http 端口设定在 8080
vhost_http_port = 8080

# 数据面板设定
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = 登录用户名
dashboard_pwd = 登录密码
enable_prometheus = true

# 日志设定
log_file = /etc/frp/frps.log
log_level = info
log_max_days = 3

# 其他设定
token = Token,用于验证 Frpc 的合法性
max_pool_count = 64

因为 Frp 后面还是用 Caddy2 作为 Web 服务器,故 Http 端口设定为 8080 以供 Caddy2 进行对接。如果直接使用 Frps 作为 Web 服务器,可以将 Http 端口设定为 80,并且打开Https端口,设定为 443 。

访问 IP:7500 可以访问 Frps 的数据面板,查看现在运行的服务情况。

配置完服务器端程序后,记得将 VPS 的 7000,7500 的 TCP 打开,7000, 7001 的 UDP 打开。

配置系统服务

在本目录下建立 frps.service 文件并写入以下内容。

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/etc/frp/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target

然后创建一个硬连接将其同步到系统文件中。

ln /etc/frp/frps.service /etc/systemd/system/frps.service

Frpc 配置

配置文件

在群晖中任意位置建立一个 frpc.ini 配置文件,例如我就在 docker/frp/ 目录下建立的,方便后期查找和管理。

使用一个泛域名将群晖中运行在 8080 端口下的所有 Web 服务穿透到 VPS 上。

因为群晖的管理面板在5000端口,而 Photo 程序运行在 80 端口,故需要通过 locations 进行区分,分别转发到群晖中的不同端口。

最终在配置文件中写入以下内容。

[common]
token = 验证 Token
server_addr = VPS公网IP
server_port = 7000
protocol = kcp
pool_count = 8

[Common-HTTP]
# 泛域名穿透内网服务
type = http
local_ip = 127.0.0.1
local_port = 8080
custom_domains = *.example.com
use_encryption = true
use_compression = true

[Synology]
type = http
local_ip = 127.0.0.1
local_port = 5000
custom_domains = nas.example.com
use_encryption = true
use_compression = true
locations = /

[Synology-Photo]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = nas.example.com
use_encryption = true
use_compression = true
locations = /photo

新建 Docker 容器

在 Docker 套件中搜索并下载 stilleshan/frpc,也就是 Frpc Docker

新建容器,将我们之前配置好的 frp.ini 文件映射到 Docker 镜像内部。

卷设定

并让 Frpc 程序运行在 Nas 的网络中,设定网络为 Host 模式。

网络设定

运行容器即可。

评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇