清水理史の「イニシャルB」

RouterBoard RB2011UiAS-INでAzure仮想ネットワークにS2S接続

 前回に引き続き、低価格なルーター(RouterBoard)を使って、Microsoft AzureにS2S(Site to Site)で接続する方法を解説する。将来的にWindows 10がサービスとして提供されるようになれば、中小や個人事務所では、S2SでAzure上の仮想マシンをデスクトップとして使うことが普通になるかもしれない。

いよいよAzureへ

 前回、Azureに接続するためのルーター選定と、その中から最初のターゲットとして選んだRouterBoard RB2011UiAS-INを紹介した。引き続き、具体的な設定方法を紹介していこう。

 Azureへの接続は、基本的には前回紹介したTechnetの記事を参考に設定すればいいのだが、自宅や会社側のネットワーク構成によって、きちんとパラメータを設定しておかないと接続エラーが発生するので注意が必要だ。

 接続環境は、フレッツ光(ぷららダブルルートオプション固定IP)とauひかりを使用した。前者はRB2011UiAS-INでPPPoEを利用して回線に接続、後者はISPから貸与された上位ルーター(ホームゲートウェイ)の配下にRB2011UiAS-INを設置し、NAT越えの形で接続する。それぞれの違いも含めつつ設定方法を解説していこう。

オレンジのフキダシはRB2011UiAS-INに設定する際のパラメータ

Azure側の設定

 まずはAzure側で仮想ネットワークを作成する。事前に必要な情報は、LAN側のPCに配布されているIPアドレスの範囲、そしてWAN側のIPアドレスの2つだ。

 Azureの管理ポータルから「ネットワーク」を選択し、「新規」から「カスタム作成」を選択し、ウィザードに従って以下の要領で接続を作成する。

1-1 仮想ネットワークの詳細

 「名前」にネットワークを識別するための任意の名前、「場所」でテナントの場所(通常は東日本か西日本)を選択する。

1-2 DNSサーバーおよびVPN接続

 DNSサーバーの設定は不要なので空欄のまま。接続方法で「サイト間VPNの構成」にチェックを付け、「ローカルネットワーク」で「新しいローカルネットワークを指定する」を選択する。

1-3 サイト間接続

 「名前」に自宅側のネットワークを識別するための名前を設定し、「VPNデバイスのIPアドレス」にISPから割り当てられたWAN側の固定IPを設定する。

 アドレス空間には、自宅LANで使用しているIPアドレスの範囲を指定する。一般的には、192.168.0.xや192.168.1.xなどなので、「開始IP」に「192.168.1.0」を、CIDRアドレス数で「/24(256)」を指定しておく。

1-4 仮想ネットワーク アドレス空間

 仮想ネットワークアドレス空間は、Azure側のゲートウェイや仮想マシンが利用するアドレス空間だ。標準で、「Subnet-1」として「10.0.0.0」が追加されているので、これをそのまま利用する(仮想マシンに10.0.0.4などのアドレスを当てる)。

 Azure側に複数のサーバーを設置する場合などはサブネットを追加することも可能だが、ここではシンプルに1サブネットのみで構成する。

 ゲートウェイは、文字通り、VPN接続の受け口だ。自宅に設置したRB2011UiAS-IN側で接続先として指定する必要があるので、「ゲートウェイサブネットの追加」をクリックして、ゲートウェイを配置するためのサブネット「10.32.0.0/29」を作成。右下のチェックをクリックして作成を完了する。

1-5 ゲートウェイの作成

 続いて、作成したゲートウェイ用サブネットにゲートウェイを配置する。作成した仮想ネットワークをクリックし、「ダッシュボード」タブをクリック。「ゲートウェイは作成されませんでした」と表示されるはずなので、画面下の「ゲートウェイの作成」をクリックし、「静的ルーティング」を選択する。

 ゲートウェイの作成には数分かかる。画面下のステータスを開くと状況を確認できるので、作成が完了するまでしばらく待とう。

 なお、静的ルーティングではS2S接続の最大数が1つのみになる。複数サイトと接続するマルチサイトVPNを構築したい場合などは「動的ルーティング」を利用する必要がある。

1-6 接続パラメータの確認

 ゲートウェイの作成が完了したら、RB2011UiAS-IN側で接続設定をするときに必要になるパラメータを確認する。ダッシュボードに表示されたゲートウェイのIPアドレスを確認後、画面下の「キーの管理」をクリックして認証時に利用する事前共有キーをメモしておく。

1-7 仮想マシンの配置

 最後に接続先となる仮想マシンを配置する。現状のWindows Azureは、どうやら既存の仮想マシンのネットワークを変更できないようなので、新たに作成するか、既存マシンのディスクを再利用する形で仮想マシンを作成し直す。

 作成時に、ギャラリーから選択する形式でウィザードを進め、「仮想マシンの構成」画面で「地域/アフィニティグループ/仮想ネットワーク」の欄で作成済みの仮想ネットワークを選択する。

上位ルーターがある場合の事前の設定

 ルーター側に必要なパラメータを設定する前に、上記構成例のauひかりの場合のように上位にルーターが設置されている場合は、以下の設定を事前に実施しておく。

2-1 多段NATを避けるために、RB2011UiAS-IN側ではNATを無効にする

 Quick Set時に「NAT」チェックを外すか、IP-Firewall-NATで登録されているNATを無効化する。

2-2 上位ルーターに静的ルートを設定

 LAN側ネットワーク(構成例では192.168.1.0)へのパケットをRB2011UiAS-INのWAN側(192.168.2.254)に転送する。

2-3 インターネット接続を確認

 ここまでで、インターネットに接続できるかを確認。クライアントから接続できない場合は、IP-DCHP Server-NetworksのDNS Serversの値、IP-DNSなどの値を確認。

2-4 ポートフォワード

 UDP 500/UDP 4500/ESPをRB2011UiAS-INのWAN側(192.168.2.254)に転送する。

VPNの接続設定

 いよいよVPN接続の設定となる。RB2011UiAS-INの設定で、IP-IPsecを表示し、「Peers」、「Policies」、「Proposals」にパラメータを埋めていく。

3-1 peersの設定

 「Add New」をクリックし、接続先の情報や認証時のパラメータを以下のように設定していく。これ以外の値は標準のままで変更する必要はない。
   Address:AzureのゲートウェイのIPアドレス(例:104.41.187.50/32)
   Secret:Azureの事前共有キー
   NAT Traversal:有効
   Encryption Algorithm:aes-256(aes-128でも可)
   Lifetime:08:00:00
   DPD Interval:Disable DPD

3-2 Policies

 「Add New」から同様にパラメータを設定していく。なお、「SA Src.Address」にはRB2011UiAS-INのWAN側アドレスを設定する。上位にルーターが設置されている場合でもグローバルIPではなく、RB2011UiAS-INのWAN側アドレスを指定する。RB2011UiAS-IN上でPPPoE接続する場合は、PPPoEインターフェイスに割り当てられたグローバルIPアドレスを指定する。
   Src.Address:LAN側クライアントのネットワークアドレス(192.168.1.0/24)
   Dst.Address:Azureで作成したサブネット(標準10.0.0.0/8)
   SA Src.Address:RB2011UiAS-INのWAN側アドレス
   SA Dst.Address:AzureのゲートウェイのIPアドレス(例:104.41.187.50)

3-3 Proposalsの設定

 Proposalは標準で「default」が作成されるので、この値を変更する。
   Auth.Algorithms:aes-256 cbc(aes-128 cbcのままでもOK)
   PFS Group:none

PPPoE接続の場合の補助設定

 上記構成例のPPPoE接続の場合のように、RB2011UiAS-INからPPPoEで接続している場合、RB2011UiAS-INでNATの構成が有効になっているので、Azure側からの通信を通過させる設定が必要となる。

 RB2011UiAS-INのIP-Firewall-NATにて、Src.AddressにLAN側のネットワーク(192.168.1.0/24)、Dst.AddressにAzure側のネットワーク(10.0.0.0/8)を指定し、Actionを「accept」で登録しておく。

接続を確認とエラーチェック

 すべての設定が完了したら、IP-IPsec-Installed SAsを開く。ここにSAが2つ(場合によっては2つ以上)表示されれば接続は成功だ。

 しばらく待ってもInstalled SAsに何も表示されない場合は、Logを確認してみるといいだろう。「ipsec,error」で「failed to pre-process ph1/ph2....」などと表示されれば、どこかパラメータが間違っている可能性がある。

 なお、接続に成功した場合でも「authtype mismatched:my:hmac-sha1 peer:hmac-sha256」と定期的に表示される。Azure側はSHA1での認証もサポートしているうえ、接続も問題なくできるので、そのまま放置しておいてもかまわないが、気になる場合は、Proposalのhashのパラメータをhmac-sha256に変更しておけばいい。

 ただし、現状のバージョンのGUIではhmac-sha256を選択できないので、コマンドで設定する必要がある。

 問題なさそうなら、実際にAzure上に設置された仮想マシンに接続する。Pingは仮想マシンのWindows Firewallで拒否されてしまうので、リモートデスクトップを利用し、「10.0.0.4」など仮想マシンに割り当てられたローカルIP宛に接続してみるといいだろう。

 もちろん共有フォルダーなどを設定しておけば、エクスプローラーから「\\10.0.0.4」などとして接続することも可能だ。

試行錯誤する価値はある

 以上、MikrotikのRouterBoard RB2011UiAS-INを利用して、Windows Azureの仮想ネットワークにS2Sで接続する方法を紹介した。

 場合によっては、接続環境やIPアドレスなどの違いで、うまく接続できない場合もあるかと思われるが、試行錯誤していくうちにRouterBoardの作法にも慣れてくるので、呪文のようにコマンドを入力したり、画面にパラメータを打ち込んでいくのではなく、ひとつひとつ設定を確認しながら、設定していくといいだろう。

 RouterBoardでの設定に慣れれば、他の製品を使った場合でも迷わずに設定することができるはずだ。Windows 10がAzure仮想マシンとして動作する時代が来る前に設定をマスターしておけば、実際に使う段階になっても困ることはないだろう。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 8.1/7 XPパソコンからの乗り換え&データ移行」ほか多数の著書がある。