Devopsre
V2EX  ›  问与答

udp 转发

  •  
  •   Devopsre · Jan 12, 2021 · 2198 views
    This topic created in 1950 days ago, the information mentioned may be changed or developed.

    我有两个端 一个发送一个接受 不过没有公网 IP,我手上有个 ecs 服务器 ,A 服务器推送 udp 到 ecs,B 服务器从 ecs 拉去 udp 流量 请问如何实现? 谢谢

    9 replies    2021-01-12 14:01:40 +08:00
    pelloz
        1
    pelloz  
       Jan 12, 2021
    用 frp 做内网穿透
    https://github.com/fatedier/frp
    Devopsre
        2
    Devopsre  
    OP
       Jan 12, 2021
    @pelloz AB 不能架设 frp 这是前提
    cpstar
        3
    cpstar  
       Jan 12, 2021
    @Devopsre 谁让你 AB 架 frp 了,ecs 做 frps,B 做 frc,frpc 连接 ecs 的 frps,这样相当于 ecs 的某个端口代理了 B 的 UDP 端口,然后 A 往 ecs 的某个端口推 UDP,相当于 B 收取 UDP
    Devopsre
        4
    Devopsre  
    OP
       Jan 12, 2021
    @cpstar 误会了 AB 不能装 frp 客户端
    MeteorCat
        5
    MeteorCat  
       Jan 12, 2021 via Android
    可以看看 tinc,我记得这个可以挂个虚拟网卡搭建虚拟内网
    MeteorCat
        6
    MeteorCat  
       Jan 12, 2021 via Android
    ab 什么都不能装吗?什么都不能装就很麻烦了
    Puteulanus
        7
    Puteulanus  
       Jan 12, 2021
    ssh 和 socat 能用吗,两头用 socat 做 tcp 和 udp 的互转,走 ssh 的 tcp 端口转发,把 B 的 udp 端口监听转发到 ecs 上?

    https://segmentfault.com/a/1190000005804209
    cpstar
        8
    cpstar  
       Jan 12, 2021
    哦,那我理解应该是一票打洞软件都无法安装,那怎么实现 B 从 ecs 上 UDP 呢?
    B 不在公网,B 收 UDP,所以 B 显而易见是个服务器端,那让 ecs 找 B,绝对找不到啊。于是,就得把 B 和 ecs 的绝对互换,B 做客户端,ecs 做服务器端,ecs 上写程序收 A 的 UDP 并且缓存起来,B 去(专门)读 ecs 的缓存。
    那问题来了,如果 B 能变服务器端为客户端,也就是能操作 B 机器,那也就是说针对 frp 做了限制,于是不能用 frp ?
    这一套逻辑,我没把它形成自洽。
    再进一步说,不能做 frp,还有其他打洞软件。。。
    最不济,B 往 ecs 开 ssh tunnel
    Devopsre
        9
    Devopsre  
    OP
       Jan 12, 2021
    @cpstar 是的 明白了 谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 11:32 · PVG 19:32 · LAX 04:32 · JFK 07:32
    ♥ Do have faith in what you're doing.