mirror of
https://github.com/snail007/goproxy.git
synced 2026-04-27 00:15:51 +03:00
[GH-ISSUE #181] 反向代理 mux模式,桥参数-t tcp 客户和服务参数 -T tcp 不通 #110
Labels
No labels
TODO
bug
duplicate
enhancement
good first issue
help wanted
helpful
invalid
need-confirm
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/goproxy#110
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 @chmis8000 on GitHub (Nov 22, 2018).
Original GitHub issue: https://github.com/snail007/goproxy/issues/181
bridge 参数-t tcp
client 和 server 参数 -T tcp
两个问题
1:client端:
func (s *MuxClient) CheckArgs() (err error) {
if *s.cfg.Parent != "" {
s.log.Printf("use tls parent %s", *s.cfg.Parent)
这个始终提示 tls连接
2. 不通, 三个端 不带这个 -t -T 参数,默认的tls模式没问题
@chmis8000 commented on GitHub (Nov 22, 2018):
补充,测试不加密,一是为了提高性能,另外,发现默认的tls,server端是 xp,bright端、client端是win7, 测试不通。而server端换win7又正常。是否涉及windows系统支持限制。
@snail007 commented on GitHub (Nov 22, 2018):
三端日志
@chmis8000 commented on GitHub (Nov 23, 2018):
没什么有用信息: 这是第1、2个问题:
server:
2018/11/23 09:15:32.624416 mux_server.go:91: use tcp parent 188.131.xx.xx:33080
2018/11/23 09:15:32.642428 mux_server.go:101: server id: e7cadcdc15ec2f14428ef37a2104c388d38d2643
2018/11/23 09:15:32.643428 mux_server.go:338: server on [::]:7792
2018/11/23 09:15:39.033680 mux_server.go:407: session[8] created
2018/11/23 09:15:39.033680 mux_server.go:300: default stream 65cc2a7ba966a8dc28f4868fb1a8738d7226feff created
2018/11/23 09:15:39.115729 mux_server.go:328: default stream 65cc2a7ba966a8dc28f4868fb1a8738d7226feff released
2018/11/23 09:16:00.641039 mux_server.go:407: session[2] created
2018/11/23 09:16:00.642035 mux_server.go:300: default stream 0f0f33b6946f85922b550205b99f75342776ae0b created
2018/11/23 09:16:10.631675 mux_server.go:328: default stream 0f0f33b6946f85922b550205b99f75342776ae0b released
2018/11/23 09:16:10.742748 mux_server.go:407: session[0] created
2018/11/23 09:16:10.742748 mux_server.go:300: default stream a43428e204a4b09d1920a224b79bdf924501af95 created
2018/11/23 09:16:20.733391 mux_server.go:328: default stream a43428e204a4b09d1920a224b79bdf924501af95 released
bridge:
2018/11/23 09:13:17.988156 mux_bridge.go:137: tcp bridge on [::]:33080
2018/11/23 09:13:42.016476 mux_bridge.go:201: client connection default-8 connected
2018/11/23 09:13:42.017453 mux_bridge.go:201: client connection default-3 connected
2018/11/23 09:13:42.016476 mux_bridge.go:201: client connection default-2 connected
2018/11/23 09:13:42.017453 mux_bridge.go:201: client connection default-1 connected
2018/11/23 09:13:42.017453 mux_bridge.go:201: client connection default-4 connected
2018/11/23 09:13:42.017453 mux_bridge.go:201: client connection default-5 connected
2018/11/23 09:13:42.018429 mux_bridge.go:201: client connection default-7 connected
2018/11/23 09:13:42.018429 mux_bridge.go:201: client connection default-10 connected
2018/11/23 09:13:42.018429 mux_bridge.go:201: client connection default-6 connected
2018/11/23 09:13:42.018429 mux_bridge.go:201: client connection default-9 connected
2018/11/23 09:15:04.202999 mux_bridge.go:137: tcp bridge on [::]:33080
2018/11/23 09:15:10.154171 mux_bridge.go:201: client connection default-4 connected
2018/11/23 09:15:10.155148 mux_bridge.go:201: client connection default-7 connected
2018/11/23 09:15:10.155148 mux_bridge.go:201: client connection default-1 connected
2018/11/23 09:15:10.155148 mux_bridge.go:201: client connection default-10 connected
2018/11/23 09:15:10.155148 mux_bridge.go:201: client connection default-8 connected
2018/11/23 09:15:10.155148 mux_bridge.go:201: client connection default-2 connected
2018/11/23 09:15:10.155148 mux_bridge.go:201: client connection default-6 connected
2018/11/23 09:15:10.155148 mux_bridge.go:201: client connection default-5 connected
2018/11/23 09:15:10.156124 mux_bridge.go:201: client connection default-3 connected
2018/11/23 09:15:10.157101 mux_bridge.go:201: client connection default-9 connected
2018/11/23 09:15:37.187374 mux_bridge.go:168: server connection e7cadcdc15ec2f14428ef37a2104c388d38d2643 default connected
2018/11/23 09:15:37.187374 mux_bridge.go:300: select client : default-3
2018/11/23 09:15:37.187374 mux_bridge.go:310: stream e7cadcdc15ec2f14428ef37a2104c388d38d2643 -> default created
2018/11/23 09:15:37.255734 mux_bridge.go:337: default server e7cadcdc15ec2f14428ef37a2104c388d38d2643 stream released
2018/11/23 09:15:58.735226 mux_bridge.go:168: server connection e7cadcdc15ec2f14428ef37a2104c388d38d2643 default connected
2018/11/23 09:16:08.825070 mux_bridge.go:168: server connection e7cadcdc15ec2f14428ef37a2104c388d38d2643 default connected
bridge控制台另外不在log文件显示的:
2018/11/23 09:16:08 [WARN] yamux: frame for missing stream: Vsn:0 Type:1 Flags:4
StreamID:1 Length:0
2018/11/23 09:16:18 [WARN] yamux: frame for missing stream: Vsn:0 Type:1 Flags:4
StreamID:1 Length:0
client:
2018/11/23 09:13:42.000851 mux_client.go:78: use tls parent 188.131.xx.xx:33080
2018/11/23 09:13:42.011593 mux_client.go:137: client started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[1] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[2] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[3] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[4] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[5] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[6] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[7] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[8] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[9] started
2018/11/23 09:13:42.011593 mux_client.go:144: session worker[10] started
2018/11/23 09:15:10.141476 mux_client.go:78: use tls parent 188.131.xx.xx:33080
2018/11/23 09:15:10.150265 mux_client.go:137: client started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[1] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[2] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[3] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[4] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[5] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[6] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[7] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[8] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[9] started
2018/11/23 09:15:10.150265 mux_client.go:144: session worker[10] started
2018/11/23 09:15:37.191281 mux_client.go:440: stream 65cc2a7ba966a8dc28f4868fb1a8738d7226feff created
2018/11/23 09:15:37.255734 mux_client.go:468: default stream 65cc2a7ba966a8dc28f4868fb1a8738d7226feff released
@chmis8000 commented on GitHub (Nov 23, 2018):
这是第2楼的问题,server是xp,client、bridge是win7。 默认的tls协议,三端日志:
server:
2018/11/23 09:34:43.588620 mux_server.go:91: use tls parent 188.131.xx.xx:33080
2018/11/23 09:34:43.588620 mux_server.go:101: server id: a662dcbaeb86b8642cdb0042b600bdf6745b1aa8
2018/11/23 09:34:43.588620 mux_server.go:338: server on 0.0.0.0:7792
2018/11/23 09:34:47.043588 mux_server.go:407: session[8] created
2018/11/23 09:34:47.043588 mux_server.go:300: default stream a0f6a5109b3f85ec79e2b064d9185efddfc0be77 created
2018/11/23 09:34:47.093660 mux_server.go:328: default stream a0f6a5109b3f85ec79e2b064d9185efddfc0be77 released
bridge:
2018/11/23 09:34:20.810421 mux_bridge.go:137: tls bridge on [::]:33080
2018/11/23 09:34:28.943234 mux_bridge.go:201: client connection default-8 connected
2018/11/23 09:34:28.943234 mux_bridge.go:201: client connection default-6 connected
2018/11/23 09:34:28.981320 mux_bridge.go:201: client connection default-4 connected
2018/11/23 09:34:29.020382 mux_bridge.go:201: client connection default-3 connected
2018/11/23 09:34:29.027218 mux_bridge.go:201: client connection default-2 connected
2018/11/23 09:34:29.027218 mux_bridge.go:201: client connection default-1 connected
2018/11/23 09:34:29.035031 mux_bridge.go:201: client connection default-9 connected
2018/11/23 09:34:29.076046 mux_bridge.go:201: client connection default-5 connected
2018/11/23 09:34:29.076046 mux_bridge.go:201: client connection default-10 connected
2018/11/23 09:34:29.099484 mux_bridge.go:201: client connection default-7 connected
2018/11/23 09:34:41.456906 mux_bridge.go:168: server connection a662dcbaeb86b8642cdb0042b600bdf6745b1aa8 default connected
2018/11/23 09:34:41.457882 mux_bridge.go:300: select client : default-4
2018/11/23 09:34:41.457882 mux_bridge.go:310: stream a662dcbaeb86b8642cdb0042b600bdf6745b1aa8 -> default created
2018/11/23 09:34:41.502804 mux_bridge.go:337: default server a662dcbaeb86b8642cdb0042b600bdf6745b1aa8 stream released
client:
2018/11/23 09:34:28.645382 mux_client.go:78: use tls parent 188.131.xx.xx:33080
2018/11/23 09:34:28.666867 mux_client.go:137: client started
2018/11/23 09:34:28.666867 mux_client.go:144: session worker[1] started
2018/11/23 09:34:28.666867 mux_client.go:144: session worker[2] started
2018/11/23 09:34:28.666867 mux_client.go:144: session worker[3] started
2018/11/23 09:34:28.666867 mux_client.go:144: session worker[4] started
2018/11/23 09:34:28.666867 mux_client.go:144: session worker[5] started
2018/11/23 09:34:28.667843 mux_client.go:144: session worker[6] started
2018/11/23 09:34:28.667843 mux_client.go:144: session worker[7] started
2018/11/23 09:34:28.667843 mux_client.go:144: session worker[8] started
2018/11/23 09:34:28.667843 mux_client.go:144: session worker[9] started
2018/11/23 09:34:28.667843 mux_client.go:144: session worker[10] started
2018/11/23 09:34:41.459835 mux_client.go:440: stream a0f6a5109b3f85ec79e2b064d9185efddfc0be77 created
2018/11/23 09:34:41.503781 mux_client.go:468: default stream a0f6a5109b3f85ec79e2b064d9185efddfc0be77 released
@chmis8000 commented on GitHub (Nov 23, 2018):
以上日志的版本是 v6.3_20181015123005
,我测试 v6.5版本,故障一样的。
@snail007 commented on GitHub (Nov 23, 2018):
你传输的是不是敏感内容,目测被阻断,tcp等于裸奔。
@chmis8000 commented on GitHub (Nov 23, 2018):
不是敏感,
北京家里电脑的server端,与北京腾讯云主机的bridge和client端,
协议里面是TCP数据库链接。
裸奔TCP数据库,不用proxy是没问题的,
而用proxy三端的tls是没问题,但proxy三端TCP有问题。
@chmis8000 commented on GitHub (Nov 23, 2018):
我走tcp 用了 --c 压缩
主要是为了节省流量 + 多路复用保证长连接不断
所以默认的tls不打算用,浪费服务器流量+服务器CPU
而没有使用 proxy的 tcp二级代理 模式,是tcp二级代理 没有压缩,没有多路复用。我本来是正向通道,被迫用三端的反向代理实现。
@chmis8000 commented on GitHub (Nov 27, 2018):
确认是程序问题,不是公网拦截问题。我最新测试: 我本机与本机的虚拟机192.168.1.81测试:
本机:语句:
tls加密:proxy server -r ":7792@:1433" -P "192.168.1.81:1230" --c -C proxy.crt -K proxy.key
tcp不加:proxy server -r ":7792@:1433" -P "192.168.1.81:1230" --c -T tcp
虚拟机:第一个语句:
tls加密:proxy bridge -p ":1230" -C proxy.crt -K proxy.key
tcp不加:proxy bridge -p ":1230" -t tcp
虚拟机:第二个语句:
tls加密:proxy client -P "192.168.1.81:1230" --c -C proxy.crt -K proxy.key
tcp不加:proxy client -P "192.168.1.81:1230" -T tcp --c
如上,真实参数, tls模式,正常。 tcp模式,不通
@chmis8000 commented on GitHub (Nov 27, 2018):
bridge端错误:
2018/11/27 22:50:13 server connection fde050b752aa4c941ae4b76986794203dd0fd3e3 default connected
2018/11/27 22:50:23 [WARN] yamux: frame for missing stream: Vsn:0 Type:1 Flags:4
StreamID:1 Length:0
2018/11/27 22:50:23 server connection fde050b752aa4c941ae4b76986794203dd0fd3e3 default connected
2018/11/27 22:50:33 [WARN] yamux: frame for missing stream: Vsn:0 Type:1 Flags:4
StreamID:1 Length:0
是否yamux在tcp封包上处理有BUG?
@snail007 commented on GitHub (Nov 27, 2018):
目测tcp被干扰,全部使用本地网络,进行测试。