V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
heiher
V2EX  ›  科技

FSH - 开源的私有网络间 Linux 主机互访工具

  •  
  •   heiher · 2018-11-20 21:31:06 +08:00 · 1590 次点击
    这是一个创建于 2206 天前的主题,其中的信息可能已经有所发展或是发生改变。

    分享一个开源小项目,用于穿透 NAT,在私有网络间进行 Linux 主机互访,支持:

    1. Shell 终端 - 简单的 Shell 终端访问,类似 telnet
    2. TCP 端口转发 - 可转发任意 TCP 端口,被控端支持黑、单名单控制

    源代码

    使用示例

    1. Shell 终端
      # 被控端
      fsh -f 50.116.0.210
      
      # 主控端
      fsh 50.116.0.210/TOKEN
      
    2. TCP 端口转发
      # 被控端
      fsh -f -p 50.116.0.210
      
      # 主控端
      # 将被控端 127.0.0.1:22 映射至本地 2200
      fsh -p 2200:127.0.0.1:22 50.116.0.210/TOKEN
      
      # SSH 便捷模式
      # 配置
      vim ~/.ssh/config
      Host remote-hostname
      	ProxyCommand fsh -p 127.0.0.1:22 50.116.0.210/TOKEN
      
      # 访问
      ssh remote-hostname
      scp file remote-hostname:
      

    编译及详细使用方法

    开放服务器: 50.116.0.210

    如发现问题,请您发 Issue :)

    4 条回复    2018-11-21 12:03:42 +08:00
    wwqgtxx
        1
    wwqgtxx  
       2018-11-21 00:24:43 +08:00 via iPhone
    有打算支持 nat 打洞么
    heiher
        2
    heiher  
    OP
       2018-11-21 10:23:57 +08:00
    @wwqgtxx 如果能支持 P2P 模式应该会更好,但有点复杂,好像 TCP 协议的 NAT 打洞实现技术难度有点大,通用性也不好,而基于 UDP 的话又需要在应用层实现类似 TCP 的传输控制。
    wwqgtxx
        3
    wwqgtxx  
       2018-11-21 11:57:50 +08:00 via iPhone
    @heiher udp 传输控制成熟的方案很多,最简单的办法就是直接用原版的 kcp 协议
    heiher
        4
    heiher  
    OP
       2018-11-21 12:03:42 +08:00 via Android
    @wwqgtxx 感谢,我去看看 kcp 协议。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5904 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.