mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[GH-ISSUE #645] 客户端多次切换IP并重启frpc,会概率出现服务端frp端口被占用不释放问题 #503
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#503
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Luoyinwei on GitHub (Feb 27, 2018).
Original GitHub issue: https://github.com/fatedier/frp/issues/645
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.13.0
What operating system and processor architecture are you using (
go env)?ubuntu/arm64
Configures you used:
[common]
server_addr = 113.100.100.100
server_port = 7000
#pool_count = 10
log_file = /home/xxxx/frp_0.13.0_linux_arm/frpc.log
log_level = info
log_max_days = 3
[b01_ssh]
type = tcp
local_ip = 192.168.0.128
local_port = 22
remote_port = 59209
[b01_portal]
type = http
local_ip = 192.168.0.128
local_port = 59000
subdomain = portal01
[b01_cloud]
type = http
local_ip = 192.168.0.128
local_port = 59300
subdomain = cloud01
[b01_jcloud]
type = http
local_ip = 192.168.0.128
local_port = 50080
subdomain = jcloud01
[b01_openfire]
type = http
local_ip = 192.168.0.128
local_port = 59010
subdomain = openfire01
[b01_openfire0]
type = tcp
local_ip = 192.168.0.128
local_port = 59211
remote_port = 59211
[b01_openfire1]
type = tcp
local_ip = 192.168.0.128
local_port = 59212
remote_port = 59212
[b01_59090-udp]
type = udp
local_ip = 192.168.0.128
local_port = 59090
remote_port = 59290
use_encryption = false
use_compression = true
[b01_59090-tcp]
type = tcp
local_ip = 192.168.0.128
local_port = 59090
remote_port = 59290
use_encryption = false
use_compression = true
[b01_59091-tcp]
type = tcp
local_ip = 192.168.0.128
local_port = 59091
remote_port = 59291
use_encryption = false
use_compression = true
[b01_tunserver0]
type = udp
local_ip = 192.168.0.128
local_port = 59100
remote_port = 59300
use_encryption = false
use_compression = false
[b01_tunserver1]
type = udp
local_ip = 192.168.0.128
local_port = 59101
remote_port = 59301
use_encryption = false
use_compression = false
[b01_tunserver2]
type = udp
local_ip = 192.168.0.128
local_port = 59102
remote_port = 59302
use_encryption = false
use_compression = false
Steps to reproduce the issue:
客户端设备经常在有线、无线两种网络间切换,每次切换需要先kill frpc,更新frpc配置的IP地址再重启frpc,多次这样操作以后会出现客户端启动失败,原因是服务器frp端口被占用且不释放。甚至在关闭客户端后很长时间(一两个小时)后服务器frp端口依然不释放。
Describe the results you received:
2018/02/27 09:48:54 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:48:54 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:03 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:03 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:13 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:13 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:23 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:23 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:33 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:33 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:43 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:43 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:53 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:49:53 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:50:03 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:50:03 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:50:13 [W] [proxy.go:339] [19270715ae82a4a3] [b01_tunserver2] listen udp port error: listen udp 0.0.0.0:59302: bind: address already in use
2018/02/27 09:50:13 [W] [control.go:316] [19270715ae82a4a3] new proxy [b01_tunserver2] error: listen udp 0.0.0.0:59302: bind: address already in use
Describe the results you expected:
服务端frp端口在心跳超时后应该关闭端口
Additional information you deem important (e.g. issue happens only occasionally):
问题非比现,但概率很大。正常情况下,客户端关闭后一段时间服务器frp端口可以被释放。
Can you point out what caused this issue (optional)
@Luoyinwei commented on GitHub (Feb 27, 2018):
服务器端frp不释放的端口状态一直未CLOSE_WAIT,想问一下服务端与客户端超时后会自动释放端口吗?
@fatedier commented on GitHub (Feb 28, 2018):
日志级别调低,然后贴一下切换 IP 前后的所有相关日志。
@893399065 commented on GitHub (Mar 9, 2018):
同问,在同样配置下, 两个客户端的frpc都正常启动并使用。但一段时间后,一台客户端的frpc就莫名的启动不了。frpc类似配置第一台客户端可以正常开启,而第二台客户端不能正常启动。报listen udp port error 类似错误。求解
@fatedier commented on GitHub (Mar 14, 2018):
@893399065 是只有 udp 类型有问题,还是其他类型都遇到类似的问题?
@fatedier commented on GitHub (Mar 14, 2018):
@Luoyinwei @893399065 这个问题本地无法复现,所以最好能提供详细的心跳超时和 client 断开前后的日志。建议使用最新的版本,方便调试。
@893399065 commented on GitHub (Mar 14, 2018):
抱歉,是自己的问题。linux的dns有问题,导致此问题的出现。
作者辛苦了。
发送自 Windows 10 版邮件应用
发件人: fatedier
发送时间: Wednesday, March 14, 2018 10:44 AM
收件人: fatedier/frp
抄送: Neal; Mention
主题: Re: [fatedier/frp]=?UTF-8?Q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=A4=9A=E6=AC=A1=E5=88=87=E6=8D=A2IP=E5=B9=B6=E9=87=8D=E5=90=AFfrpc=EF=BC=8C=E4=BC=9A=E6=A6=82=E7=8E=87=E5=87=BA=E7=8E=B0=E6=9C=8D=E5=8A=A1=E7=AB=AFfrp=E7=AB=AF=E5=8F=A3=E8=A2=AB=E5=8D=A0=E7=94=A8=E4=B8=8D=E9=87=8A=E6=94=BE=E9=97=AE=E9=A2=98?==?UTF-8?Q?=28#645=29?=
@893399065 是只有 udp 类型有问题,还是其他类型都遇到类似的问题?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
@Luoyinwei commented on GitHub (Mar 15, 2018):
@fatedier 现在因为封网原因环境已经不在了,暂时无法复现了。
之前我已经更新到最新的0.16.0版本,问题依然存在,最后只能通过重启服务端进程规避的。
后面有时间再重现并抓取更详细的信息吧。感谢
@893399065 commented on GitHub (Mar 15, 2018):
好的
发送自 Windows 10 版邮件应用
发件人: Luoyinwei
发送时间: Thursday, March 15, 2018 4:58 PM
收件人: fatedier/frp
抄送: Neal; Mention
主题: Re: [fatedier/frp]=?UTF-8?Q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=A4=9A=E6=AC=A1=E5=88=87=E6=8D=A2IP=E5=B9=B6=E9=87=8D=E5=90=AFfrpc=EF=BC=8C=E4=BC=9A=E6=A6=82=E7=8E=87=E5=87=BA=E7=8E=B0=E6=9C=8D=E5=8A=A1=E7=AB=AFfrp=E7=AB=AF=E5=8F=A3=E8=A2=AB=E5=8D=A0=E7=94=A8=E4=B8=8D=E9=87=8A=E6=94=BE=E9=97=AE=E9=A2=98?==?UTF-8?Q?=28#645=29?=
@fatedier 现在因为封网原因环境已经不在了,暂时无法复现了。
之前我已经更新到最新的0.16.0版本,问题依然存在,最后只能通过重启服务端进程规避的。
后面有时间再重现并抓取更详细的信息吧。感谢
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
@nightsuns commented on GitHub (Sep 9, 2018):
这个问题,我也碰到了.
出现的现象是, 比较稳定的网络环境中的机器工作正常,但是网络较差的一台windows环境的机器,经常出现:
frpc.ini:
frps.ini:
这是其中一个代理,连接服务器之后,在客户端出来的log.
在服务器上, 端口确实是一直开着(即使我把客户端完全关闭):
tcp46 0 0 *.10081 *.* LISTEN但是查看与control的连接,其实并没有(下面的ip,是另外两台正常服务的proxy的连接):
@zhangwen-network commented on GitHub (Oct 22, 2021):
@893399065 DNS怎么会导致这个问题,最后怎么解决的?谢谢!
@Luoyinwei 这个问题解决了吗?想请教解决方法,谢谢!