最小双站点配置
适用版本:技术预览 (v0.5.1)。 最小配置包含保证 WireGuard 加密与 frp 穿透所必须填写的核心字段(包括 frps 服务端连接地址、身份 Token 与预共享通信密钥)。
在此场景下,站点 A 作为被动监听端(role = "proxy"),站点 B 作为主动连接端(role = "visitor")。两端通过共同的公网 frps 信令服务器进行认证与协商打洞。
1. 站点 A 配置文件 (site-a.toml)
Section titled “1. 站点 A 配置文件 (site-a.toml)”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 = truepublic_key = "REPLACE_WITH_SITE_B_PUBLIC_KEY"
[frp]server_addr = "relay.example.com"server_port = 7000token = "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 = truemode = "nftables"2. 站点 B 配置文件 (site-b.toml)
Section titled “2. 站点 B 配置文件 (site-b.toml)”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 = truepublic_key = "REPLACE_WITH_SITE_A_PUBLIC_KEY"
[frp]server_addr = "relay.example.com"server_port = 7000token = "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 = truemode = "nftables"关键配置检查要点
Section titled “关键配置检查要点”- 服务连接与认证:两端的
server_addr与server_port必须指向同一个公网可达的 frps 服务端实例,且两端的token必须与服务端所配置的认证值完全一致; - 端对端预共享密钥:两端的
shared_secret必须完全相同,用于端对端 XTCP/STCP 信令握手时的鉴权校验; - 非对称密钥对:站点 A 的公钥填写在站点 B 的
public_key,站点 B 的公钥填写在站点 A 的public_key。