Devopsre
V2EX  ›  问与答

udp 转发

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

    https://segmentfault.com/a/1190000005804209
    cpstar
    cpstar
    Jan 12, 2021
    8
    哦,那我理解应该是一票打洞软件都无法安装,那怎么实现 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
    Devopsre
    OP
    Jan 12, 2021
    9
    @cpstar 是的 明白了 谢谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   905 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:20 · PVG 03:20 · LAX 11:20 · JFK 14:20
    ♥ Do have faith in what you're doing.