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

请教下服务器通讯方式

  •  
  •   Devopsre · 2018-09-05 09:29:18 +08:00 via iPhone · 3916 次点击
    这是一个创建于 2272 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前场景是有一批服务器 全是内网 没有公网 ip。但是都可以上网,我要用什么开源软件或者代码实现呢。考虑过 saltstack 但是没公网 ip 很难办。如果内网穿透 机器太多成本又大了
    21 条回复    2018-09-05 19:53:46 +08:00
    mhycy
        1
    mhycy  
       2018-09-05 09:37:24 +08:00
    ZeroTier
    lauix
        2
    lauix  
       2018-09-05 09:38:35 +08:00
    saltstack 基于 ZMQ 实现的,没公网服务器用不了。
    如果想控制只能弄台服务器有公网 IP 的。
    建议看看一些云平台的服务,比如:百度 IOT 等等服务,自己查去。
    kaneg
        3
    kaneg  
       2018-09-05 09:49:22 +08:00 via iPhone
    在公网找一台机器部署 VPN,然后内网机器都连 VPN,就可以在公网机器上控制虚拟局域网内任意一台内网机器了
    andrewhxism
        4
    andrewhxism  
       2018-09-05 09:51:45 +08:00
    ZeroTier +1
    flyingfz
        5
    flyingfz  
       2018-09-05 10:11:09 +08:00
    你的 需求 是什么?

    是想 在内网里的服务器上部署网站 /系统,然后需要暴露到公网吗?
    liangweijia6000
        6
    liangweijia6000  
       2018-09-05 10:17:47 +08:00
    实现啥?
    Devopsre
        7
    Devopsre  
    OP
       2018-09-05 11:20:09 +08:00 via iPhone
    @flyingfz 需求是公网控制机房 也不叫机房 就是一堆没有公网 ip 的机器 控制它
    Devopsre
        8
    Devopsre  
    OP
       2018-09-05 11:21:27 +08:00 via iPhone
    @kaneg 有点道理 有推荐的 vpn 吗? openvpn ?
    Devopsre
        9
    Devopsre  
    OP
       2018-09-05 11:21:39 +08:00 via iPhone
    @mhycy 谢谢 我看看
    barble
        10
    barble  
       2018-09-05 11:22:32 +08:00
    留一台机器做跳板机,把这台机器映射出去就行了
    qqqasdwx
        11
    qqqasdwx  
       2018-09-05 11:33:37 +08:00
    少量的话 FRP,大量的话就 VPN 吧
    ywgx
        12
    ywgx  
       2018-09-05 11:37:06 +08:00
    https://xabcloud.com/#/win-win 你需要这个管理,支持内网部署
    Devopsre
        13
    Devopsre  
    OP
       2018-09-05 12:13:16 +08:00
    @mhycy 这网站登录挂了 == 难道是我的锅?
    newghost
        14
    newghost  
       2018-09-05 12:34:44 +08:00
    这是最近碰到的第三个关于内网穿透的问题了

    0. 内网穿透软件通常只需要安装一台服务器

    1. 你可以开放一台服务器的 SSH,然后用这台 SSH 连接其他机器即可。

    2. 如果要直连每一台机器,你可以更改穿透目标服务器的配置,指定要穿透的 IP 即可。一般默认 127.0.0.1 比如你改成 192.168.0.110

    花生壳就可以实现类似功能,不过价格略贵。找免费的已经不太可能了,除非你自己搞个云服务器布署 ftp。

    我们开发的网盘也有这个功能,每月会一定免费的 http 流量,已经有部分淘宝用户在用了,此外还可以外网访问知识管理、SVN、Git 等服务。

    外网访问设置: http://onceair.com/page/view/public-internet-access
    newghost
        15
    newghost  
       2018-09-05 12:35:37 +08:00
    更正:ftp => frp
    mhycy
        16
    mhycy  
       2018-09-05 13:45:50 +08:00
    @Devopsre 你需要梯子
    shynome
        18
    shynome  
       2018-09-05 14:29:06 +08:00
    如果有一台一直运行公网服务器 `host_public` 的话, 可以这么弄

    把一台内网服务器的 `ssh 端口` 映射到 `host_public` 的本地端口上, 称为 `jump_host`
    ```sh
    ssh -NT -R 127.0.0.1:233:127.0.0.1:22 public_host
    # -NT 表示只做转发
    # -R 233:127.0.0.1:22 表示本地的 22 端口转发到公网服务器的 127.0.0.1:233 端口
    # 这个进程用进程管理工具保证运行
    ```

    ssh config 配置如下
    ```config

    Host host_public
    HostName ip_of_host_public

    Host jump_host
    HostName 127.0.0.1
    Port 233
    ProxyCommand ssh -W %h:%p host_public

    # local_* 表示以 local_ 开头定义的 host 通过 jump_host 去连接
    Host local_*
    ProxyCommand ssh -W %h:%p jump_host

    Host local_docker_manger
    HostName 192.168.100.32

    ```

    ssh 连接内网服务器中的 `docker_manager` 主机
    ```sh
    ssh local_docker_manger
    ```
    ssh 使用 socks5 代理访问内网应用
    ```sh
    ssh -NT -D 1080 local_docker_manger
    ```

    参考链接:
    - https://cherrot.com/tech/2017/01/08/ssh-tunneling-practice.html
    - https://jin-yang.github.io/post/ssh-proxy.html


    v2 的回复不支持 markdown, 更友好的格式看这里:
    https://gist.github.com/shynome/d1a6bf5c68b4504c21e4ae83add97eda
    Devopsre
        19
    Devopsre  
    OP
       2018-09-05 14:56:38 +08:00
    @mhycy 确实是挂了 我这梯子很多的 502 状态 ==
    mhycy
        20
    mhycy  
       2018-09-05 14:58:29 +08:00
    @Devopsre
    https://my.zerotier.com/
    你有没有找错地方? HKBN 梯子验证通过可登陆。。。
    kaneg
        21
    kaneg  
       2018-09-05 19:53:46 +08:00 via iPhone
    @Devopsre pptp
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3046 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:50 · PVG 21:50 · LAX 05:50 · JFK 08:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.