如何使用反向代理结合二级域名访问内网远程桌面? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
realchang
V2EX    宽带症候群

如何使用反向代理结合二级域名访问内网远程桌面?

  •  
  •   realchang 2024-09-21 12:57:02 +08:00 1650 次点击
    这是一个创建于 472 天前的主题,其中的信息可能已经有所发展或是发生改变。

    内网有多台主机有远程桌面需求,但是目前只能在网关上开放多个端口来实现访问。我想只在网关上开放 3389 或者其他指定端口,使用反向代理解析转发 rdp1.exmple.comrdp2.exple.com 等二级域名来区分内网不同主机。开头我是想用 nginx 来实现,结果发现不支持 rdp 协议的域名解析。各位高人,我想请教下有何种方式可以实现我的需求?谢谢!

    5 条回复    2024-09-23 02:21:18 +08:00
    pingdog
        1
    pingdog  
       2024-09-21 13:05:36 +08:00   1
    layer 4 都是一个 IP 一个端口,和早期 HTTPS 协议一样,后面出现 SNI 才支持单 IP 多域名

    在 host 增加多个 IP ,nginx 每个 listen 用不同 IP ,转发到不同 upstream ,域名解析到 listen IP 上
    povsister
        2
    povsister  
       2024-09-21 13:07:45 +08:00   2
    首先,rdp 是 L7 协议,运行于 tcp 、udp 之上。
    所以,nginx 只有 stream module 可以处理,且一般只能处理 sni 和 ALPN ,rdp 并不运行在标准 TLS 协议下,所以,应该没啥用。

    其次,域名,在这个 case 下,只负责解析实际 IP 地址,rdp 客户端会直接使用解析后 ip+3389 端口访问,此访问中,理论不携带任何域名信息。nginx stream module 自然无用。

    综上,仅通过不同域名+同一个 IP ,不可能做到根据域名分流至不同 rdp 目标。

    提示,研究 RDP gateway ,用于解决你 rdp 分流问题
    realchang
        3
    realchang  
    OP
       2024-09-21 13:54:12 +08:00
    @fuzzsh
    @povsister
    非常感谢解答!我会尝试下各位大佬的建议。
    ysc3839
        4
    ysc3839  
       2024-09-23 02:07:29 +08:00
    之前我以为 RDP 是基于 TLS 的,但是实际上不是标准 TLS ,连接时会有其他握手包,之后才使用 TLS 加密,所以不能用 nginx 反代。
    不过也许可以预先处理前面的握手包,再反向代理。不确定有没有现成的项目。
    ysc3839
        5
    ysc3839  
       2024-09-23 02:21:18 +08:00
    刚才简单抓包看了下,连接后会先握手,服务端会返回要求输入密码,客户端输入密码后确定才会建立 TLS 连接,此时是有 SNI 信息的。所以理论上是能实现 RDP 的 SNI 反向代理。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2773 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 00:02 PVG 08:02 LAX 16:02 JFK 19:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86