RDP 协议是否可以在 3389 端口实现端口复用?

2024-07-25 19:26:15 +08:00
 eBMm8zIi0Zq3

把内网的多个 3389 端口转发的公网 3389 端口,如何通过不同的域名连接上不同的机器?

就像 nginx 反向代理一样,但是是 rdp 协议。是否有方法实现?或者存在可能性?

问了 gpt ,他说 rdp 客户端是先把域名解析成 IP ,后续请求只用 IP ,不再传输域名了。

3035 次点击
所在节点    Windows
13 条回复
ysc3839
2024-07-25 19:29:42 +08:00
可以,因为 RDP 协议是基于 TLS/DTLS 的,可以通过 SNI 来区分不同主机。
xqzr
2024-07-25 19:34:56 +08:00
@ysc3839 首包好像不是 TLS
0o0O0o0O0o
2024-07-25 19:47:26 +08:00
SssaltedFish
2024-07-25 19:50:05 +08:00
关键词:RD 网关
ysc3839
2024-07-25 19:53:32 +08:00
@xqzr @0o0O0o0O0o 多谢指正
eBMm8zIi0Zq3
2024-07-25 20:03:06 +08:00
@SssaltedFish 那如果是使用内网穿透到服务器的高位端口,这些内网的机器处于不同的内网,RD 网关还能使用吗?
nekoneko
2024-07-25 23:17:03 +08:00
rdp 协议也是基于 tcp 的啊, 直接 nginx 里面配 upstream 就行了呗
yeqizhang
2024-07-26 00:30:25 +08:00
@nekoneko 那也反向代理不了多个吧……我之前找过没找到办法
hez2010
2024-07-26 00:31:33 +08:00
@nekoneko 其实 rdp 是 tcp 和 udp 混合使用的,虽然也支持只走 tcp 。
yinmin
2024-07-26 00:59:44 +08:00
stunnel 使用 SNI 能把多个 tcp 端口聚合到 1 个 tcp 端口。但是客户端也需要安装 stunnel ,根据 sni 把聚合端口拆到 127.0.0.1 的不同端口供 rdp 客户端连接。
R4rvZ6agNVWr56V0
2024-07-26 01:03:54 +08:00
写个 socks5 代理服务器,根据 remoteAddr 做转发规则就行了。这样 rdp 客户端需要走 socks5 代理。
realJamespond
2024-07-26 09:48:12 +08:00
通过防火封墙把特定的 ip 转发到特定的 ip
limobai
2024-07-26 10:08:07 +08:00
https://www.v2ex.com/t/1035681
我觉得这个方法不错。还有没有更简单的不清楚。
至于你说的使用内网穿透到服务器的高位端口,这些内网的机器处于不同的内网。
我觉得,一台内网机器端口绑定公网机器的一个端口即可。就是一台公网机器可以绑定多个内网机器。这个直接内网穿透( frp )就行了。反正计算机都是端口对端口通信的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1060109

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX