[求教]阿里云 VPC 网络和公共网络是如何打通的?

2023-10-16 16:35:05 +08:00
 webeasymail

再阿里云购买 VPC 网络的 ECS ,未分配外网 IP ,SSH 登陆主机后,发现能够正常访问阿里云公共服务内网域名(非当前 VPC 的域名,是案例一公共服务的域名),查看控制台 VPC 的路由表,发现系统自动添加一条 100.64.0.0/10 的路由表,求教再云平台网络架构下面,这个是通过什么技术原理实现的?

3041 次点击
所在节点    云计算
46 条回复
zsdroid
2023-10-16 17:18:24 +08:00
@webeasymail 你买的是 ecs ,ecs 在 vpc 下面的,vpc 肯定都配置好了的
webeasymail
2023-10-16 17:18:41 +08:00
@leaflxh 没有公网 IP 的,只有一个 VPC 网络的 IP
webeasymail
2023-10-16 17:21:12 +08:00
@zsdroid VPC 的路由表确实配置了一个阿里公共服务 IP 的条目,您的意思,阿里云再内部会创建一个隐藏的 SNAT 来解决这个问题吗?
nanh
2023-10-16 17:28:18 +08:00
建议阿里云提工单,他们会结合你现有的设备给你出方案的
webeasymail
2023-10-16 17:30:00 +08:00
@nanh 这个我估计他们不会给我提供方案,这个是他们内部实现。
webeasymail
2023-10-16 17:30:22 +08:00
zsdroid
2023-10-16 17:31:52 +08:00
@webeasymail #23 是的。一般服务器是不会限制出口的
Greenm
2023-10-16 17:35:13 +08:00
就是内网 IP 访问内网域名( IP ),根本不涉及外网,没那么复杂。
webeasymail
2023-10-16 17:40:14 +08:00
@Greenm 我不太清楚是否复杂,不过 VPC 网络是不能访问到云企业网的(公共服务 IP )。
webeasymail
2023-10-16 17:40:52 +08:00
@zsdroid 好的,谢谢,这个方案我了解了,我在和小伙伴讨论一下,看看是否可行。
quxuanxuan
2023-10-16 19:02:56 +08:00
你把虚拟机内的 dns 配置改成非阿里云官方的,然后再访问阿里云内网公共服务,如果还能访问,那就是在虚拟机所在的宿主机上做过 dns 拦截
hxm0070
2023-10-16 19:08:53 +08:00
家里电脑(等同 ECS )连在路由器局域网(等同 VPC )里,电脑没有公网 ip ,也能访问公网资源,路由器的路由转发功能呗
fredcc
2023-10-16 19:16:59 +08:00
100.64.0.0/10 是内网保留地址 IP 段,阿里云的托管服务 vpc 内部 endpoint 都在这段。官网 vpc 文档中写得很清楚
vuuv
2023-10-16 20:07:40 +08:00
你的这个问题有多个技术:
1. “阿里云公共服务内网域名”,我没有阿里云机器,我记得好像是 `aliyuncs.com`,这是阿里云持有的域名,专供云内网使用。当 ecs 主机请求解析此域名时,会返回内网解析。

2. “没有外网为何能解析内网域名”,阿里云运行的虚拟机镜像是定制的,一般预装了 cloud-init (或等效软件)并设置开机自启。他会遵循 DHCP 或者请求阿里云的 metadata_urls ,进行额外的配置。其中就包括了 配置阿里云专用 DNS 。如果这个 DNS 是合格的公网 IP ,可能阿里云使用了 SNAT ,或者将 DNS 所在机器的内网路由重定向回了云网络重新分发。

3. 阿里云主机专用 DNS ,此 DNS 可以根据你的 VPC 返回相应的内网 IP ,甚至拦截公网域名返回内网地址。例如你在 ecs 内请求公网域名 mirrors.aliyun.com ,会返回内网地址。因为阿里云持有 aliyun.com ,所以这个拦截行为合法。

4. 100.64.0.0/10 网段,这是 RFC6598 定义的保留网段,用途为“用于在电信级 NAT 环境中服务提供商与其用户通信”。这个地址不准在公网路由,阿里云使用其作为云内网公共网络是合理的。

5. ecs 为何能访问 100.64.0.0/10 网段。阿里云的 vpc 都是基于物理网络虚拟化出来的。所有的租户网络标记(一如 vlan id 或者 vxlan segments ),标记不同就不允许互通。而 100.64 就在主机网络或者一个公共标记中。特许与租户网络互通。
hymzhek
2023-10-16 20:54:26 +08:00
nat vps
opengps
2023-10-17 09:48:09 +08:00
你可能没在家庭公网路由器往你电脑上转发过端口,vpc 这种其实可以理解成 dmz 这种全端口转发到后面一台电脑上的结构来理解
webeasymail
2023-10-17 13:26:48 +08:00
@opengps 这个我用过,我需要指导的阿里云这种基于云平台的技术原理,感谢。
webeasymail
2023-10-17 13:33:36 +08:00
@vuuv 非常感谢,个人猜测访问路径是 ECS - > 转发路由(通过 VPC 设置的 100.64.0.0/10 转发规则) -> 系统使用的 SNAT -> 到达 100.64.0.0/10 服务,由于对网络理解不够深入,不知道再公有云的架构下是否有更合理的解决方案。
webeasymail
2023-10-17 13:34:50 +08:00
@fredcc 我看了文档,知道是阿里云的内部服务,我只是想知道再公有云架构下,阿里云是使用什么技术方案实现的,或者有什么可行的技术方案。
o562dsRcFqYl375i
2023-10-17 14:39:05 +08:00
你这是想要知道 VPC 的实现原理啊,大兄弟...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/982491

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX