【frp XTCP 穿透配置教程
Frp XTCP 穿透配置教程
XTCP 是 frp 提供的一种点对点穿透技术,可以在不经过服务器中转的情况下直接建立连接,降低延迟并提高传输速度。以下是配置 XTCP 穿透的详细教程。
1. 准备工作
2. 服务端配置
首先配置 frps.ini(服务端配置文件):
[common]bind_port = 7000 # frp 服务端端口auth.token = \"your_token_here\" # 认证令牌
启动服务端:
./frps -c ./frps.ini
3. 被访问端配置(p2p_fny)
[common]server_addr = \"your_server_ip\" # 服务器公网IPserver_port = 7000auth.token = \"your_token_here\" # 与服务端一致login_fail_exit = false[[proxies]]name = \"p2p_fny\"type = \"xtcp\"secretKey = \"12\" # 共享密钥localIP = \"127.0.0.1\" # 本地服务IPlocalPort = 5930 # 本地服务端口
启动被访问端客户端:
./frpc -c ./frpc.ini
4. 访问端配置(df_xtcp_dlebt)
[common]server_addr = \"your_server_ip\" # 服务器公网IPserver_port = 7000auth.token = \"your_token_here\" # 与服务端一致login_fail_exit = false[[visitors]]name = \"df_xtcp_dlebt\"type = \"xtcp\"serverName = \"p2p_fny\" # 对应被访问端的namesecretKey = \"12\" # 与被访问端一致bindAddr = \"127.0.0.1\" # 本地绑定IPbindPort = 5246 # 本地绑定端口keepTunnelOpen = true # 保持隧道开放
启动访问端客户端:
./frpc -c ./frpc.ini
5. 使用说明
- 访问端启动后,可以通过访问
127.0.0.1:5246
来连接到被访问端的127.0.0.1:5666
服务 - 如果 XTCP 穿透失败,可以配置 fallback 选项回退到普通 TCP 模式
- 使用
keepTunnelOpen = true
可以保持隧道开放,避免频繁建立连接
6. 常见问题
Q: 连接失败怎么办?
A:
- 检查两端 secretKey 是否一致
- 检查服务端和客户端 token 是否一致
- 检查防火墙是否放行了相关 UDP 端口
- 尝试关闭防火墙测试
Q: 如何知道是否成功建立了 P2P 连接?
A: 查看客户端日志,如果看到 “xtcp direct connection established” 表示成功建立了 P2P 连接
Q: 为什么有时延迟还是很高?
A: 某些网络环境下无法建立真正的 P2P 连接,frp 会自动回退到服务器中转模式
7. 高级配置
如果需要更高的可靠性,可以配置 fallback 选项:
fallbackTo = \"stcp\" # 回退到 stcp 模式fallbackTimeoutMs = 500 # 500ms 后回退
这样当 XTCP 无法建立连接时,会自动尝试使用 STCP 模式通过服务器中转连接。