全部產品
Search
文件中心

Alibaba Cloud DNS PrivateZone:PrivateZone&VPN網關聯動實現雲上訪問雲下資源

更新時間:Jul 06, 2024

背景描述

自建IDC和阿里雲VPC分別屬於兩套網路環境,但部署在自建IDC和阿里雲VPC內的業務都需要通過DNS解析進行業務間調用,並且分別管理兩套資料不僅給營運工程師帶來重複性工作的增加,同時也會產生資料一致性管理的風險,給業務帶來很高的不確定性,所以需要在自建IDC和阿里雲VPC共用DNS解析資料,來實現業務間能即時調用。本文章將講解如何?雲上PrivateZone訪問雲下DNS解析資料的方法。

解決方案

實現雲上訪問雲下資源,可以通過3種解決方案實現。本文則主要為您詳細說明方案一:通過解析器實現雲上訪問雲下資源的操作步驟和驗證方法。

(一)通過解析器實現雲上訪問雲下資源

1.通過SAG/專線/VPN等串連方式,將雲上VPC與傳統資料中心互聯。本樣本採用IPsec-VPN隧道方式。

(二)通過修改雲上伺服器的LocalDns實現雲上訪問雲下資源

1.通過SAG/專線/VPN等串連方式,將雲上VPC與傳統資料中心互聯。本樣本採用IPsec-VPN隧道方式。

2.通過修改雲上伺服器的LocalDns,用戶端發起直接向線下自建DNS伺服器發起解析請求。

[centos]# 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建議使用Bind,目前輔助DNS對Windows DNS Server不提供完整支援。

通過解析器實現雲上訪問雲下資源

什麼是解析器?

解析器(Resolver)通過建立網域名稱轉寄規則和DNS出站終端節點,可將阿里雲VPC下PrivateZone 的DNS請求流量轉寄到外部DNS系統,能夠有效解決混合雲、雲上&雲下的業務間調用情境。

資源準備

1.使用阿里雲伺服器類比線下IDC,然後通過Bind搭建自建DNS服務。

2.阿里雲VPC側VPN網關產品服務。

3.雲解析PrivateZone產品服務。

參考連結:

操作步驟

12

步驟一:建立VPN網關

完成以下操作,建立VPN網關。

  1. 登入專用網路管理主控台

  2. 在左側導覽列,單擊VPN > VPN網關

  3. VPN網關頁面,單擊建立VPN網關

  4. 在購買頁面,根據以下資訊配置VPN網關,然後單擊立即購買完成支付。

  5. 返回VPN網關頁面,查看建立的VPN網關。本樣本VPC公網IP為:x.x.x.217。

剛建立好的VPN網關的狀態是準備中,約兩分鐘左右會變成正常狀態。正常狀態表明VPN網關完成了初始化,可以正常使用了。

步驟二:建立使用者網關

完成以下操作,建立使用者網關。

  1. 在左側導覽列,單擊VPN > 使用者網關

  2. 選擇使用者網關的地區。

  3. 使用者網關頁面,單擊建立使用者網關

  4. 建立使用者網關頁面,根據以下資訊配置使用者網關,然後單擊確定

    • 名稱:輸入使用者網關的名稱。

    • IP地址:輸入VPC要串連的本機資料中心網關裝置的公網IP。本樣本類比自建IDC的IP為:x.x.x.44。

    • 描述:輸入使用者網關的描述資訊。

步驟三:建立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。

    • 立即生效:選擇是否立即生效。

      • :配置完成後立即進行協商。

      • :當有流量進入時進行協商。

    • 預先共用金鑰:輸入共用密鑰,該值必須與本地網關裝置的預先共用金鑰一致。其他選項使用預設配置。

    • 進階配置:

      • IKE配置:

        • 密碼編譯演算法:根據實際情境進行選擇。本樣本為:3des。

        • 認證演算法:根據實際情境進行選擇。本樣本為:md5。

      • IPsec配置:

        • 密碼編譯演算法:根據實際情境進行選擇。本樣本為:3des。

        • 認證演算法:根據實際情境進行選擇。本樣本為:md5。

        • DH分組:根據實際情境進行選擇。本樣本為:disabled。

步驟四:在本地網關裝置中載入VPN配置

完成以下操作,在本地網關裝置中載入VPN配置。

  1. 在左側導覽列,單擊VPN > IPsec串連

  2. 選擇IPsec串連的地區。

  3. IPsec串連頁面,找到目標IPsec串連,然後單擊操作列下的下載對端配置

  4. 根據本地網關裝置的配置要求,將下載的配置添加到本地網關裝置中。具體參考:

    strongSwan配置

  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系統配置。本樣本配置僅供參考。

[centos ~]# 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服務。

[centos ~]# 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串連執行個體。

    • 發布到VPC:選擇是否將新添加的路由發布到VPC路由表。本例選擇是。

    • 權重:選擇權重值。本例選擇100。

步驟六:測試網路訪問

登入到阿里雲VPC內一台無公網IP的ECS執行個體,並通過ping命令ping本機資料中心內一台伺服器的私網IP地址,驗證通訊是否正常。

步驟七:搭建自建DNS服務

1.安裝Bind:[centos ~]# yum install -y *bind。

2.配置named.conf:[centos ~]# 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:[centos ~]# 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.15.15

4.啟動Bind:[centos ~]# systemctl start named.service。

步驟八:解析器(Resolver)配置

具體配置連結可以參考:

解析器(Resolver)

一、建立出站終端節點

完成以下操作,配置出站終端節點。

1.登入雲解析控制台>PrivateZone>解析器>出站終端節點>建立出站終端節點。

2.在建立出站終端節點頁面,根據以下資訊進行配置,然後點擊確定。

  • 終端節點名稱:輸入終端節點名稱。本樣本採用Test。

  • 出站VPC:解析器所有出站的DNS查詢流量都將由此VPC進行流量轉寄。本樣本選取北京Region下的VPC。

  • 選擇安全性群組:安全性群組裡面的規則將應用於出站VPC。本樣本進行了TCP/UDP 53連接埠入站/出站開放。

    說明

    目前僅支援選擇非託管安全性群組。託管安全性群組資訊,請參見託管安全性群組

  • 出站流量源IP地址:選擇並填入可用性區域內子網下的IP地址(非ECS已佔用IP地址)。

二、建立轉寄規則

1.切換到轉寄規則頁面,並根據以下資訊進行配置轉寄規則,然後點擊確定。

  • 規則名稱:輸入規則名稱。本樣本採用Test。

  • 規則類型:目前僅可選擇“轉寄至外部DNS系統”。

  • 轉寄Zone:填入您需要轉寄查詢的Zone名稱。本樣本為:alidns-example.com。

  • 出站終端節點:選擇已經建立好的出站終端節點。本樣本為上一步建立的出站終端節點Test。

  • 外部DNS系統的IP地址和連接埠:線下IDC中自建DNS伺服器的IP地址與連接埠號碼。本樣本為:172.28.0.7:53。

    重要

    若您填寫的自建DNS伺服器為公網IP,且您出站終端節點VPC內ECS無公網IP,請開通

    NAT Gateway 並配置 SNAT功能

三、關聯VPC

1.選擇要進行VPC關聯的轉寄規則,點擊關聯VPC,進行VPC綁定。(綁定的VPC與出站終端節點需要在相同的Region下)。支援 跨帳號關聯VPC

步驟九:解析測試

1.登入關聯VPC內的任一ECS進行以下命令測試:

[centos ~]# dig alidns-example.com