再阿里云购买 VPC 网络的 ECS ,未分配外网 IP ,SSH 登陆主机后,发现能够正常访问阿里云公共服务内网域名(非当前 VPC 的域名,是案例一公共服务的域名),查看控制台 VPC 的路由表,发现系统自动添加一条 100.64.0.0/10 的路由表,求教再云平台网络架构下面,这个是通过什么技术原理实现的?
1
opengps 2023-10-16 16:44:42 +08:00
粗略点的理解方式:你可以把 vpc 网络类比你家里一个路由器拖着几台电脑手机
|
2
zealic 2023-10-16 16:48:08 +08:00
内网服务,会有 DNS 解析到到单独的路由指向内部的
|
3
webeasymail OP @opengps VPC 网络我理解,不了解的是 VPC 能够访问公共服务网络是什么技术原理。
|
4
webeasymail OP @zealic DNS 我也了解一点,不了解的是 VPC 是怎么访问到公共服务网络的?
|
5
Licsber 2023-10-16 16:55:26 +08:00
访问到?就是一个路由器呀
查看你的/etc/resolv.conf 能看到位于内网的 DNS 服务器 那反正是阿里的私有域名 帮着解析呗 根据你的源 IP 自动把这个域名解析成内网不就好了 |
6
leaflxh 2023-10-16 16:57:28 +08:00
我用腾讯的机器,在服务器上 ping 对象存储的域名返回的是内网的 IP 地址
估计是有 DNS 拦截,或者系统的内置 DNS 做的内网解析 |
7
webeasymail OP @Licsber 这想问的 DNS 的问题,我想的是 VPC 网络和阿里云公共网络的 IP 是怎么打通的。
|
8
webeasymail OP 我这个问题可能表达的不太好,我修改一下这个问题:
再阿里云购买 VPC 网络的 ECS ,未分配外网 IP ,SSH 登陆主机后,发现能够正常访问阿里云公共服务 IP ,查看控制台 VPC 的路由表,发现系统自动添加一条 100.64.0.0/10 的路由表,求教再云平台网络架构下面,这个是通过什么技术原理实现 VPC 和公共服务 IP 互通的? |
9
webeasymail OP @leaflxh 问题没有表达清楚,不好意思,我想问的是 VPC 网络是通过什么技术实现访问公共网络 IP 的?
|
10
skyrim61 2023-10-16 17:06:09 +08:00
@webeasymail snat
|
11
webeasymail OP @skyrim61 snat 我不是很了解,这个 ECS 是没有外网 IP 的,阿里云公共服务 IP 也是内网的,SNAT 可以解决内网的这个场景是吗?
|
12
leaflxh 2023-10-16 17:08:22 +08:00
@webeasymail
你这个公共网络 IP 指的是内网 IP 吗,这种东西就类似于上面有个路由器,做好了路由规划,比如对象存储的内网 IP 是 169.10.0.1 ,本机默认是 0.0.0.0/0 发到网关,网关再根据路由表给你转到下一跳 |
13
leaflxh 2023-10-16 17:09:32 +08:00
ECS 没有外网 IP 但有内网 IP 吧,一般都是只分配内网 IP ,然后从上面决定有没有公网的访问权,有的话这个就跟 NAT 一样了,一个公网 IP 映射到一个内网 IP
|
14
leaflxh 2023-10-16 17:10:52 +08:00
ip a 是看不到自己有没有公网 IP 的,只有分配的内网 IP 。一些小厂不用 VPC 会直接把公网 IP 分配到机器上
|
15
skyrim61 2023-10-16 17:12:02 +08:00
@webeasymail 我们是 snat 还有一个是 dnat, 但是我总是搞混, 我们 vpc 上网是这样的
|
16
webeasymail OP @leaflxh 我再阿里云控台没有创建 SNAT 网关,内网 IP 是阿里云的公共服务占用的 IP ( 100.64.0.0/10 这个网段),我是 VPC 的网络。
|
17
zsdroid 2023-10-16 17:13:42 +08:00
阿里云 NAT 网关( NAT Gateway ,简称 NAT )提供公网 NAT 和私网 NAT 两种功能。公网 NAT 网关通过自定义 SNAT 、DNAT 规则可为云上服务器提供对外公网服务、及主动访问公网能力;
|
18
webeasymail OP @skyrim61 你说的这个 SNAT 上网我是了解的,不过阿里云的是内网服务,我的 ECS 没有外网 IP (也没有开通 SNAT )所以不能访问到外网。
|
19
zsdroid 2023-10-16 17:16:41 +08:00
|
20
webeasymail OP @zsdroid 我想了解的是他阿里云底层是怎么实现用户 VPC 访问阿里云公共服务 IP 的能力,没有开通 NAT 网关即可访问到。
|
21
zsdroid 2023-10-16 17:18:24 +08:00
@webeasymail 你买的是 ecs ,ecs 在 vpc 下面的,vpc 肯定都配置好了的
|
22
webeasymail OP @leaflxh 没有公网 IP 的,只有一个 VPC 网络的 IP
|
23
webeasymail OP @zsdroid VPC 的路由表确实配置了一个阿里公共服务 IP 的条目,您的意思,阿里云再内部会创建一个隐藏的 SNAT 来解决这个问题吗?
|
24
nanh 2023-10-16 17:28:18 +08:00
建议阿里云提工单,他们会结合你现有的设备给你出方案的
|
25
webeasymail OP @nanh 这个我估计他们不会给我提供方案,这个是他们内部实现。
|
26
webeasymail OP |
27
zsdroid 2023-10-16 17:31:52 +08:00
@webeasymail #23 是的。一般服务器是不会限制出口的
|
28
Greenm 2023-10-16 17:35:13 +08:00
就是内网 IP 访问内网域名( IP ),根本不涉及外网,没那么复杂。
|
29
webeasymail OP @Greenm 我不太清楚是否复杂,不过 VPC 网络是不能访问到云企业网的(公共服务 IP )。
|
30
webeasymail OP @zsdroid 好的,谢谢,这个方案我了解了,我在和小伙伴讨论一下,看看是否可行。
|
31
quxuanxuan 2023-10-16 19:02:56 +08:00
你把虚拟机内的 dns 配置改成非阿里云官方的,然后再访问阿里云内网公共服务,如果还能访问,那就是在虚拟机所在的宿主机上做过 dns 拦截
|
32
hxm0070 2023-10-16 19:08:53 +08:00 via Android
家里电脑(等同 ECS )连在路由器局域网(等同 VPC )里,电脑没有公网 ip ,也能访问公网资源,路由器的路由转发功能呗
|
33
fredcc 2023-10-16 19:16:59 +08:00 via Android
100.64.0.0/10 是内网保留地址 IP 段,阿里云的托管服务 vpc 内部 endpoint 都在这段。官网 vpc 文档中写得很清楚
|
34
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 就在主机网络或者一个公共标记中。特许与租户网络互通。 |
35
hymzhek 2023-10-16 20:54:26 +08:00
nat vps
|
36
opengps 2023-10-17 09:48:09 +08:00
你可能没在家庭公网路由器往你电脑上转发过端口,vpc 这种其实可以理解成 dmz 这种全端口转发到后面一台电脑上的结构来理解
|
37
webeasymail OP @opengps 这个我用过,我需要指导的阿里云这种基于云平台的技术原理,感谢。
|
38
webeasymail OP @vuuv 非常感谢,个人猜测访问路径是 ECS - > 转发路由(通过 VPC 设置的 100.64.0.0/10 转发规则) -> 系统使用的 SNAT -> 到达 100.64.0.0/10 服务,由于对网络理解不够深入,不知道再公有云的架构下是否有更合理的解决方案。
|
39
webeasymail OP @fredcc 我看了文档,知道是阿里云的内部服务,我只是想知道再公有云架构下,阿里云是使用什么技术方案实现的,或者有什么可行的技术方案。
|
40
o562dsRcFqYl375i 2023-10-17 14:39:05 +08:00
你这是想要知道 VPC 的实现原理啊,大兄弟...
|
41
webeasymail OP @huangzongzhuan 我不太清楚是否需要知道 VPC 原理,再公有云架构下,如果我们使用 RFC6598 定义的保留网段作为企业网,VPC 和企业网怎么打通?通过什么方案更合理?
|
42
yyttrr 2023-10-17 16:54:16 +08:00
月消费多少?我上家阿里云月消费 300 多,这个事情和他们提一句,第二天阿里云客户经理就带着个技术专家来我们公司了,规划了两天
|
43
webeasymail OP @yyttrr 阿里云支持的,我是想知道规划一个公有云,如何打通租户 VPC 和公有云的企业网。
|
44
Viefane 2023-10-18 21:58:54 +08:00 via iPhone
打通租户 VPC 和公有云的企业网,这个好像是网工的活了。一般来说经过 S/DNAT ,VPC 出去是走三层路由,可以通过 BGP AS 号 IBGP 到 EBGP 路由到骨干网打通,也可以通过 VXLAN 用三层包二层做大二层网络打通,这两种比较直接高效,但是 BGP 线路费用高,公网 AS 要 ISP 牌照申请,VXLAN 做 overlay 要整体做设备配置调整,架构变更比较大。这是大体量公有云的玩法,一般小体量的私有云不用考虑到这么底层,直接打隧道更常规,MPLS-VPN 、QUIC 、SD-WAN 、云网关都可以,按需选择。
|
45
webeasymail OP @Viefane 感谢回答,如果再一个公有云的架构下面(假设是大二层网络架构,已经部署了 SDN ),是不是可以通过租户 VPC 绑定一个系统的 SNAT (这个 SNAT 对用户是不可见的),再 VPC 配置一条系统路由表,来实现租户 VPC 访问公有云企业网的目的(这样租户挂在 VPC 下面 ECS 就可以访问到企业网内的服务了),不知道我这样理解对不对。
|
46
Viefane 2023-10-20 13:47:23 +08:00 via iPhone
阿里云公网连接方式有三种:SLB 、EIP 、公网 NAT ,公网 NAT 实现的需求就是将多个内网 ECS 通过一个公网 NAT 连通公网或企业网,虚拟化网络实现网络设备层面 NAT 。你说的这个应该是自建公网 NAT ,VPC 下挂着没公网 IP 的多个 ECS 、一个有公网 EIP 的 ECS ,通过 VPC 写路由把所有流量转到有公网的 ECS 实例,公网 ECS 系统设置转发和 Nginx 反向代理来互通,也能软实现公网 NAT 的功能。思路是对的,但自建公网 NAT 要注意,只有在 VPC 专有网络中才可以,传统网络是不能自建的。
|