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

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

環境のおさらい

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

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