WiMAX 回線と Edge Router X でお手軽 Azure と S2S VPN を試す!(EdgeRouter と Azure編)

WiMAX 回線と Edge Router X でお手軽 Azure と S2S VPN を試す!(EdgeRouter と Azure編)

環境のおさらい

Azure と自宅のネットワークを WiMAX 回線を用いて接続する企画の後編です.前回の WiMAX 設定編に引き続き,Azure と EdgeRouter の設定を行います.環境としては以下のような構成を目指します.よくよく考えると WiMAX ルーターはブリッジなので少し図を訂正しました.

Ubiquiti Networks Edgerouter ER-X(日本国内)

Ubiquiti Networks Edgerouter ER-X(日本国内)

19,800円(10/16 14:23時点)
Amazonの情報を掲載しています

Azure で VPN ゲートウェイを作成

まずは Azure で VPN ゲートウェイを作成します.ゲートウェイのデプロイには仮想ネットワークが必要なのでデプロイしておきます.仮想ネットワークのアドレス帯はオンプレ側と被らないようにしておきます.実際にサブネットで使用しなくても同じアドレスが含まれてはいけません.ロケーションで指定した地域のデータセンター内にリソースが作成されるため,オンプレと近い地域を選択する方が無難です.特段 DDoS や Firewall は不要なので無効にしてデプロイします.

仮想ネットワークをデプロイしたら,ゲートウェイ用のサブネットを作成します.メニューから [サブネット] を選択し,[ゲートウェイサブネット] をクリックします.ゲートウェイサブネット作成時の注意点は,サブネットは/27より大きい空間が推奨となっており,NSG やルートテーブルは設定しないようすることです.

作成したゲートウェイサブネットに VPN ゲートウェイを作成します.S2S VPN は最低 SKU の Basic でも設定可能です.BGP を有効にしたい場合は SKU をVpnGw1 以上にします.VPN ゲートウェイのデプロイには40分くらいかかるのでしばらく待機します.パブリック IP が割り当てられるのはデプロイ完了に近い時間なので次の作業はデプロイ完了後に行います.

オンプレ側 Edge Router X を設定

Edge Router X に VPN 設定を行います.ssh などで実機にログインしたら'configure'で設定モードに移行しておきます.

iptables に IPsec 用の firewall/NAT ポリシーを自動作成するために 'auto-firewall-nat-exclude' を有効にします.

set vpn ipsec auto-firewall-nat-exclude enable

IKE/フェーズ1の Security Associations(SAs) の作成と鍵交換方式に IKEv2 を設定します.

set vpn ipsec ike-group azure-ike key-exchange ikev2
set vpn ipsec ike-group azure-ike lifetime 28800
set vpn ipsec ike-group azure-ike proposal 1 dh-group 2
set vpn ipsec ike-group azure-ike proposal 1 encryption aes256
set vpn ipsec ike-group azure-ike proposal 1 hash sha1

ESP/フェーズ2の SAs の作成と Perfect Forward Secrecy(PFS) の無効化を行います.

set vpn ipsec esp-group azure-esp lifetime 27000
set vpn ipsec esp-group azure-esp pfs disable
set vpn ipsec esp-group azure-esp proposal 1 encryption aes256
set vpn ipsec esp-group azure-esp proposal 1 hash sha1

リモートのピアリングアドレスを設定します.<azure-vpn-pip><local-global-ip> は環境に合わせて変更します.<secret> は Azure の VPN 設定でも使うので覚えておくようにしてください.(一応確認する方法はあるのですが)

set vpn ipsec site-to-site peer <azure-vpn-pip> authentication mode pre-shared-secret
set vpn ipsec site-to-site peer <azure-vpn-pip> authentication pre-shared-secret <secret>
set vpn ipsec site-to-site peer <azure-vpn-pip> connection-type respond
set vpn ipsec site-to-site peer <azure-vpn-pip> description ipsec
set vpn ipsec site-to-site peer <azure-vpn-pip> local-address <local-global-ip>
set vpn ipsec site-to-site peer <azure-vpn-pip> ike-group azure-ike
set vpn ipsec site-to-site peer <azure-vpn-pip> vti bind vti0
set vpn ipsec site-to-site peer <azure-vpn-pip> vti esp-group azure-esp

VPN 用のインタフェースとして vti0 を設定します.

set interfaces vti vti0

Azure の仮想ネットワーク向けのスタティックルートを定義します.<azure-vnet-address> は Azure 仮想ネットワークのアドレス帯を入力します.

set protocols static interface-route <azure-vnet-address> next-hop-interface vti0

これでオンプレ側は VPN の確立準備が整いました.

再び Azure で VPN 接続設定

Azure に戻って VPN の接続設定を行います.まずはローカルネットワークゲートウェイにオンプレの情報を設定します.オンプレのグローバル IP やアドレス空間を設定します.アドレス空間は,Azure 仮想ネットワークと被る範囲だと設定できないので注意してください.ロケーションはオンプレ機器の実際の場所ではなく,設定情報を保存しておくデータセンターを指定する項目なので VPN ゲートウェイと同じ場所を指定すると良いです.

ローカルネットワークゲートウェイを作成したら,VPN ゲートウェイと接続します.どちらかのリソースのメニューから [接続] を選択するか,[全てのリソース] から [接続] を選択して作成します.共有キーには先ほど設定した <secret> と同じものを設定します.

接続の確認

VPN 接続が完了したら接続の状態を確認していきます.Azure からは [接続] の状態を確認し,[接続済] になっていれば OK です.

オンプレからは 'show vpn ipsec sa' で VPN の状態を確認できます.以下のような例になります.

ubnt@ubnt:~$ show vpn ipsec sa
peer-<azure-public-ip>-tunnel-vti: #2, ESTABLISHED, IKEv2, 55323753cafcc078_i* 9e378435a0903d30_r
  local  '<local-global-ip>' @ <local-global-ip>[4500]
  remote '<azure-public-ip>' @ <azure-public-ip>[4500]
  AES_CBC-256/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
  established 18310s ago, rekeying in 9910s
  peer-<azure-public-ip>-tunnel-vti: #3, reqid 1, INSTALLED, TUNNEL, ESP:AES_CBC-256/HMAC_SHA1_96
    installed 18310s ago, rekeying in 7804s, expires in 8690s
    in  c08dbceb (0x00900001),    336 bytes,     4 packets,  4690s ago
    out 9b5e8ab8 (0x00900001),   8208 bytes,   250 packets,    25s ago
    local  0.0.0.0/0
    remote 0.0.0.0/0