内网DNS解析&VPN网关联动实现云上访问云下资源

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 内网DNS解析&VPN网关联动实现云上访问云下资源

自建IDC和阿里云VPC分别属于两套网络环境,但部署在自建IDC和阿里云VPC内的业务都需要通过DNS解析进行业务间调用,并且分别管理两套数据不仅给运维工程师带来重复性工作的增加,同时也会产生数据一致性管理的风险,给业务带来很高的不确定性,所以需要在自建IDC和阿里云VPC共享DNS解析数据,来实现业务间能实时调用。本文章九河云将讲解如何实现云上内网解析访问云下DNS解析数据的方法。


解决方案

实现云上访问云下资源,可以通过3种解决方案实现。本文则主要为您详细说明方案一:通过解析器实现云上访问云下资源的操作步骤和验证方法。


方案一:通过解析器实现云上访问云下资源

  1. 通过SAG/专线/VPN等连接方式,将云上VPC与传统数据中心互联。本示例采用IPsec-VPN隧道方式。


方案二:通过修改云上服务器的LocalDns实现云上访问云下资源

  1. 通过SAG/专线/VPN等连接方式,将云上VPC与传统数据中心互联。本示例采用IPsec-VPN隧道方式。
  2. 通过修改云上服务器的LocalDNS,客户端发起直接向线下自建DNS服务器发起解析请求。


vim /etc/resolv.conf
#根据线下自建DNS实际IP修改下方nameserver
nameserver 2.2.XX.XX
nameserver 3.3.XX.XX

方案三:通过辅助DNS实现云上访问云下资源

  1. 通过SAG/专线/VPN等连接方式,将云上VPC与传统数据中心互联。本示例采用IPsec-VPN隧道方式。
  2. 开启辅助DNS通过辅助DNS将线下自建DNS的解析同步至云上进行解析。


重要

自建DNS建议使用Bind,目前辅助DNS对Windows DNS Server不提供完整支持。

通过转发管理实现云上访问云下资源

什么是转发管理?

转发管理通过创建域名转发规则和DNS出站终端节点,可将阿里云VPC下内网解析的DNS请求流量转发到外部DNS系统,能够有效解决混合云、云上&云下的业务间调用场景。


资源准备

  1. 使用阿里云服务器模拟线下IDC,然后通过Bind搭建自建DNS服务。
  2. 阿里云VPC侧VPN网关产品服务。
  3. 内网解析产品服务。

操作步骤

步骤一:创建VPN网关

完成以下操作,创建VPN网关。

  1. 登录专有网络管理控制台 。
  2. 在左侧导航栏,单击 网间互联 > VPN > VPN网关。
  3. 在 VPN网关 页面,单击 创建VPN网关。
  4. 购买页面,根据实际需求配置VPN网关,然后单击 立即购买 完成支付。
  5. 返回VPN网关页面,查看创建的VPN网关。本示例VPC公网IP为:47.111.XX.XX。

说明

刚创建好的VPN网关的状态是准备中,约两分钟左右会变成正常状态。正常状态表明VPN网关完成了初始化,可以正常使用了。


步骤二:创建用户网关

完成以下操作,创建用户网关。

  1. 在左侧导航栏,单击 网间互联 > VPN > 用户网关
  2. 选择创建用户网关的地域
  3. 用户网关 页面,单击 创建用户网关
  4. 创建用户网关 页面,根据以下信息配置用户网关,然后单击 确定


  • 名称:输入用户网关的名称。
  • IP地址:输入VPC要连接的本地数据中心网关设备的公网IP。本示例模拟自建IDC的IP为:223.5.XX.XX。
  • 描述:输入用户网关的描述信息。


步骤三:创建IPsec连接

完成以下操作,创建IPsec连接。

  1. 在左侧导航栏,单击 网间互联 > VPN > IPsec连接
  2. 选择创建IPsec连接的地域。
  3. IPsec连接 页面,单击 创建IPsec连接
  4. 创建IPsec连接 页面,根据以下信息配置IPsec连接,然后单击确定


  • 名称:输入IPsec连接的名称。
  • VPN网关: 选择已创建的VPN网关。
  • 用户网关:选择要连接的用户网关。
  • 本端网段:输入已选VPN网关所属VPC的网段。本示例为:172.25.0.0/16。
  • 对端网段:输入本地数据中心的网段。本示例为:172.28.0.0/16。
  • 立即生效:选择是否立即生效。
  • 是:配置完成后立即进行协商。
  • 否:当有流量进入时进行协商。
  • 预共享密钥:输入共享密钥,该值必须与本地网关设备的预共享密钥一致。其他选项使用默认配置。
  • 加密配置、BGP配置、健康检查、标签 等根据您实际场景进行选择。


步骤四:在本地网关设备中加载VPN配置

完成以下操作,在本地网关设备中加载VPN配置。

  1. 在左侧导航栏,单击网间互联 > VPN > IPsec连接
  2. 选择IPsec连接的地域。
  3. IPsec连接 页面,找到目标IPsec连接,然后单击 操作 列下的 下载对端配置
  4. 根据本地网关设备的配置要求,将下载的配置添加到本地网关设备中。
  5. 本示例采用的是Strongswan搭建IPsec-VPN服务,具体部署过程如下:


  1. 安装Strongswan:yum install strongswan -y。
  2. 配置Strongswan。本示例配置仅供参考。
    (1).[centos ~]# vim /etc/strongswan/ipsec.conf
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
 
config setup
    # strictcrlpolicy=yes
    uniqueids = never
 
conn %default
        ikelifetime=1440m   
        keylife=60m
        rekeymargin=3m
        keyingtries=0
        keyexchange=ikev1   #ike版本
        authby=psk
 
conn toMyIdc
      left=%defaultroute
      leftid=x.x.x.44    #本地IDC网关公网IP
      leftsubnet=172.28.0.0/16    #本地IDC私有网络地址,如果要确保VPC网段都能通,需要添加整段VPC地址
      right=x.x.x.152      #阿里云VPN网关公网IP
      rightid=x.x.x.152    #阿里云VPN网关公网IP
      rightsubnet=172.17.0.0/16     #阿里云VPN网关关联VPC私有网络地址
      auto=start   #进程主动时立即建立 IPsec 安全连接
      type=tunnel
      ike=3des-md5-modp1024
      esp=3des-md5

(2).运行以下命令打开ipsec.secrets配置文件。本示例配置仅供参考。

[centos ~]# vi /etc/strongswan/ipsec.secrets
# ipsec.secrets - strongSwan IPsec secrets file
x.x.x.44 x.x.x.152 : PSK 1234567

(3)./etc/sysctl.conf系统配置。本示例配置仅供参考。

vim /etc/sysctl.conf
#配置转发,默认是0
net.ipv4.ip_forward = 1
#关闭重定向,防止恶意用户可以使用IP重定向来修改远程主机中的路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
 
#使配置生效
[centos ~]# sysctl -p

c. 启动Strongswan服务。
systemctl start strongswan.service
d. 添加路由,本示例直接在界面化添加。

在IDC核心网关上添加到对端172.17.0.0/16的路由,下一跳指向strongswan的IP 172.28.0.7。


步骤五:配置VPN网关路由

完成以下操作,配置VPN网关路由。

  1. 在左侧导航栏,单击网间互联 > VPN > VPN网关。
  2. 选择VPN网关的地域。
  3. 在 VPN网关 页面,找到目标VPN网关,单击 实例ID/名称 列下的实例ID。
  4. 在 目的路由表 页签,单击 添加路由条目。
  5. 在 添加路由条目 页面,根据以下信息配置目的路由,然后单击 确定。


  • 目标网段:输入本地IDC侧的私网网段。本示例为:172.28.0.0/16。
  • 下一跳类型:IPsec连接。
  • 下一跳:选择IPsec连接实例。
  • 发布到VPC:选择是否将新添加的路由发布到VPC路由表。本例选择
  • 权重:选择权重值。本例选择 100(主)


步骤六:测试网络访问

登录到阿里云VPC内一台无公网IP的ECS实例,并通过ping命令ping本地数据中心内一台服务器的私网IP地址,验证通信是否正常。

步骤七:搭建自建DNS服务

  1. 安装Bind:yum install -y *bind
  2. 配置named.conf:vim /etc/named.conf。本示例配置仅供参考。


zone "alidns-example.com" IN {
        type master;
        file "alidns-example.com.zone";
        allow-update {127.0.0.1; };
};

3.配置alidns-example.com.zone:vim /var/named/alidns-example.com.zone。本示例配置仅供参考。

$TTL 3600
@       IN SOA  172.28.0.7. admin.alidns-example.com. (
                                        8       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@       IN      NS      172.28.0.7.
@       IN      A       15.15.XX.XX

4.启动Bind:systemctl start named.service

步骤八:转发管理配置

一、创建出站终端节点

完成以下操作,配置出站终端节点。

  1. 登录云解析控制台
    > 内网DNS解析(PrivateZone) >选择 管理配置模式 > 转发管理 > 出站终端节点 > 创建出站终端节点
  2. 创建出站终端节点 页面,根据以下信息进行配置,然后点击 确定
  • 终端节点名称:输入终端节点名称。本示例采用Test。
  • 出站VPC:转发管理所有出站的DNS查询流量都将由此VPC进行流量转发。本示例选取北京Region下的VPC。
  • 安全组:安全组里面的规则将应用于出站VPC。本示例进行了TCP/UDP 53端口入站/出站开放。
    说明
  • 目前仅支持选择非托管安全组。托管安全组信息,请参见托管安全组
  • 出站流量源IP地址:选择并填入可用区内子网下的IP地址(非ECS已占用IP地址)。
二、创建转发规则
  • 在 转发管理 页面选择 转发规则 页签,再点击 创建转发规则。并根据以下信息进行配置转发规则,然后点击确定。
  • 规则名称:输入规则名称。本示例采用Test。
  • 规则类型:目前仅可选择“转发至外部IP”。
  • 转发域名(Zone):填入您需要转发查询的域名名称。本示例为:alidns-example.com。
  • 出站终端节点:选择已经创建好的出站终端节点。本示例为上一步创建的出站终端节点Test。
  • 外部DNS系统的IP地址和端口:线下IDC中自建DNS服务器的IP地址与端口号。本示例为:172.28.XX.XX:53。


三、设置规则生效范围
  1. 转发规则 页面,点击目标转发规则 操作 列的 转发规则生效范围。在 转发规则生效范围 弹框中选择域名生效范围VPC(绑定的VPC与出站终端节点需要在相同的Region下)。


步骤九:解析测试

  1. 登录关联VPC内的任一ECS进行以下命令测试:
    dig alidns-example.com
相关文章
|
1天前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
6天前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
14 0
|
2月前
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
|
2月前
|
网络协议 NoSQL 网络安全
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
【Azure 应用服务】由Web App“无法连接数据库”而逐步分析到解析内网地址的办法(SQL和Redis开启private endpoint,只能通过内网访问,无法从公网访问的情况下)
|
3月前
|
监控 负载均衡 Java
深入理解Spring Cloud中的服务网关
深入理解Spring Cloud中的服务网关
|
4天前
|
安全 5G 网络性能优化
|
29天前
|
监控 负载均衡 安全
微服务(五)-服务网关zuul(一)
微服务(五)-服务网关zuul(一)
|
2月前
|
运维 Kubernetes 安全
利用服务网格实现全链路mTLS(一):在入口网关上提供mTLS服务
阿里云服务网格(Service Mesh,简称ASM)提供了一个全托管式的服务网格平台,兼容Istio开源服务网格,用于简化服务治理,包括流量管理和拆分、安全认证及网格可观测性,有效减轻开发运维负担。ASM支持通过mTLS提供服务,要求客户端提供证书以增强安全性。本文介绍如何在ASM入口网关上配置mTLS服务并通过授权策略实现特定用户的访问限制。首先需部署ASM实例和ACK集群,并开启sidecar自动注入。接着,在集群中部署入口网关和httpbin应用,并生成mTLS通信所需的根证书、服务器证书及客户端证书。最后,配置网关上的mTLS监听并设置授权策略,以限制特定客户端对特定路径的访问。
124 2
|
13天前
|
前端开发 Java API
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
本文是Vert.x学习系列的第五部分,讨论了回调函数的限制、Future和Promise在异步操作中的应用、响应式扩展以及Kotlin协程,并通过示例代码展示了如何在Vert.x中使用这些异步编程模式。
31 5
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
|
29天前
|
测试技术 微服务
微服务(八)-服务网关zuul(四)
微服务(八)-服务网关zuul(四)

推荐镜像

更多