V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
a33291
V2EX  ›  问与答

有支持多用户同时远程且互相隔离的远程软件吗?

  •  
  •   a33291 · 246 天前 · 2989 次点击
    这是一个创建于 246 天前的主题,其中的信息可能已经有所发展或是发生改变。
    使用场景为希望多个用户能互相隔离的操作一个跳板机,互不影响

    目前,win 自带的 rdp 多用户同时使用仅在 server 系列支持,当然,这也是期望的效果.
    在消费级 os 上需要对 rdp 进行 patch 才支持多用户.

    然而,遇到一个特殊情况只能使用 http 代理对外进行访问.目前仅发现 todesk 可以设置 http 代理并被用于远程控制,但是这个虽然支持多人同时远程但是操作界面是共享的会互相影响.
    衍生如下想法
    1.wireguard:这个是否支持通过 http 代理进行对外提供服务?(vpn 后用自带的 rdp 多用户)
    2.softether:据我所知这个是不支持 http 代理的(vpn 后用自带的 rdp 多用户)
    3.todesk:支持 http 代理,但是多人同时使用互相影响
    4.其他?
    第 1 条附言  ·  246 天前
    统一感谢一下各位的建议和想法
    目标环境是一个严格的网络环境,所有机器的 ip 都是手动分配并和 mac 绑定,对于虚拟化方案(比如基于 hyper-v 或者 vmware 然后创建多个 guest os 实例的方案)我尚未测试过是否可行,预计可能会稍微卡一点,但是如果 guest os 共享 host 的网络出口而无需分配 ip(nat),那应该没问题

    guest 压力较小的估计就是 win7 或者一些 linux 版本,预计主机能承载 4 个左右
    第 2 条附言  ·  246 天前
    修正,虚拟桌面模式在多用户 todesk 操作时还是会互相影响
    目前唯一方案只有虚拟显示器可行,但是对于 todesk 来说多用户多屏是需要付费的 🤣
    33 条回复    2024-04-27 12:47:29 +08:00
    xtreme1
        1
    xtreme1  
       246 天前   ❤️ 1
    不在乎用户体验的话, 云桌面考虑不, VMware Horizon 之类的
    dode
        2
    dode  
       246 天前   ❤️ 1
    私有云虚拟化
    duanxianze
        3
    duanxianze  
       246 天前   ❤️ 1
    hyper-V 之类的虚拟机吧,hyper-V 纯 windows 效率还是很高的,90%以上
    gesse
        4
    gesse  
       246 天前   ❤️ 1
    你这个需求就相当于在一台电脑上插多个鼠标键盘,然后几个人同时操作 😅😅😅
    logic159
        5
    logic159  
       246 天前   ❤️ 1
    除了 rdp 和虚拟化,暂时还没想到其他办法
    iX8NEGGn
        6
    iX8NEGGn  
       246 天前 via iPhone   ❤️ 1
    挺多非 RDP 远程控制软件支持虚拟显示器的,然后每个用户使用一个虚拟显示器,看介绍是支持多用户相互隔离的。
    1145148964
        7
    1145148964  
       246 天前   ❤️ 1
    加一层 http 中转站难度应该小很多
    a33291
        8
    a33291  
    OP
       246 天前
    @gesse 和多套键鼠还是有一定区别,他们也是共享相同的控制界面,我期望是控制界面都是隔离的
    a33291
        9
    a33291  
    OP
       246 天前
    @iX8NEGGn 感谢提供信息,我去了解一下这个概念
    lltlo
        10
    lltlo  
       246 天前   ❤️ 1
    非 serverb 版本可以多用户同时远程登录啊: https://blog.csdn.net/qq_37592750/article/details/134911471
    我按照这个设置可以的。
    并且可以单独只远程一个 app ,也就是说,A 电脑没安装 VS2022 ,B 电脑安装了的,你可以在 A 电脑上只远程打开电脑 B 的 VS2022 ,图标会有一个小的远程标志,使用起来和本地一样,打开文件时也是访问的 B 电脑的本地文件。B 电脑这边呢,任务管理器的用户界面,也会显示一个远程用户。
    iX8NEGGn
        11
    iX8NEGGn  
       246 天前   ❤️ 1
    jtwor
        12
    jtwor  
       246 天前   ❤️ 1
    如果是 win rdp 有个扩展库,应该能解决系列限制问题。https://github.com/stascorp/rdpwrap
    flynaj
        13
    flynaj  
       246 天前 via Android   ❤️ 1
    rdp 多用户只是应用级别的,做不了你那个,你那个
    flynaj
        14
    flynaj  
       246 天前 via Android   ❤️ 1
    要隔离需要上虚拟机,虚拟机就可以全部隔离开了,不过资源要求更高,特别是内存。
    willamtang
        15
    willamtang  
       246 天前   ❤️ 1
    vdi 那个? citrix 好像退出了,就剩 VMware Horizon 了吧
    a33291
        16
    a33291  
    OP
       246 天前
    @lltlo 嗯,这个也就是我提到的需要 patch rdp,而且 patch 需要对应正确的 os 版本号,以及系统更新可能会导致 patch 失效.
    然后单独的应用远程那个概念应该是叫 RemoteApp,我个人用的很少
    a33291
        17
    a33291  
    OP
       246 天前
    @iX8NEGGn #11 想了一下应该基于虚拟显示器是可行的,前提是远程软件可以识别并认可这个虚拟显示器,这样 todesk 这种软件就让每一个用户切换不同的显示器就行了.

    https://github.com/nomi-san/parsec-vdd

    这个项目内有个表,列出了当前的虚拟显示器驱动,挺有用的
    a33291
        18
    a33291  
    OP
       246 天前
    @jtwor 之前用过这个但是系统更新可能会导致 patch 失效,同时这个方案最大的问题还是需要先解决前置限制,即需要先建立 vpn 环境才能让客户机过去,但是 vpn 软件又不支持通过代理进行通信
    a33291
        19
    a33291  
    OP
       246 天前
    @flynaj #14 对的,所以基于楼上的兄弟建议,觉得虚拟显示器是最佳方案
    ecloud
        20
    ecloud  
       246 天前   ❤️ 1
    nomachine
    stcQ2G13k9yxep40
        21
    stcQ2G13k9yxep40  
       246 天前 via iPhone   ❤️ 1
    强烈推荐使用 superrdp 这个插件,win10 就可以开启多用户隔离的远程会话。公司的一台服务器买了正版软件,为了让多个人同时使用,目前就是这个方案,稳定用了两年多了。
    jiangboyueplus
        22
    jiangboyueplus  
       246 天前 via Android   ❤️ 1
    windows 企业版可以支持多个用户同时登录 rdp ,无需任何的破解,官方直接支持的。当然数据这些都在一个机器的磁盘上。
    iX8NEGGn
        23
    iX8NEGGn  
       246 天前 via iPhone   ❤️ 1
    #17 虚拟显示器应该是行不通,这些软件支持的虚拟显示器只是用来进行单用户操作,在 todesk 中叫虚拟屏,你试一下就懂了。我没明白你的 http 代理需求是在服务端还是客户端,详细说下或许我能帮上忙,比如可以使用 Proxifier 或软路由等进行二级代理。
    nothingistrue
        24
    nothingistrue  
       246 天前   ❤️ 1
    多用户同时远程的前提是,多用户「多会话」操作系统,你要么 Windows Server ,要么 Linux ,要么虚拟化,Windows 普通版还不虚拟化,就不要想了。你这还是涉及到网络的跳板机,那虚拟化也基本可以排除了。
    a33291
        25
    a33291  
    OP
       246 天前
    @iX8NEGGn #23 我刚刚使用虚拟显示器+todesk 的形式尝试了一下,发现还是使用不便.
    的确可以通过 todesk 切换所在显示器,但是一些打开的程序(比如 explorer,还是在另一个屏上)切不到所在显示器上

    但是测试的过程中发现直接使用 windows 自带的虚拟桌面功能就可以了,程序也是相互隔离不影响 :)
    a33291
        26
    a33291  
    OP
       246 天前
    @iX8NEGGn #23 我之前试图在跳板机安装 softether,并配合 proxifier 试图让 softether 走代理出去,发现不可行
    a33291
        27
    a33291  
    OP
       246 天前
    @nothingistrue 是的,目前测试发现直接用 win 自带的虚拟桌面功能就满足要求了
    nothingistrue
        28
    nothingistrue  
       246 天前   ❤️ 1
    @a33291 虚拟桌面跟多屏(虚拟显示器),这隔离的不是环境,而是 Windows 任务栏+任务视图。不完美——桌面文件、开始菜单这都是公用的,有限制——应用程序本身要支持多窗口,但你的场景下差不多能用了。
    030
        29
    030  
       246 天前
    用用户名区分操作空间
    Xiangliangliang
        30
    Xiangliangliang  
       246 天前 via Android   ❤️ 1
    看的迷迷糊糊的,用啥 rdp 直接起个 vpn 不就行了,如果常规端口不开放,就用 ping 隧道或者 websocket (比如 wssock )隧道,至于 http 代理问题,跳板机用 Proxifier 代理想访问的目标端口就行了,是这个意思么,被管理员找过来不管我事呀
    a33291
        31
    a33291  
    OP
       245 天前
    @nothingistrue #28 最后还是发现不行,对于 todesk 之类的远控软件,切换虚拟桌面时也会同时影响所有正在远程的用户
    a33291
        32
    a33291  
    OP
       245 天前
    @Xiangliangliang 抱歉我这表达能力还有待提高😂

    目前这个跳板机对外的 ping 都是不通的,softether 的确有一个选项通过 icmp 或者 dns 隧道透传,但是很遗憾都被禁了.
    比如浏览器,微信,todesk 等等都必须设置为给定的 http 代理才能访问公网,如果可以装上 vpn 的话,就可以将系统转为 server 然后新建多个用户的形式直接用 rdp 进行隔离,这是最理想的

    启动 vpn 的尝试流程如下
    1.在跳板机安装 softether
    2.通过 frp 将 vpn 的服务端口穿透到公网机器
    3.vpn 客户端连接公网机器穿透之后的端口

    在步骤 2 中,无法将端口穿透出去,因为出去的协议只允许 http,直接对外的 tcp 连接(ssh ping 均失败)

    proxifier 这个软件无法代理 softether 的进程,暂时不清楚为什么,其他进程都没问题
    Xiangliangliang
        33
    Xiangliangliang  
       245 天前 via Android
    @a33291 frp 的 c/s 之间通信现在支持 ws,wss 协议的,ws 穿透一下就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   942 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:21 · PVG 06:21 · LAX 14:21 · JFK 17:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.