公司内网如何访问阿里云内网? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
thehorizon
V2EX    问与答

公司内网如何访问阿里云内网?

  •  
      thehorizon 2022-05-31 20:12:03 +08:00 2519 次点击
    这是一个创建于 1308 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们希望公司内网( 10.0.0.0/8 )能够访问 阿里云内网( 172.16.0.0/12 ,100.64.0.0/10 )实现连通。 这样可以关闭服务器的外网端口提高网络的安全性。

    目前的解决方案是在公司出口路由(命名为 Router01 ), 以及某一台云主机(命名为 ECS01 )上面配置了 Wiregaurd 通过 NAT 方式实现阿里云的访问。

    大致的拓扑结构如下

    公司内网( 10.0.0.0/8 ) => Router01 =Wireguard=> ECS01 => 172.16.0.0/12 或 100.64.0.0/10

    目前可以做到 10.0.0.0/8 访问 172.16.0.0/12 , 但无法访问 100.64.0.0/10 网段的主机。

    已知如下信息:

    1. 172.16.0.0/12 为 ECS 主机网段,而 100.64.0.0/10 为阿里云内部服务的网段(比如容器镜像服务,OSS 服务等等)。
    2. 我们在配置的时候对二者并没有刻意区分, 但一个网段可以访问一个不行。
    3. ECS01 这台接入的主机可以正常访问 100.64.0.0/10 网段,ping 是通的
    4. 公司内网主机 ping 100.64.0.0/10 不通, 但是在 ECS01 上面 tcpdump 抓包可以看见正常的请求以及响应包

    请问可能是什么原因导致的?

    第 1 条附言    2022-06-01 19:27:06 +08:00
    感谢各位大佬的帮助, 统一回复一下,问题 已经找到了。

    大致的连接方式如下:
    公司内网( 10.0.0.0/8 ) => Router01 =Wireguard=> ECS01 => 172.16.0.0/12 或 100.64.0.0/10

    我们是在 ECS01 上面 SNAT , 因此不需要配置路由表。
    根据抓包的结果,100 网段有一部分数据包明确标注禁止分片( Don't Fragment ), 然而 WG 此时会报错 Destination Unreachable ( Fragmentation needed )。


    这就会导致一些诡异的问题, 比如有时候 telnet 可以连接, 一旦发起 https 请求就失败了。

    总结:问题出在 MTU 上面
    11 条回复    2022-06-01 19:22:46 +08:00
    cpstar
        1
    cpstar  
       2022-05-31 20:17:04 +08:00
    不是 ali ,别的网络结构,使用了 GRE 隧道
    sujin190
        2
    sujin190  
       2022-05-31 20:53:05 +08:00
    路由表都配置了么?公司内网是你们控制的所以可以在网关统一配置路由表,但是阿里云这边不行了,除非你们在每台机器上都设置路由表,否则除了搭建 Wireguard 的机器其他都通不了,ecs 还好,rds 这种就完全不行了

    另一种配置就是设置 nat ,源地址重写,Router01 出 Wireguard 网卡时重写来源地址为 Wireguard 网卡 ip ,ECS01 来自 Wireguard 的重写源地址为 ECS01 阿里云给的内网 ip ,这样就可以无需设置路由表就可以从公司访问阿里云所有网段了,从阿里云访问公司内网则倒过来设置即可

    另外估计买阿里云提供的 vpn 服务估计就可以靠路由表配置来完成了
    s609926202
        3
    s609926202  
       2022-05-31 21:21:25 +08:00 via iPhone
    zerotier 组个网
    thehorizon
        4
    thehorizon  
    OP
       2022-05-31 22:05:00 +08:00 via iPhone
    @sujin190 我们就是在 ECS01 上面配置的 NAT 。按照道理只要 ECS01 可以访问 100 的地址,那么隧道也可以访问 rds 。

    我们在公司内网 ping oss 内网 ip ( 100 开头的)在 ECS01 上面抓包,看到的现象也是 NAT 成功了

    可奇怪的是这个包就是回不到公司内网
    sujin190
        5
    sujin190  
       2022-05-31 22:41:43 +08:00 via Android
    @thehorizon 那估计还是 nat 配置的问题,否则不大可能回不来,nat 之后 100 的网断也不能知道你来自隧道的吧
    luoshengdu
        6
    luoshengdu  
       2022-05-31 22:54:39 +08:00
    @thehorizon 你可以反过来试试, [100.64.0.0/10 为阿里云内部服务的网段(比如容器镜像服务,OSS 服务等等) ] 这些机器上面 ping 到你的公司内网

    我感觉是 100.64 的远端(阿里)那边收到了 ping 包,回不来。 就是远端的过来公司的路由有问题
    nealwx
        7
    nealwx  
       2022-05-31 23:06:06 +08:00 via Android
    听起来是阿里服务回来的路由问题,因为阿里服务不知道 10.x.x.x 是你本地服务器,这边要在你的 172.16.x.x 上给 100.64.x.x 做一层 nat 才行
    yaoyaomoe
        8
    yaoyaomoe  
       2022-05-31 23:08:28 +08:00 via iPhone
    ecs01 上面有没有配置公司网段 ip 的路由?
    vmebeh
        9
    vmebeh  
       2022-05-31 23:18:27 +08:00 via iPhone
    ecs01 上 wg 接口开了 forward 和 masquerade 吗
    killva4624
        10
    killva4624  
       2022-06-01 10:29:57 +08:00
    以前用过阿里云的 IPsec VPN ,楼主可以考虑下。
    https://www.alibabacloud.com/help/zh/vpn-gateway/latest/overview-of-ipsec-vpn
    thehorizon
        11
    thehorizon  
    OP
       2022-06-01 19:22:46 +08:00
    @killva4624 太贵了, 还不如自己弄一个简单的, 公司规模目前对稳定性要求没有到这个地步
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5182 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 05:51 PVG 13:51 LAX 21:51 JFK 00:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86