シナリオ
企業は、自己管理型データセンターとAlibaba Cloud仮想プライベートクラウド (VPC) を含む2つの分離されたネットワーク環境でサービスを実行します。 企業は、ドメインネームシステム (DNS) 解決を使用して、データセンターとVPC間のサービスにアクセスする必要があります。 企業の運用保守 (O&M) エンジニアがネットワーク環境ごとに別々のDNSデータを管理する場合、多くの繰り返し作業を実行する必要があり、データの不整合やサービスの不安定性のリスクが高くなります。 したがって、O&Mエンジニアは、サービス間のリアルタイムアクセスを可能にするために、データセンターとVPC間でDNSデータを共有する必要があります。 このトピックでは、Alibaba Cloud DNS PrivateZoneとVPN Gatewayを使用して、VPC内のElastic Compute Service (ECS) インスタンスがオンプレミスDNSにアクセスできるようにする方法について説明します。
ソリューション
このトピックでは、VPC内のECSインスタンスがオンプレミスDNSにアクセスできるようにする3つのソリューションを提供します。 このトピックでは、ソリューション1の設定手順と検証方法について詳しく説明します。
解決策1: Alibaba Cloud DNS PrivateZoneのリゾルバ機能を使用して、VPC内のECSインスタンスがオンプレミスDNSにアクセスできるようにする
1。 Smart Access Gateway (SAG) デバイス、Express Connect回路、またはVPNを使用して、VPCをデータセンターに接続します。 たとえば、IPsec-VPN接続を使用してVPCをデータセンターに接続できます。
解決策2: VPC内のECSインスタンスのDNSサーバー情報を変更して、ECSインスタンスがオンプレミスDNSにアクセスできるようにする
1。 SAGデバイス、Express Connect回路、またはVPNを使用して、VPCをデータセンターに接続します。 たとえば、IPsec-VPN接続を使用してVPCをデータセンターに接続できます。
2. VPCのECSインスタンスのDNSサーバー情報を変更します。 ECSインスタンスは、オンプレミスDNSにDNSリクエストを送信できます。
[centos]# vim /etc/resolv.conf
# Change the nameserver values to the IP addresses of the on-premises DNS.
nameserver 2.2.XX.XX
nameserver 3.3.XX.XX
解決策3: Alibaba Cloud DNS PrivateZoneのセカンダリDNS機能を使用して、VPC内のECSインスタンスがオンプレミスDNSにアクセスできるようにする
1。 SAGデバイス、Express Connect回路、またはVPNを使用して、VPCをデータセンターに接続します。 たとえば、IPsec-VPN接続を使用してVPCをデータセンターに接続できます。
2. セカンダリDNSの有効化. ドメイン名を解決するために、オンプレミスDNSからセカンダリDNSにDNSデータを同期できます。
オンプレミスDNSを構築するには、Berkeley Internet Name Domain (BIND) を使用することを推奨します。 セカンダリDNS機能は、Windows DNSサーバーを完全にサポートしていません。
Alibaba Cloud DNS PrivateZoneのリゾルバ機能を使用して、VPC内のECSインスタンスがオンプレミスDNSにアクセスできるようにする
リゾルバーとは何ですか?
Alibaba Cloud DNS PrivateZoneのリゾルバー機能を使用すると、ドメイン名ベースの転送ルールとDNSアウトバウンドエンドポイントを作成できます。 VPCに関連付けられたプライベートゾーン内で送信されるDNSリクエストの場合、作成したルールとエンドポイントを使用して、リクエストをサードパーティDNSに転送できます。 これにより、データセンター、Alibaba Cloud VPC、およびハイブリッドクラウド環境にデプロイされたサービスが、ドメイン名を使用して相互にアクセスできるようになります。
準備
1。 Alibaba Cloud ECSインスタンスを使用してデータセンターをシミュレートします。 次に、BINDを使用してオンプレミスDNSを構築します。
2. VPC を作成します。
3. Alibaba Cloud DNS PrivateZoneを有効化します。
参照
手順
ステップ1: VPNゲートウェイの作成
VPNゲートウェイを作成するには、次の操作を実行します。
VPCコンソールにログインします。
左側のナビゲーションウィンドウの [相互接続] セクションで、[VPN] > [VPNゲートウェイの] を選択します。
[VPN Gateway] ページで、[VPN Gatewayの作成] をクリックします。
購入ページで、VPNゲートウェイのパラメーターを設定し、[今すぐ購入] をクリックして、支払いを完了します。
VPN gatewayページに移動して、作成されたVPN gatewayを表示します。 この例では、VPCに関連付けられているVPNゲートウェイのパブリックIPアドレスはx.x.x.217です。
VPN gatewayは、作成後に準備状態になり、約2分後に通常状態になります。 Normal状態は、VPNゲートウェイが初期化され、使用できる状態にあることを示します。
手順2: カスタマーゲートウェイの作成
カスタマーゲートウェイを作成するには、次の操作を実行します。
左側のナビゲーションウィンドウの [相互接続] セクションで、[VPN] > [カスタマーゲートウェイ] を選択します。
上部のナビゲーションバーで、カスタマーゲートウェイを作成するリージョンを選択します。
[カスタマーゲートウェイ] ページで、[カスタマーゲートウェイの作成] をクリックします。
[カスタマーゲートウェイの作成] パネルで、カスタマーゲートウェイのパラメーターを設定し、[OK] をクリックします。
名前:カスタマーゲートウェイの名前を入力します。
IPアドレス: VPCに接続するデータセンターのゲートウェイデバイスのパブリックIPアドレスを入力します。 この例では、データセンターにデプロイされたゲートウェイデバイスのパブリックIPアドレスはx.x.x.44です。
説明: カスタマーゲートウェイの説明を入力します。
手順3: IPsec-VPN接続の作成
IPsec-VPN接続を作成するには、次の操作を実行します。
左側のナビゲーションウィンドウの [相互接続] セクションで、[VPN] > [IPsec接続の] を選択します。
上部のナビゲーションバーで、IPsec-VPN接続を作成するリージョンを選択します。
[IPsec接続] ページで、[IPsec接続の作成] をクリックします。
[IPsec接続の作成] ページで、IPsec-VPN接続のパラメーターを設定し、[OK] をクリックします。
名前:IPsec-VPN 接続の名前を入力します。
VPN Gateway: 作成したVPN gatewayを選択します。
カスタマーゲートウェイ: 作成したカスタマーゲートウェイを選択します。
ローカルネットワーク: 選択したVPNゲートウェイが関連付けられているVPCのCIDRブロックを入力します。 この例では、172.25.0.0/16と入力します。
リモートネットワーク: データセンターのCIDRブロックを入力します。 この例では、172.28.0.0/16と入力します。
すぐに有効: 接続ネゴシエーションをすぐに開始するかどうかを指定します。 設定可能な値は以下のとおりです。
はい: 設定完了後すぐに交渉を開始します。
No: トラフィックが検出されるとネゴシエーションを開始します。
事前共有キー: 事前共有キーを入力します。 事前共有キーは、データセンターにデプロイされたゲートウェイデバイスのキーと同じである必要があります。 他のパラメーターについてはデフォルト値を使用します。
高度な設定:
IKE設定:
暗号化アルゴリズム: ビジネス要件に基づいてこのパラメーターを設定します。 この例では、[3des] を選択します。
認証アルゴリズム: ビジネス要件に基づいてこのパラメーターを設定します。 この例では、md5を選択します。
IPsec設定:
暗号化アルゴリズム: ビジネス要件に基づいてこのパラメーターを設定します。 この例では、[3des] を選択します。
認証アルゴリズム: ビジネス要件に基づいてこのパラメーターを設定します。 この例では、md5を選択します。
DHグループ: ビジネス要件に基づいてこのパラメーターを設定します。 この例では、[disabled] を選択します。
手順4: IPsec-VPN接続の設定をデータセンターのゲートウェイデバイスに読み込む
次の操作を実行して、IPsec-VPN接続の設定をデータセンターのゲートウェイデバイスにロードします。
左側のナビゲーションウィンドウの [相互接続] セクションで、[VPN] > [IPsec接続の] を選択します。
上部のナビゲーションバーで、IPsec-VPC接続が存在するリージョンを選択します。
[IPsec接続] ページで、IPsec-VPN接続を見つけ、[操作] 列の [詳細] アイコンをクリックし、[設定のダウンロード] を選択します。
IPsec-VPN接続の設定をデータセンターのゲートウェイデバイスにロードします。 詳細については、以下のドキュメントをご参照ください:
次の操作を実行して、この例ではIPsec-VPN接続を確立するために使用されるstrongSwanをデプロイします。
yum install strongswan -yコマンドを実行してstrongSwanをインストールします。
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 # The IKE version.
authby=psk
conn toMyIdc
left=%defaultroute
leftid=x.x.x.44 # The public IP address of the gateway device deployed in the data center.
leftsubnet=172.28.0.0/16 # The CIDR block of the data center. To ensure that the IPsec-VPN connection is available to all devices in the data center, you must specify the CIDR block of the data center with this parameter.
right=x.x.x.152 # The public IP address of the VPN gateway.
rightid=x.x.x.152 # The public IP address of the VPN gateway.
rightsubnet=172.17.0.0/16 # The CIDR block of the VPC with which the VPN gateway is associated.
auto=start # Immediately load the connection at the IPsec startup.
type=tunnel
ike=3des-md5-modp1024
esp=3des-md5
(2) 。 ipsec.secretsファイルを設定します。 この例の構成は参照用である。
[centos ~]# vi /etc/strongswan/ipsec.secrets
# ipsec.secrets - strongSwan IPsec secretsファイル
x.x.x.44 x.x.x.152 : PSK 1234567
(3) 。 を設定します。/etc/sysctl.confファイルです。 この例の構成は参照用である。
[centos ~]# vim /etc/sysctl.conf
# Specify whether to enable the forwarding of IPv4 packets. Default value: 0.
net.ipv4.ip_forward = 1
# Specify whether to disable the accepting and sending of IPv4 redirected packets. If the values are set to 0, malicious users cannot modify the route table on a remote host by using IP redirects.
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
# Make the configurations take effect.
[centos ~]# sysctl -p
c. strongSwanを開始します。
[centos ~]# systemctl start strongswan.service
d。 ルートを追加します。 この例では、ルートはGUIに追加されます。
データセンターにデプロイされたゲートウェイデバイスのGUIで、トラフィックを送信するためのルートを172.17.0.0/16に追加します。 ネクストホップアドレスはstrongSwan IPアドレス172.28.0.7に設定されます。
手順5: VPNゲートウェイのルートの設定
VPNゲートウェイのルートを設定するには、次の操作を実行します。
左側のナビゲーションウィンドウの [相互接続] セクションで、[VPN] > [VPNゲートウェイの] を選択します。
上部のナビゲーションバーで、VPN gatewayが存在するリージョンを選択します。
[VPN gateway] ページで、VPN gatewayを見つけ、[インスタンスID /名前] 列のゲートウェイIDをクリックします。
[宛先ベースのルーティング] タブで、[ルートエントリの追加] をクリックします。
[ルートエントリの追加] パネルで、必要に応じてパラメーターを設定し、[OK] をクリックします。
宛先CIDRブロック: データセンターのCIDRブロックを入力します。 この例では、172.28.0.0/16と入力します。
ネクストホップ: 作成したIPsec-VPN接続を選択します。
VPCに公開: 新しいルートをVPCルートテーブルに自動的に通知するかどうかを指定します。 この例では、[はい] をクリックします。
重み:重みを選択します。 この例では、[100] を選択します。
ステップ6: 接続のテスト
VPCでパブリックIPアドレスが割り当てられていないECSインスタンスにログインします。 pingコマンドを実行して、データセンターのサーバーのプライベートIPアドレスをpingし、接続をテストします。
ステップ7: オンプレミスDNSの構築
1。 yum install -y * bindコマンドを実行してBINDをインストールします。
2. vim /etc/named.confコマンドを実行して、named.confファイルを開き、ファイルを設定します。 この例の構成は参照用である。
zone "alidns-example.com" IN {
type master;
file "alidns-example.com.zone";
allow-update {127.0.0.1; };
};
3. vim /var/name d/alidns-example.com.zoneコマンドを実行して、e 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. systemctl start named.serviceコマンドを実行してBINDを開始します。
手順8: リゾルバーの設定
Resolverの詳細については、以下をご参照ください。
1。 送信エンドポイントを作成します。
次の操作を実行して、アウトバウンドエンドポイントを作成します。
a. Alibaba Cloud DNS コンソールにログインします。 左側のナビゲーションウィンドウで、[PrivateZone] をクリックします。 PrivateZoneページで、Resolverタブをクリックします。 [リゾルバー] タブで、左側の [アウトバウンドエンドポイント] をクリックします。 表示されるページで、[送信エンドポイントの作成] をクリックします。
b. [送信エンドポイントの作成] パネルで、必要に応じてパラメーターを設定し、[確認] をクリックします。
エンドポイント名: アウトバウンドエンドポイントの名前を入力します。 この例では、Testと入力します。
アウトバウンドVPC: アウトバウンドエンドポイントが存在するVPCを選択します。 リゾルバーは、指定されたVPCのすべてのアウトバウンドDNSリクエストを転送します。 この例では、中国 (北京) リージョンのVPCを選択します。
セキュリティグループ: VPCに関連付けられているセキュリティグループを選択します。 セキュリティグループの転送ルールがVPCに適用されます。 この例では、TCPまたはUDPポート53を介したインバウンドおよびアウトバウンドトラフィックが許可されています。
説明管理モードでないセキュリティグループのみがサポートされます。 詳細については、「管理セキュリティグループ」をご参照ください。
送信トラフィックの送信元IPアドレス: DNSリクエストが転送されるIPアドレスを設定します。 使用可能なIPアドレスは、指定されたリージョンのゾーンのサブネット内のIPアドレスです。 IPアドレスはECSインスタンスによって占有されてはなりません。
2. 転送ルールを作成します。
a. [リゾルバー] タブで、左側の [転送ルール] をクリックします。 表示されるページで、転送ルールの作成をクリックします。 転送ルールの作成パネルで、必要に応じてパラメーターを設定し、確認をクリックします。
ルール名: 転送ルールの名前を入力します。 この例では、Testと入力します。
Rule Type: 転送ルールのタイプを設定します。 このパラメーターは、[外部DNSに転送] にのみ設定できます。
転送ゾーン: DNSリクエストを転送する必要があるドメイン名を入力します。 この例では、r alidns-example.comをエンテします。
アウトバウンドエンドポイント: DNSリクエストの転送に使用するアウトバウンドエンドポイントを選択します。 この例では、前の手順で作成したアウトバウンドエンドポイントのテストを選択します。
外部DNSのIPアドレスとポート: DNSリクエストが転送されるデータセンターのDNSサーバーのIPアドレスとポート番号を入力します。 この例では、IPアドレスを172.28.0.7に、ポート番号を53に設定します。
注
パブリックIPアドレスを入力したが、アウトバウンドエンドポイントが存在するVPC内のECSインスタンスにパブリックIPアドレスが割り当てられていない場合は、
NAT GatewayとはNAT Gatewayとはを設定し、 VPC NATゲートウェイでのSNATエントリの作成と管理VPC NATゲートウェイでのSNATエントリの作成と管理。
3. 転送ルールを、アウトバウンドエンドポイントが存在するVPCに関連付けます。
a. 転送ルールを見つけ、[操作] 列の [VPCのバインド] をクリックします。 アウトバウンドエンドポイントが存在するVPCを選択し、[確認] をクリックします。 リゾルバーを使用すると、転送ルールを別のAlibaba Cloudアカウントに属するVPCに関連付けることができます。 詳細については、以下のドキュメントをご参照ください: アカウント間でゾーンをVPCに関連付ける。
ステップ9: DNS解決の確認
a. VPCのECSインスタンスにログインし、次のコマンドを実行して、ドメイン名が期待どおりに解決されているかどうかを確認します。
[centos ~]# di g alidns-example.com