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

两个子网之间的访问问题,求 v 站大佬们看看是否有软件可以实现呢?

  •  
  •   L0L · 358 天前 · 3044 次点击
    这是一个创建于 358 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景说明:

    目前楼主所在下属子公司有一个内部 子公司网络 B,总公司有统一 总公司网络 A

    我在 总公司网络 A 上有一台测试机器 IP1 ,该机器我可以通过 ssh 方式进行登录使用,同时也可以使用 ssh tunnel 进行报文转发;

    子公司网络 B 内,我自己有一台机器 IP2 为,我启动了一台内部共享的 http 服务器(运行在 Linux 的开源机器);

    IP1总公司网络 A)机器尝试访问 IP2子公司网络 B)服务时,发现无法找到该机器,IP1 应该都无法找到 IP2 的路由位置;


    目标:

    IP1总公司网络 A)机器上服务访问到 IP2子公司网络 B)的对外的 http 服务


    是否有软件可以实现这种想法呢?

    补充说明下:

    本身是内部分享服务器,所以不可能协调网络相关的同事来进行,所以只可能考虑在现有的情况下用软件来实现。

    47 条回复    2023-05-08 15:37:20 +08:00
    mohumohu
        1
    mohumohu  
       358 天前 via Android
    用 nps
    WindProtect
        2
    WindProtect  
       358 天前
    zerotier
    xjiewu
        3
    xjiewu  
       358 天前
    frp
    anytk
        4
    anytk  
       358 天前
    IP1 跑 frps ,ip2 或子网一台设备跑 frpc
    optional
        5
    optional  
       358 天前 via iPhone
    本机,ssh 隧道掩耳盗铃一下,frp 之类感觉不合规
    clf
        7
    clf  
       358 天前
    zerotier ,风险是可能不符合安全规定,毕竟需要两边都跑软件。

    两边使用 SD-WAN 路由器设备组网(这个一般是标准做法,但应该需要信息部门配合)
    dnsaq
        8
    dnsaq  
       358 天前
    routeros ,或者楼上推荐的 headscale 、zerotier 这类开源的。frp nps 这类映射非组网的除外。也可以试试 tinc 。

    实现比较简单主要是有两边路由器的权限,这样方便加路由走旁路。
    dnsaq
        9
    dnsaq  
       358 天前
    没路由器权限可以自建旁路,不过需要手动修改计算机网关。最好还是和网络的同事协调一下,至少也要让他们知晓一下,避免不必要的安全问题。
    JayZXu
        10
    JayZXu  
       358 天前
    这种很明显应该是有防火墙
    按你的描述应该只开放了 A 的对外 22 端口

    这种情况在 B 用 ssh 隧道应该是最简单的,其他的方案肯定涉及到防火墙的修改

    不过 ssh 的长连接也很容易被扫出来,风险太大了····
    hahasong
        11
    hahasong  
       358 天前
    让运维在网关上加上路由就好了
    githmb
        12
    githmb  
       358 天前
    两个子网咋访问?要么拉根网线连起来,要么都走公网中转
    jeesk
        13
    jeesk  
       358 天前
    iptable 增加路由?
    tool2d
        14
    tool2d  
       358 天前
    @githmb 感觉总公司和子公司应该不在一个地方,流量不大的话,只能走公网中转了。

    也许有内部 VPN 可以用,但是要网管权限的,不开又走不了。
    alimasida
        15
    alimasida  
       358 天前
    这种机器通外网么,应该不能通过公网中转吧,如果不通公网的话,可以试试 53 端口能不能连上公网,之前在一家公司就是,实际上应该不能访问外网的,但是防火墙放行了外网的 53 端口,那么就可以在 53 上搭建代理啥的。
    hicdn
        16
    hicdn  
       358 天前
    在你能访问 IP2 的网络里,执行 ssh ip1 -R 127.0.0.1:12345:IP2:80 ,即可在 IP1 上通过 127.0.0.1:12345 访问 IP2 的 80
    defunct9
        17
    defunct9  
       358 天前
    ovpn 就完事
    hahiru
        18
    hahiru  
       358 天前
    frp
    zerotier
    tailscale
    都可以解决。
    dinghmcn
        19
    dinghmcn  
       358 天前
    不要瞎搞,让公司开 VPN
    coefuqin
        20
    coefuqin  
       358 天前
    datou
        21
    datou  
       358 天前
    如果两台机子都能访问 Internet

    在 IP2 机上部署 cf tunnel 是最简单的方法,缺点就是得设置好 http 访问权限

    其次就是两台机子加入同一个 zt 网络

    当然,无论何种方案都涉及到流量出境的问题,得确定是否符合公司的安全规定
    yinmin
        22
    yinmin  
       358 天前 via iPhone
    在企业里,最正确的方法是向公司提出申请要求开通子公司 B 的 vpn 远程拨入权限,然后 vpn 进 B 公司进行资源访问。纯技术手段很多,不建议做。曾经某米公司一员工贪图方便搞了 frp 远程访问公司电脑,导致黑客入侵,这个员工直接进派出所的。
    yinmin
        23
    yinmin  
       358 天前 via iPhone
    黑产扫肉鸡很成熟,常见的配置不当、常见漏洞都是全自动化入侵的,一层一层倒卖有价值的肉鸡。没有互联网的网管经验更不能碰了,否则可能是分分钟被黑。
    L0L
        24
    L0L  
    OP
       358 天前
    @mohumohu
    @WindProtect
    @xjiewu
    @anytk
    @clf
    @dnsaq
    @hahiru
    谢谢各位大佬,这几个软件之前完全没听过,我打算去看一看了解下,再次感谢各位老哥指明道路;

    @dinghmcn
    @yinmin
    谢谢两位老哥;公司对网络的限制较为严格,而且违规处罚确实严格,还有开源软件使用规范,用之前会先去看看规章,了解下是否可以使用;

    不好意思,回复晚了,感谢各位 V 友的回帖。
    L0L
        25
    L0L  
    OP
       358 天前
    @optional
    @JayZXu
    目前的话,IP1 机器无法找到这个 IP2 地址,因为是在不同的子网内。我尝试在 IP2 启用了 sshd 服务,但是实际是无法打开一个从 IP1 -> IP2 的 ssh 的访问通路。
    L0L
        26
    L0L  
    OP
       358 天前
    @githmb
    @tool2d
    是的,两个公司不在一个地方,实际现在的访问关系是专线网络,无法访问到公网的。
    ety001
        27
    ety001  
       358 天前
    16L 正解。
    L0L
        28
    L0L  
    OP
       358 天前
    @ety001
    16L 的方式,目前找不到 IP2 的信息,这个 ssh 的隧道无法建立;
    已经测试过了,方案不太可行。
    optional
        29
    optional  
       358 天前 via iPhone
    @L0L 用你的本机中转
    L0L
        30
    L0L  
    OP
       358 天前 via Android
    @optional 这个可行,老哥有什么方案吗?
    optional
        31
    optional  
       358 天前 via iPhone
    @L0L ssh ?
    deorth
        32
    deorth  
       357 天前 via Android
    你是 IT 吗? 不是 IT 就别碰这种东西
    fackVL
        33
    fackVL  
       357 天前 via iPhone
    子网段可以访问到上级网段,上级访问不到下级的,需要在主网路由器上设置路由表。设置不了的话,就把你分享的内容搭在上级网络那台机器上(等于没说。实在不行搞个花生壳绕一下公网?(速度慢
    duaoxiao
        34
    duaoxiao  
       357 天前
    在 IP1 上建立 SSH 隧道
    oneisall8955
        35
    oneisall8955  
       357 天前 via Android
    不用额外软件,ssh 就行,看看 16L
    L0L
        36
    L0L  
    OP
       357 天前
    @deorth 是 IT 的

    @optional
    @duaoxiao
    @oneisall8955
    嗯嗯,ssh 的方式目前是尝试了,失败了;
    应该是 33L 的老哥说的这个问题。目前无法去改路由表,这东西不在维护范围内,有别的职能部门维护
    humbass
        37
    humbass  
       357 天前
    @L0L 这种情况
    - 无论如何都需要一个公网机器做中转
    - 另外一种选择是使用免费的 cloudflare 隧道服务,每个月有一定的免费额度
    optional
        38
    optional  
       357 天前 via iPhone
    @L0L 在本机建立 ssh 反向隧道
    gavin6688
        39
    gavin6688  
       357 天前
    1.最正统的做法就是两边 VPN,这个找运维或者第三方都能做到,没多少钱,无非就是一个路由器硬件的投入
    2.骚操作,frp 这类的中转网络,这一般不符合内部的各种安全审计,临时用下还行,多了,这个后面出了问题都是自己的锅
    peasant
        40
    peasant  
       357 天前
    frp 确实好用,就是之前在公司用被检测出来了,搜了一下检测原理,然后自己重新编译 frp 把里面的关键字都改了,再加了 tls ,然后就没检测出来了,端口都是限制指定 IP 访问的,在公司自己悄悄用。
    fortitudeZDY
        41
    fortitudeZDY  
       357 天前 via Android
    纯软件的话,就用 tailscale ,装到这两台机器上,也可以用我做的定制版 xedge 。硬件部署起来还是略微复杂点
    xiaochong2020
        42
    xiaochong2020  
       357 天前
    openvpn frp 都可以
    broeeee
        43
    broeeee  
       357 天前
    看网络有没路由,一般来说一个公司的话,虽然子网不通,因该网关上是有路由的,放行一下 ACL 即可。这个走申请+工单吧
    huyiwei
        44
    huyiwei  
       357 天前
    看看 openvpn 吧,可以异地组网,我博客有写教程: https://www.vsay.net/tag/OpenVpn
    ety001
        45
    ety001  
       356 天前
    > 我在 总公司网络 A 上有一台测试机器 IP1 ,该机器我可以通过 ssh 方式进行登录使用,同时也可以使用 ssh tunnel 进行报文转发;

    你的描述,不是说 ip1 可以 ssh 到 ip2 上吗?
    ety001
        46
    ety001  
       356 天前
    我理解你这句话的描述了。。。。你说的是 ip1 可以 ssh 连接。。。。

    如果是两个子网不互通,要么公司网关改路由表,要么借助公网中转。无论哪个方案都要找网管,尤其是第二个方案。
    L0L
        47
    L0L  
    OP
       354 天前
    @ety001 回复晚了,已经找到解决方案了;因为我从 ip2 能访问到 ip1 ,公司是专线网络,所以网络是开通的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2861 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:11 · PVG 23:11 · LAX 08:11 · JFK 11:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.