借助 阿里云公网 IP 访问家庭群晖 NAS

群晖放在家里,家里没有公网 ip,但有台阿里云服务器,有公网 ip。

采用 frp 应用进行配置。

首先,阿里云服务器上,部署 frps 服务端,采用 docker-compose 方式,具体如下:

services:
  frps:
    image: fatedier/frps:v0.64.0
    container_name: frps
    restart: always
    network_mode: host  # 等同于 --network host
    volumes:
      - ./data/frps.toml:/conf/frps.toml  # 映射配置文件,与原命令一致
    command: -c /conf/frps.toml  # 指定配置文件路径,与原命令启动参数一致

对应的frps.toml文件配置如下:

# 服务器的公网IP,这里不要动
bindAddr = "0.0.0.0"
# 与客户端建立连接的端口,根据自己的需要改
bindPort = 8086

# 服务端控制面板,通过web可以查看连接信息,不需要可以不设置
webServer.addr = "0.0.0.0"
# 访问控制面板的端口号,可以根据需要自己改
webServer.port = 8088
# 控制面板的用户名和密码,暴露在公网的服务请使用严谨一些的用户名密码,自己修改
webServer.user = "settle5714"
webServer.password = "mCgcrv!z$wX91Q"

# 配置服务端的鉴权,这里使用Token进行鉴权,客户端必须用指定的Token才可以与服务端建立连接,防止滥用。
auth.method = "token"
auth.token = "vm3Y5$GQnSWXI!ecWW1gW^k&Spx8"

# 配置服务端只打印warn级别的日志,并将日志输出到指定目录(注意这个目录指向的是容器内的目录)
log.level = "warn"
log.to = "/opt/frps/frps.log"

接下来在群晖上面部署 frpc 客户端,也是采用 docker-compose 方式部署,具体如下:

services:
  frpc:
    image: fatedier/frpc:v0.64.0  # 与服务端版本一致
    container_name: frpc
    restart: always  # 开机自启
    network_mode: host  # 使用宿主机网络,方便访问本地服务(如群晖Docker应用)
    volumes:
      # 挂载宿主机的frpc配置文件到容器内
      - ./frpc.toml:/conf/frpc.toml
    command: -c /conf/frpc.toml  # 指定配置文件路径

对应的frpc.toml配置如下:

# 与服务端建立连接,这里是服务器真实公网ip,端口要与服务器端相同
serverAddr = "阿里云公网IP"
serverPort = 8806

# 配置Token鉴权,要与服务端一致
auth.method = "token"
auth.token = “vm3Y5$GQnSWXI!ecWW1gW^k&Spx8”

# 配置日志信息
log.level = "warn"
log.to = "/conf/frpc.log"

# 第一条穿透起名为vaultwarden,基于TCP协议将本机的8083端口映射到公网的8083。如果需要,可以用annotations="xxxxx"来写一些简单的备注
[[proxies]]
name = "vaultwarden"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8083
remotePort = 8083

#第二条穿透

[[proxies]]
name = "FireflyIII"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8085
remotePort = 8085

最后到阿里云服务器上面的防火墙分别放行 8083、8085 即可通过 http/https://公网 ip:端口 进行访问对应的服务。

THE END
分享
二维码
打赏
海报
借助 阿里云公网 IP 访问家庭群晖 NAS
群晖放在家里,家里没有公网 ip,但有台阿里云服务器,有公网 ip。 采用 frp 应用进行配置。 首先,阿里云服务器上,部署 frps 服务端,采用 docker-compose ……
<<上一篇
下一篇>>