Azure

AzureでNAT設置パターンを考える。構築編、これでルートテーブルも大丈夫かもよ。

はじめに

くどうです。
前回の投稿では概要だけ説明しました。
AzureでNAT設置パターンを考える。これでAWSからも移行できますね。

今回は、実際にNATを設置する方法えお、解説していきます。
鍛えられたAzurerさん達は見なくても大丈夫!

概要

概要を説明します。

プライベートセグメントから外部へ通信する場合、NATを利用して外部との通信を行います。
そのため、NATを設置しルーティングによりプライベートセグメントからのデフォルトルートをNATにします。
NATをデフォルトルートに設定する場合、UDRを設定します。UDRを設定する場合、仮想ネットワークへ所属している必要があります。制限事項になります。

今回、大きく分けて手順はい以下になります。
①仮想ネットワーク
②NATの構築
③ルーティングの設定

仮想ネットワーク

仮想ネットワークは1つ作成します。
その中でSubnetを3つ作成します。

以下の構成で作成していきます。

  • 仮想ネットワーク:vnet-1 日本(東) 10.0.0.0/16
  • Subnet1:Private-1 10.0.0.0/24
  • Subnet2:Private-2 10.0.1.0/24
  • Subnet3:Public-1 10.0.2.0/24
  • DNSは指定しない

1、左メニューからネットワークを開きます。下部「新規」から作成するか、右ペイン「仮想ネットワークの作成」をクリックします。

net_udr000

2、[名前]に[vnet-1]を入力します。[場所]に[日本(東)]を選択します。

net_udr001

3、[DNSサーバーおよびVPN接続]画面での変更点はありません。DNSで変更が必要な場合は変更してください。設定後でも変更は可能です。

net_udr002

4、[想ネットワーク アドレス空間]画面でCIDRを[/16(65536)]へ変更します。
サブネットに以下を入力します。
[Private-1] [10.0.0.0] [/24(256)]
[Private-2] [10.0.1.0] [/24(256)]
[Public-1] [10.0.2.0] [/24(256)]

net_udr003

5、以上で仮想ネットワークの作成が出来ました。
net_udr004

NATの構築

ここからは、NATを作成します。
以下の構成で作成します。

  • 各仮想マシンは仮想ネットワーク(vnet-1)に属します
  • NAT仮想マシン:lv69nat 10.0.2.10(IPアドレス固定)
  • 確認マシン1:lv69src1
  • 確認マシン2:lv69src1
  • クラウドサービスDNS名:lv69demo
  • 可用性セット:lv69ha(lv69src1とlv69src2が属します)
  • 各仮想マシンはCentOS7ベースのOpenLogic7.1を利用します
  • 各仮想マシンはBASIC A0サイズを利用します(確認のため)

NAT仮想マシンは、パブリックのセグメント(public-1)に配置します。デプロイ後ログインしNATの設定を行います。

1、左メニューから「仮想マシン」を選択します。「仮想マシンを作成する」をクリックします。
net_udr005

2、[ギャラリー]を選択します。
net_udr006

3、[イメージの選択]画面で、OpenLogic 7.1を選択します。6系を使いたい方はご自由に設定を行ってください。ここでは説明しません。
net_udr007

4、[仮想マシン名]に[lv69nat]と入力します。BASIC A0を選択します。認証では、キーの作成を行っていないのでパスワードを指定します。通常はキーを利用することをお勧めします。
net_udr008

5、[仮想マシンの構成]では[クラウドサービスDNS名]に[lv69demo]を入力します。[仮想ネットワーク]は[vnet-1]を選択します。[仮想ネットワーク サブネット]ではpublic-1を選択します。ストレージアカウントは事前に作成したものでも、自動作成された物でも構いません。制限事項ではありません。
net_udr009
net_udr010

6、VMエージェントは変更せずに完了します。以上で、NAT仮想マシンの作成は完了です。
net_udr011

7、デプロイ完了後、ダッシュボードを開きます。右ペインから、[SSH の詳細]を確認します。接続するための情報になります。Tera Term 等で接続します。
net_udr018

8、接続後、設定を行います。
IP Forwarding を有効にします。

再起動後も有効になるように /etc/sysctl.d/ip_forward.conf に設定します。

NATを有効にします。
CentOS7系ではiptablesは利用しません。Firewalldを利用します。
下記では、元々マスカレードの設定がされているzoneに変更します。

以上でNATの設定は完了です。
次に、NATするプライベートセグメントに確認用仮想マシンを設置します。

9、確認用仮想マシンの設置します。作成手順は1~3を繰り返します。[仮想マシンの構成]画面で、[仮想マシン名]を[lv69src1]を入力します。
net_udr012

10、[クラウドサービス]に[lv69demo]を選択します。[仮想ネットワーク]に[Private-1(10.0.0.0/24)]を選択します。[可用性セット]は[可用性セット作成]を選択し、[可用性セット名]に[lv69ha]を入力します。以上の設定で完了です。
net_udr013

12、確認用仮想マシンの設置します。作成手順は1~3を繰り返します。[仮想マシンの構成]画面で、[仮想マシン名]を[lv69src2]を入力します。
net_udr015

13、[クラウドサービス]に[lv69demo]を選択します。[仮想ネットワーク]に[Private-2(10.0.1.0/24)]を選択します。[可用性セット]は[lv69ha]を選択します。以上の設定で完了です。
net_udr016

ルーティングの設定

ルーティングの設定を行います。Azureでルーティングの設定を行う場合はAzure PowerShellを利用します。
Azure PowerShellの設定は完了していることを前提に解説していきます。Azure PowerShellがインストールされていない場合は、Web Platform Installerなどを利用してインストールしてください。

Azureでルーティングの設定は「User Defined Routes(ユーザー定義のルート)」(以下UDR)を利用します。UDR は、サブネットに定義することができます。
ネクストホップとて指定できるものは以下になります。

(以下マイクロソフトより転載:ユーザー定義のルートと IP 転送

  • Local: ローカルの仮想ネットワークを表します。たとえば、同じ仮想ネットワークに 10.1.0.0/16 と 10.2.0.0/16 の 2 つのサブネットがある場合、ルート テーブル内の各サブネットのルートは、次ホップの値が Local になります。
  • VPN Gateway:Azure S2S VPN ゲートウェイを表します。
  • Internet: Azure インフラストラクチャによって提供される既定のインターネット ゲートウェイを表します。
  • Virtual Appliance:Azure Virtual Network に追加した仮想アプライアンスを表します。この場合、転送先のアプライアンスをIP指定します。
  • NULL: ブラック ホールを表します。ブラック ホールに転送されたパケットはまったく転送されません。

今回は、NATのため Virtual Appliance を指定します。

1、PowerShellを開きます。最初に利用する、アカウントを追加します。

2、利用するサブスクリプションを選択します。
使用する、サブスクリプションを確認します。

IsCurrentが Falseをなっており、サブスクリプションが選択されていません。選択します。

Tureになっていること確認します。

3、最初にNAT仮想マシンを静的IPアドレスに変更します。

4、ルートテーブルを作成します。

5、ルートテーブルにルートを追加します。

6、ルートテーブルをサブネットに割り当てます。

実際にVMに適用されているルールを確認します。
natrouteが適用されていることが確認できます。

以上で設定が完了です。

確認作業として、lv69src1、lv69src2へlv69nat経由でログインします。
UDRを設定したため、private-1およびprivate-2のサブネットには直接ログインすることができません。

ログイン後、curlコマンドで確認してみましょう。ICMPは使用できません。
グローバルIPを取得してみます。

問題なく、外部から取得できていることが確認できました。

おわりに

今回は、NAT設置パターンでした。NATを設置するケース、ルートテーブルを設定する場合は多いです。プライベートセグメントのルートを変更する場合、VPNで接続した場合では、そちらに向けたりすることもあります。または、オンプレや他のクラウドサービスからの移行などのケースでも必要だと考えられます。Azureでもできることを覚えておくと良いでしょう。
ではでは、良いAzure Lifeを。

Related post

  1. Azure

    Active DirectoryをASMからARMに移行する方法を考える。

    はじめにくどうです。何かと仮想マシンでActive Dir…

  2. AWS

    パソコン同士をVPNで接続する方法(お気に入りツールの紹介)

    はじめにくどうですパソコン同士をVPNで接続する場合が多く…

  3. Azure

    「クラウドの知識から学ぶ Azure 勉強会@旭川」に参加して話してきた。

    はじめにくどうです。今回は、勉強会レポートです。9月19日に「ク…

  4. Azure

    Azure Application Gateway にフロントポートを追加する。

    はじめにくどうです前回の記事では、httpsポートでAzu…

  5. Azure

    WordPressをAzureWebSiteに移行する方法

    最近は、WordPressを利用する人も多くなってきました。そこで、…

  6. AWS

    AzureとAWSを接続してみようと思うけどどうやるの?

    はじめにくどうです。2015年初投稿です。クラウド間で接続して…

  1. 未分類

    iGoogleだーーー!
  2. 未分類

    National Information Security Center
  3. 未分類

    P2Vした仮想マシンをHyper-v上でベンチマークテストしてみました
  4. 未分類

    CentOS で VMware をインストール後vmware-config.pl…
  5. Azure

    他社さんの、社内勉強会に行ってきた。
PAGE TOP