您可以为每个虚拟私有云 (VPC) 网络配置一项 DNS 服务器政策。 该政策可以指定入站 DNS 转发和/或出站 DNS 转发。在本部分中,入站服务器政策是指允许入站 DNS 转发的政策。出站服务器政策是指一种可以实现出站 DNS 转发的方法。一项政策可以既是入站服务器政策,又是出站服务器政策(如果同时实现这两者的功能)。
如需了解详情,请参阅应用 Cloud DNS 服务器政策。
入站服务器政策
每个 VPC 网络都会为具有已连接到 VPC 网络的网络接口 (vNIC) 的虚拟机 (VM) 实例提供 Cloud DNS 名称解析服务。如果虚拟机使用其元数据服务器 169.254.169.254
作为域名服务器,则 Google Cloud 会按照 VPC 网络名称解析顺序搜索 Cloud DNS 资源。
使 VPC 网络的名称解析服务可供 通过 VPC 网络连接到 VPC 网络的 使用 Cloud VPN 隧道、Cloud Interconnect VLAN 连接 或路由器设备,则可以使用入站服务器政策。
创建入站服务器政策时,Cloud DNS 会在应用了服务器政策的 VPC 网络中创建入站服务器政策入口点。入站服务器政策入口点是内部 IPv4
来自以下集群中每个子网的主要 IPv4 地址范围的地址:
但具有特定子网的
--purpose
数据,例如某些负载平衡器的代理专用子网,以及
用于 Private NAT 的 Cloud NAT 使用的子网。
例如,如果您有一个包含两个子网的 VPC 网络, 位于同一区域和位于不同区域的第三个子网时 VPC 网络的入站服务器政策,即 Cloud DNS 使用总共三个 IPv4 地址作为入站服务器政策入口点, 每个子网
有关如何为 VPC,请参阅创建入站服务器 政策。
入站查询的网络和区域
为了处理发送到入站服务器政策入口点的 DNS 查询,Cloud DNS 会将查询与 VPC 网络和区域相关联:
DNS 查询的关联 VPC 网络是指包含接收 DNS 查询数据包的路由器设备的 Cloud VPN 隧道、Cloud Interconnect VLAN 连接或网络接口的 VPC 网络。
Google 建议在 VPC 中创建入站服务器政策 连接到本地网络。这样,入站 服务器政策入口点位于同一 VPC 中 Cloud VPN 隧道、Cloud Interconnect VLAN 或连接到本地系统的路由器设备 。
本地网络可以将查询发送到入站服务器 政策入口点 例如,如果包含 Cloud VPN 的 VPC 网络 隧道、Cloud Interconnect VLAN 连接或 连接到本地网络的路由器设备 连接到另一个 VPC 网络 VPC 网络对等互连。不过,我们不建议使用此配置,因为 DNS 查询的关联 VPC 网络与包含入站服务器政策入口点的 VPC 网络不匹配,这意味着系统不会使用包含入站服务器政策的 VPC 网络中的 Cloud DNS 专用区域和响应政策来解析 DNS 查询。为避免混淆,我们建议您改为按照以下配置步骤操作:
- 在 VPC 网络中创建入站服务器政策, 通过 Cloud VPN 隧道连接到本地网络, Cloud Interconnect VLAN 连接或路由器设备。
- 将本地系统配置为将 DNS 查询发送到入站服务器 政策入口点
配置 Cloud DNS 资源,授权其与本地网络连接的 VPC 网络使用。请使用以下一种或多种方法:
- 将连接到本地网络的 VPC 网络添加到已获授权使用另一个 VPC 网络的 Cloud DNS 专用区域的已获授权网络列表中:如果 Cloud DNS 专用区域和连接到本地网络的 VPC 网络位于同一组织的不同项目中,请在为网络授权时使用完整的网络网址。如需了解详情,请参阅设置跨项目 绑定。
- 为连接到本地网络的 VPC 网络授权的 Cloud DNS 对等互连区域:将对等互连区域的目标网络设置为另一个 VPC 网络。无论连接到本地网络的 VPC 网络是使用 VPC 网络对等互连连接到对等互连区域的目标 VPC 网络,还是使用其他方式连接,都无关紧要,因为 Cloud DNS 对等互连区域不依赖于 VPC 网络对等互连来实现网络连接。
DNS 查询的关联区域始终是包含 Cloud VPN 隧道、Cloud Interconnect VLAN 连接或接收 DNS 查询数据包的路由器设备的网络接口的区域,而非包含入站服务器政策入口点的子网的区域。
- 例如,如果 DNS 查询的数据包使用位于
us-east1
区域的 Cloud VPN 隧道进入 VPC 网络,并发送到us-west1
区域的入站服务器政策入口点,则 DNS 查询的关联区域为us-east1
。 - 最佳做法是将 DNS 查询发送到 与 Cloud VPN 隧道、Cloud Interconnect VLAN 连接或 路由器设备。
- 如果您使用地理定位路由政策,DNS 查询的关联区域非常重要。如需了解详情,请参阅管理 DNS 路由政策和健康检查。
- 例如,如果 DNS 查询的数据包使用位于
入站服务器政策入口点路由通告
由于入站服务器政策入口点的 IP 地址是从 子网的主要 IPv4 地址范围,Cloud Router 路由器会通告这些地址范围 边界网关协议 (BGP) 会话 Cloud VPN 隧道 Cloud Interconnect VLAN 连接或路由器设备 配置为使用 Cloud Router 默认通告 模式。 如果您通过以下任一方式使用 Cloud Router 自定义通告模式,还可以配置 BGP 会话以通告入站服务器政策入口点 IP 地址:
- 除了自定义前缀之外,您还可以通告子网 IP 地址范围。
- 您可以在自定义前缀广告中添加入站服务器政策入口点 IP 地址。
出站服务器政策
您可以修改 Cloud DNS 名称解析顺序,
方法是创建出站服务器政策
指定备用域名服务器列表。当虚拟机使用其元数据时
服务器 169.254.169.254
作为其域名服务器,并且您指定了
用于 VPC 网络的备用域名服务器、Cloud DNS
会将所有查询发送到备用域名服务器,除非这些查询
与 Google Kubernetes Engine 集群级响应政策或 GKE 匹配
集群范围内的专用可用区
如需了解如何创建出站服务器政策,请参阅创建出站服务器政策。
备用域名服务器类型、路由方法和地址
Cloud DNS 支持三种类型的备用域名服务器,并提供标准或专用路由方法以用于连接。
备用域名服务器类型 | 标准路由支持 | 专用路由支持 | 查询源地址范围 |
---|---|---|---|
类型 1 域名服务器 一个设备的内部 IP 地址, Google Cloud 虚拟机所在的 VPC 网络 出站服务器政策 |
仅限 RFC 1918 IP 地址 - 流量始终通过获得授权的 VPC 网络进行路由。 | 任何内部 IP 地址,如 RFC 1918 专用地址、非 RFC 1918 个专用 IP 地址或以非公开方式重复使用的外部 IP 地址,但以下 IP 地址除外: 用于被禁的备用域名服务器 IP address - 流量始终通过已获授权的 VPC 网络。 | 35.199.192.0/19 |
类型 2 域名服务器 本地系统的 IP 地址,该系统使用 Cloud VPN 或 Cloud Interconnect 连接到具有出站服务器政策的 VPC 网络。 |
仅限 RFC 1918 IP 地址 - 流量始终通过获得授权的 VPC 网络进行路由。 | 任何内部 IP 地址,如 RFC 1918 专用地址、非 RFC 1918 个专用 IP 地址或以非公开方式重复使用的外部 IP 地址,但以下 IP 地址除外: 用于被禁的备用域名服务器 IP address - 流量始终通过已获授权的 VPC 网络。 | 35.199.192.0/19 |
类型 3 域名服务器 可供互联网或 Google Cloud 资源的外部 IP 地址访问的 DNS 域名服务器的外部 IP 地址;例如,另一个 VPC 网络中虚拟机的外部 IP 地址。 |
仅限通过互联网路由的外部 IP 地址 - 流量始终路由到互联网或 Google Cloud 资源的外部 IP 地址。 | 专用路由不受支持。 | Google 公共 DNS 来源范围 |
Cloud DNS 提供两种用于查询备用域名服务器的路由方法:
标准路由:Cloud DNS 会决定 并使用专用或 公共路由:
如果备用域名服务器是 RFC 1918 IP 地址,则 Cloud DNS 会将该域名服务器分类为类型 1 或类型 2 域名服务器,并通过获得授权的 VPC 网络路由查询(专用路由)。
如果备用域名服务器不是 RFC 1918 IP 地址, Cloud DNS 将域名服务器归类为 Type 3,并期望获得 使其可通过互联网访问Cloud DNS 会通过互联网路由查询(公共路由)。
专用路由:Cloud DNS 将 备用域名服务器作为类型 1 或类型 2。Cloud DNS 始终通过已获授权的 VPC 网络路由流量, 而不考虑备用域名服务器的 IP 地址(无论是否为 RFC 1918)。
禁止使用的备用域名服务器 IP 地址
您不能将以下 IP 地址用于 Cloud DNS 备用域名服务器:
169.254.0.0/16
192.0.0.0/24
192.0.2.0/24
192.88.99.0/24
198.51.100.0/24
203.0.113.0/24
224.0.0.0/4
240.0.0.0/4
::1/128
::/128
2001:db8::/32
fe80::/10
fec0::/10
ff00::/8
备用域名服务器网络要求
备用域名服务器的网络要求因备用域名服务器的类型而异。如需确定备用域名服务器的类型,请参阅备用域名服务器类型、路由方法和地址。然后,请参阅以下某个部分,了解网络要求。
类型 1 备用域名服务器的网络要求
Cloud DNS 会将来源为 35.199.192.0/19
IP 地址范围的数据包发送到类型 1 备用域名服务器 IP 地址。Google Cloud 使用本地子网路由
VPC 网络。确保您未创建任何目标包含类型 1 备用域名服务器 IP 地址的基于政策的路由。
如需允许在备用域名服务器虚拟机上传入数据包,您必须创建 入站流量允许 VPC 防火墙规则或 防火墙政策中的“防火墙规则”部分, 以下特征:
- 目标:必须包含备用域名服务器虚拟机
- 来源:
35.199.192.0/19
- 协议:
TCP
和UDP
- 端口:
53
Cloud DNS 要求每个备用域名服务器将响应数据包发回到查询来源的 35.199.192.0/19
中的 Cloud DNS IP 地址。响应数据包的来源必须与 Cloud DNS 发送原始查询的备用域名服务器的 IP 地址一致。如果响应来自意外的 IP 地址来源(例如,备用域名服务器可能会将查询转发到的其他域名服务器的 IP 地址),Cloud DNS 会忽略这些响应。
当类型 1 备用域名服务器向 35.199.192.0/19
发送响应数据包时,它会使用特殊路由路径。
类型 2 备用域名服务器的网络要求
Cloud DNS 会发送来源来自 35.199.192.0/19
IP 的数据包
Type 2 备用域名服务器。Cloud DNS 依赖于
VPC 网络内要连接到的以下类型的路由
出站服务器政策适用以下情形:
如需允许在类型 2 备用域名服务器上接收传入数据包,请确保您配置了适用于备用域名服务器和任何具有防火墙功能的相关本地网络设备的入站流量允许防火墙规则。有效的防火墙配置必须允许 TCP
和 UDP
协议,目标端口为 53
,来源为 35.199.192.0/19
。
Cloud DNS 要求每个备用域名服务器都必须发送响应
从 35.199.192.0/19
发送回 Cloud DNS IP 地址的数据包
发起查询的日期响应数据包的来源必须与 Cloud DNS 发送原始查询的备用域名服务器的 IP 地址一致。如果响应来自
意外的 IP 地址来源,例如其他名称的 IP 地址
备用域名服务器可能会将查询转发到该服务器。
您的本地网络必须具有针对 35.199.192.0/19
目的地的路由
下一个跃点是 Cloud VPN 隧道、Cloud Interconnect VLAN
连接或位于同一 VPC 内的 Cloud Router 路由器
Cloud DNS 从其发送查询的网络和区域。只要
下一个跃点满足这些网络和区域要求,则 Google Cloud 不会
要求对称返回路径。来自类型 2 备用名称的响应
服务器不能使用以下任意下一个跃点进行路由:
- 互联网上的下一个跃点
- VPC 网络中的下一个跃点 发起查询的 VPC 网络
- 同一 VPC 网络 与发起查询的区域不同
如需在本地网络中配置 35.199.192.0/19
路由,请使用 Cloud Router 自定义通告模式,并在将您的 VPC 网络连接到包含 Type 2 备用名称服务器的本地网络的相关 Cloud VPN 隧道、Cloud Interconnect VLAN 连接或 Cloud Router 的 BGP 会话中添加 35.199.192.0/19
作为自定义前缀。或者,您也可以在
本地网络
类型 3 备用域名服务器的网络要求
Cloud DNS 会发送来源与 Google 公共 DNS 匹配的数据包 来源范围更改为 类型 3 备用域名服务器。Cloud DNS 使用公共路由 它不依赖于 VPC 网络内的任何路由来 出站服务器政策所适用的范围
如要允许在 Type 3 备用域名服务器上传入数据包,请确保 适用于备用名称的有效防火墙配置 服务器允许来自 Google 公共 DNS 来源范围的数据包。
后续步骤
- 如需配置和应用 DNS 服务器政策,请参阅应用 DNS 服务器政策。