跳转到内容

最小双站点配置

适用版本:技术预览 (v0.5.1)。 最小配置包含保证 WireGuard 加密与 frp 穿透所必须填写的核心字段(包括 frps 服务端连接地址、身份 Token 与预共享通信密钥)。

在此场景下,站点 A 作为被动监听端(role = "proxy"),站点 B 作为主动连接端(role = "visitor")。两端通过共同的公网 frps 信令服务器进行认证与协商打洞。


schema_version = 1
[site]
id = "site-a"
networks = ["198.51.100.0/24"]
tunnel_address = "198.51.100.1/32"
role = "proxy"
allow_relay = true
[peer]
id = "site-b"
networks = ["198.51.200.0/24"]
tunnel_address = "198.51.100.2/32"
role = "visitor"
allow_relay = true
public_key = "REPLACE_WITH_SITE_B_PUBLIC_KEY"
[frp]
server_addr = "relay.example.com"
server_port = 7000
token = "REPLACE_WITH_FRP_TOKEN"
shared_secret = "REPLACE_WITH_SHARED_SECRET"
tls = true
[wireguard]
mode = "auto"
private_key = "REPLACE_WITH_SITE_A_PRIVATE_KEY"
[forwarding]
authorize_enable = true
mode = "nftables"

schema_version = 1
[site]
id = "site-b"
networks = ["198.51.200.0/24"]
tunnel_address = "198.51.100.2/32"
role = "visitor"
allow_relay = true
[peer]
id = "site-a"
networks = ["198.51.100.0/24"]
tunnel_address = "198.51.100.1/32"
role = "proxy"
allow_relay = true
public_key = "REPLACE_WITH_SITE_A_PUBLIC_KEY"
[frp]
server_addr = "relay.example.com"
server_port = 7000
token = "REPLACE_WITH_FRP_TOKEN"
shared_secret = "REPLACE_WITH_SHARED_SECRET"
tls = true
[wireguard]
mode = "auto"
private_key = "REPLACE_WITH_SITE_B_PRIVATE_KEY"
[forwarding]
authorize_enable = true
mode = "nftables"

  • 服务连接与认证:两端的 server_addr 与 server_port 必须指向同一个公网可达的 frps 服务端实例,且两端的 token 必须与服务端所配置的认证值完全一致;
  • 端对端预共享密钥:两端的 shared_secret 必须完全相同,用于端对端 XTCP/STCP 信令握手时的鉴权校验;
  • 非对称密钥对:站点 A 的公钥填写在站点 B 的 public_key,站点 B 的公钥填写在站点 A 的 public_key。