我们希望公司内网( 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
cpstar 2022-05-31 20:17:04 +08:00
不是 ali ,别的网络结构,使用了 GRE 隧道
|
2
sujin190 2022-05-31 20:53:05 +08:00
路由表都配置了么?公司内网是你们控制的所以可以在网关统一配置路由表,但是阿里云这边不行了,除非你们在每台机器上都设置路由表,否则除了搭建 Wireguard 的机器其他都通不了,ecs 还好,rds 这种就完全不行了
另一种配置就是设置 nat ,源地址重写,Router01 出 Wireguard 网卡时重写来源地址为 Wireguard 网卡 ip ,ECS01 来自 Wireguard 的重写源地址为 ECS01 阿里云给的内网 ip ,这样就可以无需设置路由表就可以从公司访问阿里云所有网段了,从阿里云访问公司内网则倒过来设置即可 另外估计买阿里云提供的 vpn 服务估计就可以靠路由表配置来完成了 |
3
s609926202 2022-05-31 21:21:25 +08:00 via iPhone
zerotier 组个网
|
4
thehorizon OP @sujin190 我们就是在 ECS01 上面配置的 NAT 。按照道理只要 ECS01 可以访问 100 的地址,那么隧道也可以访问 rds 。
我们在公司内网 ping oss 内网 ip ( 100 开头的)在 ECS01 上面抓包,看到的现象也是 NAT 成功了 可奇怪的是这个包就是回不到公司内网 |
5
sujin190 2022-05-31 22:41:43 +08:00 via Android
@thehorizon 那估计还是 nat 配置的问题,否则不大可能回不来,nat 之后 100 的网断也不能知道你来自隧道的吧
|
6
luoshengdu 2022-05-31 22:54:39 +08:00
@thehorizon 你可以反过来试试, [100.64.0.0/10 为阿里云内部服务的网段(比如容器镜像服务,OSS 服务等等) ] 这些机器上面 ping 到你的公司内网
我感觉是 100.64 的远端(阿里)那边收到了 ping 包,回不来。 就是远端的过来公司的路由有问题 |
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 才行
|
8
yaoyao1128 2022-05-31 23:08:28 +08:00 via iPhone
ecs01 上面有没有配置公司网段 ip 的路由?
|
9
vmebeh 2022-05-31 23:18:27 +08:00 via iPhone
ecs01 上 wg 接口开了 forward 和 masquerade 吗
|
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 |
11
thehorizon OP @killva4624 太贵了, 还不如自己弄一个简单的, 公司规模目前对稳定性要求没有到这个地步
|