[GH-ISSUE #3014] 4g设备重启后连接服务端失败 #2407

Closed
opened 2026-05-05 13:32:58 -06:00 by gitea-mirror · 2 comments
Owner

Originally created by @kaiwenl on GitHub (Jul 14, 2022).
Original GitHub issue: https://github.com/fatedier/frp/issues/3014

Bug Description

  1. 服务端启动后,客户端首次启动可以连接服务端,提示代理成功,服务端看板显示客户端在线;
  2. 服务端保持运行状态,客户端设备重启后再次连接,服务端看板仍显示客户端离线,且反复重启客户端并不能在线;
  3. 再次重启客户端frp会有设备系统报错日志:crypto/rand: blocked for 60 seconds waiting to read random data from the kernel

frpc Version

frpc version 0.43.0

frps Version

frps version 0.43.0

System Architecture

frps linux/amd64; frpc linux/arm64

Configurations

frps.ini

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
log_file = ./frps.log
log_level = trace
log_max_days = 3
disable_log_color = false
detailed_errors_to_client = true

frpc.ini

[common]
server_addr = 120.127.132.85
server_port = 7000

log_file = ./frpc.log
log_level = trace
log_max_days = 3
disable_log_color = false

login_fail_exit = false

[YX00000100]
type = stcp
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22

Logs

服务端:
2022/07/14 09:04:03 [I] [root.go:200] frps uses config file: frps.ini
2022/07/14 09:04:03 [I] [service.go:194] frps tcp listen on 0.0.0.0:7000
2022/07/14 09:04:03 [I] [service.go:293] Dashboard listen on 0.0.0.0:7500
2022/07/14 09:04:03 [I] [root.go:209] frps started successfully
2022/07/14 09:04:32 [I] [dashboard_api.go:70] Http request: [/api/serverinfo]
2022/07/14 09:04:32 [I] [dashboard_api.go:63] Http response [/api/serverinfo]: code [200]
2022/07/14 09:04:35 [I] [dashboard_api.go:185] Http request: [/api/proxy/stcp]
2022/07/14 09:04:35 [I] [dashboard_api.go:179] Http response [/api/proxy/stcp]: code [200]
2022/07/14 09:04:39 [T] [service.go:396] start check TLS connection...
2022/07/14 09:04:39 [T] [service.go:405] check TLS connection success, isTLS: false custom: false
2022/07/14 09:04:39 [I] [service.go:450] [cd63c00e272f25fc] client login info: ip [221.178.127.151:53773] version [0.43.0] hostname [] os [linux] arch [arm64]
2022/07/14 09:04:39 [D] [control.go:219] [cd63c00e272f25fc] new work connection registered
2022/07/14 09:04:39 [I] [stcp.go:34] [cd63c00e272f25fc] [YX00000100] stcp proxy custom listen success
2022/07/14 09:04:39 [I] [control.go:465] [cd63c00e272f25fc] new proxy [YX00000100] type [stcp] success
2022/07/14 09:04:43 [I] [dashboard_api.go:185] Http request: [/api/proxy/stcp]
2022/07/14 09:04:43 [I] [dashboard_api.go:179] Http response [/api/proxy/stcp]: code [200]
2022/07/14 09:04:45 [I] [dashboard_api.go:319] Http request: [/api/traffic/YX00000100]
2022/07/14 09:04:45 [I] [dashboard_api.go:313] Http response [/api/traffic/YX00000100]: code [200]
2022/07/14 09:05:09 [D] [control.go:494] [cd63c00e272f25fc] receive heartbeat
客户端设备断电重启,重新获取4g网
2022/07/14 09:05:13 [D] [service.go:423] Accept new mux stream error: EOF
2022/07/14 09:05:13 [D] [control.go:335] [cd63c00e272f25fc] control connection closed
2022/07/14 09:05:13 [I] [control.go:307] [cd63c00e272f25fc] control writer is closing
2022/07/14 09:05:13 [I] [proxy.go:88] [cd63c00e272f25fc] [YX00000100] proxy closing
2022/07/14 09:05:13 [I] [control.go:396] [cd63c00e272f25fc] client exit success
2022/07/14 09:05:13 [W] [proxy.go:176] [cd63c00e272f25fc] [YX00000100] listener is closed: listener closed
2022/07/14 09:07:18 [T] [service.go:396] start check TLS connection...
2022/07/14 09:07:18 [T] [service.go:405] check TLS connection success, isTLS: false custom: false
2022/07/14 09:07:18 [I] [service.go:450] [e31e67ebd90a5a70] client login info: ip [221.178.127.151:53774] version [0.43.0] hostname [] os [linux] arch [arm64]
2022/07/14 09:07:18 [D] [control.go:219] [e31e67ebd90a5a70] new work connection registered
2022/07/14 09:07:32 [I] [dashboard_api.go:185] Http request: [/api/proxy/stcp]
2022/07/14 09:07:32 [I] [dashboard_api.go:179] Http response [/api/proxy/stcp]: code [200]
2022/07/14 09:07:34 [I] [dashboard_api.go:319] Http request: [/api/traffic/YX00000100]
2022/07/14 09:07:34 [I] [dashboard_api.go:313] Http response [/api/traffic/YX00000100]: code [200]
2022/07/14 09:07:55 [T] [service.go:396] start check TLS connection...
2022/07/14 09:07:55 [T] [service.go:405] check TLS connection success, isTLS: false custom: false
2022/07/14 09:07:55 [D] [service.go:423] Accept new mux stream error: invalid protocol version
2022/07/14 09:08:42 [D] [control.go:335] [e31e67ebd90a5a70] control connection closed
2022/07/14 09:08:42 [I] [control.go:307] [e31e67ebd90a5a70] control writer is closing
2022/07/14 09:08:42 [I] [control.go:396] [e31e67ebd90a5a70] client exit success
2022/07/14 09:08:42 [D] [service.go:423] Accept new mux stream error: EOF

客户端
2022/07/14 17:04:48 [T] [root.go:211] start frpc service for config file [frpc.ini]
2022/07/14 17:04:48 [I] [service.go:349] [cd63c00e272f25fc] login to server success, get run id [cd63c00e272f25fc], server udp port [0]
2022/07/14 17:04:48 [I] [proxy_manager.go:144] [cd63c00e272f25fc] proxy added: [YX00000100]
2022/07/14 17:04:48 [T] [proxy_wrapper.go:171] [cd63c00e272f25fc] [YX00000100] change status from [new] to [wait start]
2022/07/14 17:04:48 [I] [control.go:181] [cd63c00e272f25fc] [YX00000100] start proxy success
2022/07/14 17:05:18 [D] [control.go:360] [cd63c00e272f25fc] send heartbeat to server
2022/07/14 17:05:18 [D] [control.go:391] [cd63c00e272f25fc] receive heartbeat from server
客户端重启
2022/07/14 17:07:25 [T] [root.go:211] start frpc service for config file [frpc.ini]
2022/07/14 17:07:25 [I] [service.go:349] [e31e67ebd90a5a70] login to server success, get run id [e31e67ebd90a5a70], server udp port [0]
2022/07/14 17:07:25 [I] [proxy_manager.go:144] [e31e67ebd90a5a70] proxy added: [YX00000100]
2022/07/14 17:07:25 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [new] to [wait start]
2022/07/14 17:07:47 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [wait start] to [wait start]
2022/07/14 17:07:55 [D] [control.go:360] [e31e67ebd90a5a70] send heartbeat to server
2022/07/14 17:08:08 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [wait start] to [wait start]
2022/07/14 17:08:25 [D] [control.go:360] [e31e67ebd90a5a70] send heartbeat to server
2022/07/14 17:08:29 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [wait start] to [wait start]

注:
客户端因设置原因时间与服务器相差8小时;

Steps to reproduce

  1. 服务端启动,客户端启动,连接成功,看板显示客户端在线;
  2. 服务端保持运行,停止客户端frp,重启设备,加载4g网;
  3. 启动客户端frp,服务端看板显示离线,重启客户端服务也不能在线;

Affected area

  • Docs
  • Installation
  • Performance and Scalability
  • Security
  • User Experience
  • Test and Release
  • Developer Infrastructure
  • Client Plugin
  • Server Plugin
  • Extensions
  • Others
Originally created by @kaiwenl on GitHub (Jul 14, 2022). Original GitHub issue: https://github.com/fatedier/frp/issues/3014 ### Bug Description 1. 服务端启动后,客户端首次启动可以连接服务端,提示代理成功,服务端看板显示客户端在线; 2. 服务端保持运行状态,客户端设备重启后再次连接,服务端看板仍显示客户端离线,且反复重启客户端并不能在线; 3. 再次重启客户端frp会有设备系统报错日志:crypto/rand: blocked for 60 seconds waiting to read random data from the kernel ### frpc Version frpc version 0.43.0 ### frps Version frps version 0.43.0 ### System Architecture frps linux/amd64; frpc linux/arm64 ### Configurations frps.ini ``` [common] bind_port = 7000 dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin log_file = ./frps.log log_level = trace log_max_days = 3 disable_log_color = false detailed_errors_to_client = true ``` frpc.ini ``` [common] server_addr = 120.127.132.85 server_port = 7000 log_file = ./frpc.log log_level = trace log_max_days = 3 disable_log_color = false login_fail_exit = false [YX00000100] type = stcp sk = abcdefg local_ip = 127.0.0.1 local_port = 22 ``` ### Logs **_服务端:_** 2022/07/14 09:04:03 [I] [root.go:200] frps uses config file: frps.ini 2022/07/14 09:04:03 [I] [service.go:194] frps tcp listen on 0.0.0.0:7000 2022/07/14 09:04:03 [I] [service.go:293] Dashboard listen on 0.0.0.0:7500 2022/07/14 09:04:03 [I] [root.go:209] frps started successfully 2022/07/14 09:04:32 [I] [dashboard_api.go:70] Http request: [/api/serverinfo] 2022/07/14 09:04:32 [I] [dashboard_api.go:63] Http response [/api/serverinfo]: code [200] 2022/07/14 09:04:35 [I] [dashboard_api.go:185] Http request: [/api/proxy/stcp] 2022/07/14 09:04:35 [I] [dashboard_api.go:179] Http response [/api/proxy/stcp]: code [200] 2022/07/14 09:04:39 [T] [service.go:396] start check TLS connection... 2022/07/14 09:04:39 [T] [service.go:405] check TLS connection success, isTLS: false custom: false 2022/07/14 09:04:39 [I] [service.go:450] [cd63c00e272f25fc] client login info: ip [221.178.127.151:53773] version [0.43.0] hostname [] os [linux] arch [arm64] 2022/07/14 09:04:39 [D] [control.go:219] [cd63c00e272f25fc] new work connection registered 2022/07/14 09:04:39 [I] [stcp.go:34] [cd63c00e272f25fc] [YX00000100] stcp proxy custom listen success 2022/07/14 09:04:39 [I] [control.go:465] [cd63c00e272f25fc] new proxy [YX00000100] type [stcp] success 2022/07/14 09:04:43 [I] [dashboard_api.go:185] Http request: [/api/proxy/stcp] 2022/07/14 09:04:43 [I] [dashboard_api.go:179] Http response [/api/proxy/stcp]: code [200] 2022/07/14 09:04:45 [I] [dashboard_api.go:319] Http request: [/api/traffic/YX00000100] 2022/07/14 09:04:45 [I] [dashboard_api.go:313] Http response [/api/traffic/YX00000100]: code [200] 2022/07/14 09:05:09 [D] [control.go:494] [cd63c00e272f25fc] receive heartbeat 客户端设备断电重启,重新获取4g网 2022/07/14 09:05:13 [D] [service.go:423] Accept new mux stream error: EOF 2022/07/14 09:05:13 [D] [control.go:335] [cd63c00e272f25fc] control connection closed 2022/07/14 09:05:13 [I] [control.go:307] [cd63c00e272f25fc] control writer is closing 2022/07/14 09:05:13 [I] [proxy.go:88] [cd63c00e272f25fc] [YX00000100] proxy closing 2022/07/14 09:05:13 [I] [control.go:396] [cd63c00e272f25fc] client exit success 2022/07/14 09:05:13 [W] [proxy.go:176] [cd63c00e272f25fc] [YX00000100] listener is closed: listener closed 2022/07/14 09:07:18 [T] [service.go:396] start check TLS connection... 2022/07/14 09:07:18 [T] [service.go:405] check TLS connection success, isTLS: false custom: false 2022/07/14 09:07:18 [I] [service.go:450] [e31e67ebd90a5a70] client login info: ip [221.178.127.151:53774] version [0.43.0] hostname [] os [linux] arch [arm64] 2022/07/14 09:07:18 [D] [control.go:219] [e31e67ebd90a5a70] new work connection registered 2022/07/14 09:07:32 [I] [dashboard_api.go:185] Http request: [/api/proxy/stcp] 2022/07/14 09:07:32 [I] [dashboard_api.go:179] Http response [/api/proxy/stcp]: code [200] 2022/07/14 09:07:34 [I] [dashboard_api.go:319] Http request: [/api/traffic/YX00000100] 2022/07/14 09:07:34 [I] [dashboard_api.go:313] Http response [/api/traffic/YX00000100]: code [200] 2022/07/14 09:07:55 [T] [service.go:396] start check TLS connection... 2022/07/14 09:07:55 [T] [service.go:405] check TLS connection success, isTLS: false custom: false 2022/07/14 09:07:55 [D] [service.go:423] Accept new mux stream error: invalid protocol version 2022/07/14 09:08:42 [D] [control.go:335] [e31e67ebd90a5a70] control connection closed 2022/07/14 09:08:42 [I] [control.go:307] [e31e67ebd90a5a70] control writer is closing 2022/07/14 09:08:42 [I] [control.go:396] [e31e67ebd90a5a70] client exit success 2022/07/14 09:08:42 [D] [service.go:423] Accept new mux stream error: EOF _**客户端**_ 2022/07/14 17:04:48 [T] [root.go:211] start frpc service for config file [frpc.ini] 2022/07/14 17:04:48 [I] [service.go:349] [cd63c00e272f25fc] login to server success, get run id [cd63c00e272f25fc], server udp port [0] 2022/07/14 17:04:48 [I] [proxy_manager.go:144] [cd63c00e272f25fc] proxy added: [YX00000100] 2022/07/14 17:04:48 [T] [proxy_wrapper.go:171] [cd63c00e272f25fc] [YX00000100] change status from [new] to [wait start] 2022/07/14 17:04:48 [I] [control.go:181] [cd63c00e272f25fc] [YX00000100] start proxy success 2022/07/14 17:05:18 [D] [control.go:360] [cd63c00e272f25fc] send heartbeat to server 2022/07/14 17:05:18 [D] [control.go:391] [cd63c00e272f25fc] receive heartbeat from server 客户端重启 2022/07/14 17:07:25 [T] [root.go:211] start frpc service for config file [frpc.ini] 2022/07/14 17:07:25 [I] [service.go:349] [e31e67ebd90a5a70] login to server success, get run id [e31e67ebd90a5a70], server udp port [0] 2022/07/14 17:07:25 [I] [proxy_manager.go:144] [e31e67ebd90a5a70] proxy added: [YX00000100] 2022/07/14 17:07:25 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [new] to [wait start] 2022/07/14 17:07:47 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [wait start] to [wait start] 2022/07/14 17:07:55 [D] [control.go:360] [e31e67ebd90a5a70] send heartbeat to server 2022/07/14 17:08:08 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [wait start] to [wait start] 2022/07/14 17:08:25 [D] [control.go:360] [e31e67ebd90a5a70] send heartbeat to server 2022/07/14 17:08:29 [T] [proxy_wrapper.go:171] [e31e67ebd90a5a70] [YX00000100] change status from [wait start] to [wait start] _**注:**_ 客户端因设置原因时间与服务器相差8小时; ### Steps to reproduce 1. 服务端启动,客户端启动,连接成功,看板显示客户端在线; 2. 服务端保持运行,停止客户端frp,重启设备,加载4g网; 3. 启动客户端frp,服务端看板显示离线,重启客户端服务也不能在线; ### Affected area - [ ] Docs - [ ] Installation - [ ] Performance and Scalability - [ ] Security - [ ] User Experience - [ ] Test and Release - [ ] Developer Infrastructure - [ ] Client Plugin - [ ] Server Plugin - [ ] Extensions - [X] Others
Author
Owner

@fatedier commented on GitHub (Jul 14, 2022):

google 尝试里面的一些方案看是否可行。

<!-- gh-comment-id:1183925476 --> @fatedier commented on GitHub (Jul 14, 2022): [google](https://www.google.com.hk/search?q=blocked+for+60+seconds+waiting+to+read+random+data+from+the+kernel&newwindow=1&sxsrf=ALiCzsY_dznCsspGtcj_67hcjSptfCpxBQ%3A1657766984035&source=hp&ei=R4TPYvy9PIu32roP9tOnwAU&iflsig=AJiK0e8AAAAAYs-SWDQ9UQJu92mv1cJ5sTSKjlf83-pQ&ved=0ahUKEwi8_c2hr_f4AhWLm1YBHfbpCVgQ4dUDCAc&uact=5&oq=blocked+for+60+seconds+waiting+to+read+random+data+from+the+kernel&gs_lcp=Cgdnd3Mtd2l6EANQAFgAYFRoAHAAeACAAQCIAQCSAQCYAQCgAQKgAQE&sclient=gws-wiz) 尝试里面的一些方案看是否可行。
Author
Owner

@kaiwenl commented on GitHub (Jul 14, 2022):

感谢大佬指点,仔细观察了下,等系统出现日志:random: crng init done后再启动frp就可以了,问题应该就出在系统的熵值上;

<!-- gh-comment-id:1184163609 --> @kaiwenl commented on GitHub (Jul 14, 2022): 感谢大佬指点,仔细观察了下,等系统出现日志:random: crng init done后再启动frp就可以了,问题应该就出在系统的熵值上;
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#2407
No description provided.