背景描述
自建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的解析同步至云上進行解析。
自建DNS建議使用Bind,目前輔助DNS對Windows DNS Server不提供完整支持。
通過解析器實現云上訪問云下資源
什么是解析器?
解析器(Resolver)通過創建域名轉發規則和DNS出站終端節點,可將阿里云VPC下PrivateZone 的DNS請求流量轉發到外部DNS系統,能夠有效解決混合云、云上&云下的業務間調用場景。
資源準備
1.使用阿里云服務器模擬線下IDC,然后通過Bind搭建自建DNS服務。
2.阿里云VPC側VPN網關產品服務。
3.云解析PrivateZone產品服務。
參考鏈接:
操作步驟
步驟一:創建VPN網關
完成以下操作,創建VPN網關。
登錄專有網絡管理控制臺 。
在左側導航欄,單擊VPN > VPN網關。
在VPN網關頁面,單擊創建VPN網關。
在購買頁面,根據以下信息配置VPN網關,然后單擊立即購買完成支付。
返回VPN網關頁面,查看創建的VPN網關。本示例VPC公網IP為:x.x.x.217。
剛創建好的VPN網關的狀態是準備中,約兩分鐘左右會變成正常狀態。正常狀態表明VPN網關完成了初始化,可以正常使用了。
步驟二:創建用戶網關
完成以下操作,創建用戶網關。
在左側導航欄,單擊VPN > 用戶網關。
選擇用戶網關的地域。
在用戶網關頁面,單擊創建用戶網關。
在創建用戶網關頁面,根據以下信息配置用戶網關,然后單擊確定。
名稱:輸入用戶網關的名稱。
IP地址:輸入VPC要連接的本地數據中心網關設備的公網IP。本示例模擬自建IDC的IP為:x.x.x.44。
描述:輸入用戶網關的描述信息。
步驟三:創建IPsec連接
完成以下操作,創建IPsec連接。
在左側導航欄,單擊VPN > IPsec連接。
選擇創建IPsec連接的地域。
在IPsec連接頁面,單擊創建IPsec連接。
在創建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配置。
在左側導航欄,單擊VPN > IPsec連接。
選擇IPsec連接的地域。
在IPsec連接頁面,找到目標IPsec連接,然后單擊操作列下的下載對端配置。
根據本地網關設備的配置要求,將下載的配置添加到本地網關設備中。具體參考:
本示例采用的是Strongswan搭建IPsec-VPN服務,具體部署過程如下:
安裝Strongswan:yum install strongswan -y。
配置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網關路由。
在左側導航欄,單擊VPN > VPN網關。
選擇VPN網關的地域。
在VPN網關頁面,找到目標VPN網關,單擊實例ID/名稱列下的實例ID。
在目的路由表頁簽,單擊添加路由條目。
在添加路由條目頁面,根據以下信息配置目的路由,然后單擊確定。
目標網段:輸入本地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)配置
具體配置鏈接可以參考:
一、創建出站終端節點
完成以下操作,配置出站終端節點。
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。
三、關聯VPC
1.選擇要進行VPC關聯的轉發規則,點擊關聯VPC,進行VPC綁定。(綁定的VPC與出站終端節點需要在相同的Region下)。支持 跨賬號關聯VPC 。
步驟九:解析測試
1.登錄關聯VPC內的任一ECS進行以下命令測試:
[centos ~]# dig alidns-example.com