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

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

  •  
  •   L0L · 2023-05-04 14:08:11 +08:00 · 3371 次点击
    这是一个创建于 574 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景说明:

    目前楼主所在下属子公司有一个内部 子公司网络 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  
       2023-05-04 14:33:31 +08:00 via Android
    用 nps
    WindProtect
        2
    WindProtect  
       2023-05-04 14:33:43 +08:00
    zerotier
    xjiewu
        3
    xjiewu  
       2023-05-04 14:34:19 +08:00
    frp
    anytk
        4
    anytk  
       2023-05-04 14:35:25 +08:00
    IP1 跑 frps ,ip2 或子网一台设备跑 frpc
    optional
        5
    optional  
       2023-05-04 14:37:35 +08:00 via iPhone
    本机,ssh 隧道掩耳盗铃一下,frp 之类感觉不合规
    shanyuhai123
        6
    shanyuhai123  
       2023-05-04 14:46:06 +08:00
    clf
        7
    clf  
       2023-05-04 14:49:21 +08:00
    zerotier ,风险是可能不符合安全规定,毕竟需要两边都跑软件。

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

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

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

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

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

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

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

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

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

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

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

    你的描述,不是说 ip1 可以 ssh 到 ip2 上吗?
    ety001
        46
    ety001  
       2023-05-06 21:48:01 +08:00
    我理解你这句话的描述了。。。。你说的是 ip1 可以 ssh 连接。。。。

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