[GH-ISSUE #1235] frp 0.27.0 xtcp 点对点穿透失败 #974

Closed
opened 2026-05-05 12:37:26 -06:00 by gitea-mirror · 4 comments
Owner

Originally created by @Catsayer666 on GitHub (May 7, 2019).
Original GitHub issue: https://github.com/fatedier/frp/issues/1235

Issue is only used for submiting bug report and documents typo. If there are same issues or answers can be found in documents, we will close it directly.
(为了节约时间,提高处理问题的效率,不按照格式填写的 issue 将会直接关闭。)

Use the commands below to provide key information from your environment:
You do NOT have to include this information if this is a FEATURE REQUEST

What version of frp are you using (./frpc -v or ./frps -v)?
0.27.0

What operating system and processor architecture are you using (go env)?
服务端 Debian9.0 amd64
转发内网的客户端 Debian 9.0 amd64
访问的客户端 Windows 10 amd64

Configures you used:

转发内网服务的配置:

[common]
server_addr = xxxxxxx
server_port = xxxx
token = xxxxxxx

protocol = tcp
login_fail_exit = false
pool_count = 1
tcp_mux = true

[p2p_server]
type = xtcp
sk = 123123
local_ip = 192.168.123.120
local_port = 8096

访问的Windows客户端配置:
[common]
server_addr = xxxxxxxxxx
server_port = xxxx
token = xxxxxxxxx

[p2p_server_visitor]
type = xtcp

xtcp 的访问者

role = visitor

要访问的 xtcp 代理的名字

server_name = p2p_server
sk = 123123

绑定本地端口用于访问 ssh 服务

bind_addr = 127.0.0.1
bind_port = 8888

vps配置:
[common]

frp 监听地址

bind_addr = 0.0.0.0
bind_port = 7676

UDP穿透,用于点对点内网穿透

bind_udp_port = 7677

KCP协议使用UDP端口,可以和“bind_port”相同

frps中默认禁用

kcp_bind_port = 7676

如果需要代理 web(http) 服务,则开启此端口

vhost_http_port = 8080
vhost_https_port = 4433

frp 控制面板

默认地址和bind_addr相同

dashboard_port = 7678
dashboard_user = xxxxxxxx
dashboard_pwd = xxxxxxxxx

日志输出位置(这里输出到标准输出)

log_file = /etc/frp/frps.log

日志级别,支持: debug, info, warn, error

log_level = info
log_max_days = 3

身份验证令牌

token = xxxxxxxxxxxx

超时间隔(秒)

如果authentication_timeout是零,不验证时间戳,默认是900秒

authentication_timeout = 0

只允许frpc绑定你列出的端口,如果你没有设置,就不会有任何限制

allow_ports = 2000-3000,3001,3003,4000-50000

每个代理的连接池上限

max_pool_count = 8

TCP 多路复用

tcp_mux = true

子域名

subdomain_host = xxxxxxxxxx

Steps to reproduce the issue:
1.
2.
3.

Describe the results you received:
Windows 访问端的日志:
D:\Program Files (x86)\frp_0.27.0_windows_amd64>frpc.exe -c frpc.ini
2019/05/07 15:16:47 [I] [service.go:221] login to server success, get run id [3dfda9a15fbb3c33], server udp port [7677]
2019/05/07 15:16:47 [I] [visitor_manager.go:69] [p2p_jelly_visitor] start visitor success
2019/05/07 15:16:47 [I] [visitor_manager.go:112] visitor added: [p2p_jelly_visitor]
2019/05/07 15:17:02 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62442->115.60.170.179:2629: i/o timeout
2019/05/07 15:17:03 [W] [visitor.go:233] [p2p_jelly_visitor] get natHoleRespMsg error: read udp 192.168.0.174:62441->198.181.56.174:7677: i/o timeout
2019/05/07 15:17:26 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62451->115.60.170.179:2733: i/o timeout
2019/05/07 15:17:26 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62450->115.60.170.179:2732: i/o timeout
2019/05/07 15:17:35 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62452->115.60.170.179:2762: i/o timeout
2019/05/07 15:17:36 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62453->115.60.170.179:2769: i/o timeout
2019/05/07 15:17:44 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:56023->115.60.170.179:2788: i/o timeout
2019/05/07 15:17:58 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55791->115.60.170.179:2862: i/o timeout
2019/05/07 15:17:58 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55792->115.60.170.179:2864: i/o timeout
2019/05/07 15:18:36 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55797->115.60.170.179:3026: i/o timeout
2019/05/07 15:18:36 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55798->115.60.170.179:3025: i/o timeout

Describe the results you expected:

Additional information you deem important (e.g. issue happens only occasionally):
测试0.24.1版本,同样的配置,不做修改,可以正常的访问

Can you point out what caused this issue (optional)

Originally created by @Catsayer666 on GitHub (May 7, 2019). Original GitHub issue: https://github.com/fatedier/frp/issues/1235 Issue is only used for submiting bug report and documents typo. If there are same issues or answers can be found in documents, we will close it directly. (为了节约时间,提高处理问题的效率,不按照格式填写的 issue 将会直接关闭。) Use the commands below to provide key information from your environment: You do NOT have to include this information if this is a FEATURE REQUEST **What version of frp are you using (./frpc -v or ./frps -v)?** 0.27.0 **What operating system and processor architecture are you using (`go env`)?** 服务端 Debian9.0 amd64 转发内网的客户端 Debian 9.0 amd64 访问的客户端 Windows 10 amd64 **Configures you used:** 转发内网服务的配置: [common] server_addr = xxxxxxx server_port = xxxx token = xxxxxxx protocol = tcp login_fail_exit = false pool_count = 1 tcp_mux = true [p2p_server] type = xtcp sk = 123123 local_ip = 192.168.123.120 local_port = 8096 访问的Windows客户端配置: [common] server_addr = xxxxxxxxxx server_port = xxxx token = xxxxxxxxx [p2p_server_visitor] type = xtcp # xtcp 的访问者 role = visitor # 要访问的 xtcp 代理的名字 server_name = p2p_server sk = 123123 # 绑定本地端口用于访问 ssh 服务 bind_addr = 127.0.0.1 bind_port = 8888 vps配置: [common] # frp 监听地址 bind_addr = 0.0.0.0 bind_port = 7676 # UDP穿透,用于点对点内网穿透 bind_udp_port = 7677 # KCP协议使用UDP端口,可以和“bind_port”相同 # frps中默认禁用 kcp_bind_port = 7676 # 如果需要代理 web(http) 服务,则开启此端口 vhost_http_port = 8080 vhost_https_port = 4433 # frp 控制面板 # 默认地址和bind_addr相同 dashboard_port = 7678 dashboard_user = xxxxxxxx dashboard_pwd = xxxxxxxxx # 日志输出位置(这里输出到标准输出) log_file = /etc/frp/frps.log # 日志级别,支持: debug, info, warn, error log_level = info log_max_days = 3 # 身份验证令牌 token = xxxxxxxxxxxx # 超时间隔(秒) # 如果authentication_timeout是零,不验证时间戳,默认是900秒 authentication_timeout = 0 # 只允许frpc绑定你列出的端口,如果你没有设置,就不会有任何限制 allow_ports = 2000-3000,3001,3003,4000-50000 # 每个代理的连接池上限 max_pool_count = 8 # TCP 多路复用 tcp_mux = true # 子域名 subdomain_host = xxxxxxxxxx **Steps to reproduce the issue:** 1. 2. 3. **Describe the results you received:** Windows 访问端的日志: D:\Program Files (x86)\frp_0.27.0_windows_amd64>frpc.exe -c frpc.ini 2019/05/07 15:16:47 [I] [service.go:221] login to server success, get run id [3dfda9a15fbb3c33], server udp port [7677] 2019/05/07 15:16:47 [I] [visitor_manager.go:69] [p2p_jelly_visitor] start visitor success 2019/05/07 15:16:47 [I] [visitor_manager.go:112] visitor added: [p2p_jelly_visitor] 2019/05/07 15:17:02 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62442->115.60.170.179:2629: i/o timeout 2019/05/07 15:17:03 [W] [visitor.go:233] [p2p_jelly_visitor] get natHoleRespMsg error: read udp 192.168.0.174:62441->198.181.56.174:7677: i/o timeout 2019/05/07 15:17:26 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62451->115.60.170.179:2733: i/o timeout 2019/05/07 15:17:26 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62450->115.60.170.179:2732: i/o timeout 2019/05/07 15:17:35 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62452->115.60.170.179:2762: i/o timeout 2019/05/07 15:17:36 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:62453->115.60.170.179:2769: i/o timeout 2019/05/07 15:17:44 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:56023->115.60.170.179:2788: i/o timeout 2019/05/07 15:17:58 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55791->115.60.170.179:2862: i/o timeout 2019/05/07 15:17:58 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55792->115.60.170.179:2864: i/o timeout 2019/05/07 15:18:36 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55797->115.60.170.179:3026: i/o timeout 2019/05/07 15:18:36 [W] [visitor.go:276] [p2p_jelly_visitor] get sid from client error: read udp 192.168.0.174:55798->115.60.170.179:3025: i/o timeout **Describe the results you expected:** **Additional information you deem important (e.g. issue happens only occasionally):** 测试0.24.1版本,同样的配置,不做修改,可以正常的访问 **Can you point out what caused this issue (optional)**
Author
Owner

@fatedier commented on GitHub (May 7, 2019):

Duplicate of #1129

<!-- gh-comment-id:490054359 --> @fatedier commented on GitHub (May 7, 2019): Duplicate of #1129
Author
Owner

@xiaonibakeji commented on GitHub (Sep 16, 2019):

有谁解决了吗?兄弟们,我0.29也是同样问题

<!-- gh-comment-id:531682641 --> @xiaonibakeji commented on GitHub (Sep 16, 2019): 有谁解决了吗?兄弟们,我0.29也是同样问题
Author
Owner

@lunfangyu commented on GitHub (Jan 10, 2020):

0.31.1 遇到同样的问题

<!-- gh-comment-id:572861850 --> @lunfangyu commented on GitHub (Jan 10, 2020): 0.31.1 遇到同样的问题
Author
Owner

@zp0605 commented on GitHub (Nov 18, 2020):

兄弟们,这个问题解决了吗

<!-- gh-comment-id:729558162 --> @zp0605 commented on GitHub (Nov 18, 2020): 兄弟们,这个问题解决了吗
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#974
No description provided.