跳转至

Homelab - 内网穿透工具 frp

frp 是一种内网穿透的方法。你可以通过有公网 IP 的服务器,将内网主机端口暴露到互联网。frp 支持 TCP、UDP、HTTP、HTTPS 等多种协议多种协议。

服务端 frps

首先创建 docker-compose.yml ,并将以下的 ${DIR} 替换为本地的目录(例如 /DATA/AppData):

docker-compose.yml
version: "3"
services:
  frps:
    image: "snowdreamtech/frps:latest"
    restart: always
    network_mode: host
    volumes:
      - ${DIR}/frps/frps.ini:/etc/frp/frps.ini

并添加配置文件 frps.ini

frps.ini
[common]
bind_port = 7000 # 客户端和服务端连接的端口,在之后配置客户端时会用上。
dashboard_port = 7500 # 服务端 dashboard 的端口
token = ${TOKEN-FRPS} # 客户端和服务端连接的口令,请自行设置。
dashboard_user = ${USERNAME-FRPS} # 用户名
dashboard_pwd = ${PASSWORD-FRPS} # 密码

如果你不用 docker 的方法,也可以参考这篇文章:服务端配置·如何实现外网 RDP 远控(frp)

客户端 frpc

首先创建 docker-compose.yml ,并将以下的 ${DIR} 替换为本地的目录(例如 /DATA/AppData):

docker-compose.yml
version: "3.3"
services:
  frpc:
    restart: always
    network_mode: "host"
    volumes:
      - ${DIR}/frpc/frpc.ini:/frp/frpc.ini
    image: stilleshan/frpc

并添加配置文件 frpc.ini

frpc.ini
[common]
server_addr = xx.xx.xx.xx # 服务器的公网 IP
server_port = 7000 # 与服务端的端口保持一致
tls_enable = true
token = ${TOKEN-FRPS} # 与服务端的 token 保持一致

[xxx]
type = tcp
remote_port = xx # 公网访问的端口号
local_ip = localhost
local_port = xx # 内网的端口号

参考与致谢

原文地址:https://wiki-power.com/
本篇文章受 CC BY-NC-SA 4.0 协议保护,转载请注明出处。