|
再阿里云购买 VPC 网络的 ECS ,未分配外网 IP ,SSH 登陆主机后,发现能够正常访问阿里云公共服务内网域名(非当前 VPC 的域名,是案例一公共服务的域名),查看控制台 VPC 的路由表,发现系统自动添加一条 100.64.0.0/10 的路由表,求教再云平台网络架构下面,这个是通过什么技术原理实现的?
粗略点的理解方式:你可以把 vpc 网络类比你家里一个路由器拖着几台电脑手机
内网服务,会有 DNS 解析到到单独的路由指向内部的
@opengps VPC 网络我理解,不了解的是 VPC 能够访问公共服务网络是什么技术原理。
@zealic DNS 我也了解一点,不了解的是 VPC 是怎么访问到公共服务网络的?
访问到?就是一个路由器呀查看你的/etc/resolv.conf 能看到位于内网的 DNS 服务器那反正是阿里的私有域名 帮着解析呗 根据你的源 IP 自动把这个域名解析成内网不就好了
我用腾讯的机器,在服务器上 ping 对象存储的域名返回的是内网的 IP 地址估计是有 DNS 拦截,或者系统的内置 DNS 做的内网解析
@Licsber 这想问的 DNS 的问题,我想的是 VPC 网络和阿里云公共网络的 IP 是怎么打通的。
我这个问题可能表达的不太好,我修改一下这个问题:再阿里云购买 VPC 网络的 ECS ,未分配外网 IP ,SSH 登陆主机后,发现能够正常访问阿里云公共服务 IP ,查看控制台 VPC 的路由表,发现系统自动添加一条 100.64.0.0/10 的路由表,求教再云平台网络架构下面,这个是通过什么技术原理实现 VPC 和公共服务 IP 互通的?
@leaflxh 问题没有表达清楚,不好意思,我想问的是 VPC 网络是通过什么技术实现访问公共网络 IP 的?
@webeasymail snat
@skyrim61 snat 我不是很了解,这个 ECS 是没有外网 IP 的,阿里云公共服务 IP 也是内网的,SNAT 可以解决内网的这个场景是吗?
@webeasymail 你这个公共网络 IP 指的是内网 IP 吗,这种东西就类似于上面有个路由器,做好了路由规划,比如对象存储的内网 IP 是 169.10.0.1 ,本机默认是 0.0.0.0/0 发到网关,网关再根据路由表给你转到下一跳
ECS 没有外网 IP 但有内网 IP 吧,一般都是只分配内网 IP ,然后从上面决定有没有公网的访问权,有的话这个就跟 NAT 一样了,一个公网 IP 映射到一个内网 IP
ip a 是看不到自己有没有公网 IP 的,只有分配的内网 IP 。一些小厂不用 VPC 会直接把公网 IP 分配到机器上
@webeasymail 我们是 snat 还有一个是 dnat, 但是我总是搞混, 我们 vpc 上网是这样的
@leaflxh 我再阿里云控台没有创建 SNAT 网关,内网 IP 是阿里云的公共服务占用的 IP ( 100.64.0.0/10 这个网段),我是 VPC 的网络。
阿里云 NAT 网关( NAT Gateway ,简称 NAT )提供公网 NAT 和私网 NAT 两种功能。公网 NAT 网关通过自定义 SNAT 、DNAT 规则可为云上服务器提供对外公网服务、及主动访问公网能力;
@skyrim61 你说的这个 SNAT 上网我是了解的,不过阿里云的是内网服务,我的 ECS 没有外网 IP (也没有开通 SNAT )所以不能访问到外网。
使用公网 NAT 网关 SNAT 功能访问互联网: https://help.aliyun.com/zh/nat-gateway/getting-started/enable-ecs-instances-to-access-the-internet-through-snat?spm=a2c4g.11186623.0.i3#task-1944285
@zsdroid 我想了解的是他阿里云底层是怎么实现用户 VPC 访问阿里云公共服务 IP 的能力,没有开通 NAT 网关即可访问到。
@webeasymail 你买的是 ecs ,ecs 在 vpc 下面的,vpc 肯定都配置好了的
@leaflxh 没有公网 IP 的,只有一个 VPC 网络的 IP
@zsdroid VPC 的路由表确实配置了一个阿里公共服务 IP 的条目,您的意思,阿里云再内部会创建一个隐藏的 SNAT 来解决这个问题吗?
建议阿里云提工单,他们会结合你现有的设备给你出方案的
@nanh 这个我估计他们不会给我提供方案,这个是他们内部实现。
看到他们一张图,不过没有写内部实现:https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/4827737661/p305146.png
@webeasymail #23 是的。一般服务器是不会限制出口的
就是内网 IP 访问内网域名( IP ),根本不涉及外网,没那么复杂。
@Greenm 我不太清楚是否复杂,不过 VPC 网络是不能访问到云企业网的(公共服务 IP )。
@zsdroid 好的,谢谢,这个方案我了解了,我在和小伙伴讨论一下,看看是否可行。
你把虚拟机内的 dns 配置改成非阿里云官方的,然后再访问阿里云内网公共服务,如果还能访问,那就是在虚拟机所在的宿主机上做过 dns 拦截
家里电脑(等同 ECS )连在路由器局域网(等同 VPC )里,电脑没有公网 ip ,也能访问公网资源,路由器的路由转发功能呗
100.64.0.0/10 是内网保留地址 IP 段,阿里云的托管服务 vpc 内部 endpoint 都在这段。官网 vpc 文档中写得很清楚
你的这个问题有多个技术: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 就在主机网络或者一个公共标记中。特许与租户网络互通。
nat vps
你可能没在家庭公网路由器往你电脑上转发过端口,vpc 这种其实可以理解成 dmz 这种全端口转发到后面一台电脑上的结构来理解
@opengps 这个我用过,我需要指导的阿里云这种基于云平台的技术原理,感谢。
@vuuv 非常感谢,个人猜测访问路径是 ECS - > 转发路由(通过 VPC 设置的 100.64.0.0/10 转发规则) -> 系统使用的 SNAT -> 到达 100.64.0.0/10 服务,由于对网络理解不够深入,不知道再公有云的架构下是否有更合理的解决方案。
@fredcc 我看了文档,知道是阿里云的内部服务,我只是想知道再公有云架构下,阿里云是使用什么技术方案实现的,或者有什么可行的技术方案。
你这是想要知道 VPC 的实现原理啊,大兄弟...
@huangzongzhuan 我不太清楚是否需要知道 VPC 原理,再公有云架构下,如果我们使用 RFC6598 定义的保留网段作为企业网,VPC 和企业网怎么打通?通过什么方案更合理?
月消费多少?我上家阿里云月消费 300 多,这个事情和他们提一句,第二天阿里云客户经理就带着个技术专家来我们公司了,规划了两天
@yyttrr 阿里云支持的,我是想知道规划一个公有云,如何打通租户 VPC 和公有云的企业网。
打通租户 VPC 和公有云的企业网,这个好像是网工的活了。一般来说经过 S/DNAT ,VPC 出去是走三层路由,可以通过 BGP AS 号 IBGP 到 EBGP 路由到骨干网打通,也可以通过 VXLAN 用三层包二层做大二层网络打通,这两种比较直接高效,但是 BGP 线路费用高,公网 AS 要 ISP 牌照申请,VXLAN 做 overlay 要整体做设备配置调整,架构变更比较大。这是大体量公有云的玩法,一般小体量的私有云不用考虑到这么底层,直接打隧道更常规,MPLS-VPN 、QUIC 、SD-WAN 、云网关都可以,按需选择。
@Viefane 感谢回答,如果再一个公有云的架构下面(假设是大二层网络架构,已经部署了 SDN ),是不是可以通过租户 VPC 绑定一个系统的 SNAT (这个 SNAT 对用户是不可见的),再 VPC 配置一条系统路由表,来实现租户 VPC 访问公有云企业网的目的(这样租户挂在 VPC 下面 ECS 就可以访问到企业网内的服务了),不知道我这样理解对不对。
阿里云公网连接方式有三种:SLB 、EIP 、公网 NAT ,公网 NAT 实现的需求就是将多个内网 ECS 通过一个公网 NAT 连通公网或企业网,虚拟化网络实现网络设备层面 NAT 。你说的这个应该是自建公网 NAT ,VPC 下挂着没公网 IP 的多个 ECS 、一个有公网 EIP 的 ECS ,通过 VPC 写路由把所有流量转到有公网的 ECS 实例,公网 ECS 系统设置转发和 Nginx 反向代理来互通,也能软实现公网 NAT 的功能。思路是对的,但自建公网 NAT 要注意,只有在 VPC 专有网络中才可以,传统网络是不能自建的。
|
上一篇:网络安全防护厂商,网络攻击下一篇:必须得吐槽一下 ZStack
|