NETWORK ENGINEER BLOG

Tips and Reviews for Engineers

Windows Azure 仮想ネットワーク接続方法

はじめに

Cisco1812J を Windows Azure 仮想ネットワーク の VPN ゲートウェイと IPsec 接続する設定例です。

Windows Azure とは
マイクロソフトのデータセンターでご提供する PaaS および IaaS で、使い慣れた OS、開発言語、データベース、開発や管理ツールを選択可能な パブリック クラウド アプリケーションプラットフォームです。
そのため、開発者はプロジェクトの内容、状況に合わせて、必要なサーバーおよび開発環境を柔軟に、そして迅速に用意することができます。

Windows Azure 仮想ネットワークとは
Windows Azure 仮想ネットワークは、豊富な Windows Azure 提供サービスの中の 1 つで、Windows Azure 内部に仮想の L2 イーサネットを構築し、任意の IP アドレス範囲のローカル ネットワーク構成を可能にします。
また、IPsec ゲートウェイを追加し、オンプレミス ネットワークと相互接続する事で、あたかも Windows Azure を自社のネットワークの一部として利用する事ができます。
出典:Microsoft Japan

検証環境

ネットワーク構成
  • Windows Azure 側ネットワーク
    • 仮想ネットワーク名は、azurepocvpn01 とします。
    • アドレス空間は 172.16.0.0/24 とし Subnet-1 172.16.1.0/29 を作成します。
  • オンプレミス側ネットワーク
    • VPN 接続装置は、CISCO1812-J/K9 (c181x-adventerprisek9-mz.151-3.T4.bin) を使用します。
    • Localnetwork は 10.9.6.0/24 を使用し、localnetwork ⇔ Subnet-1 の通信を暗号化します。
検証構成

f:id:FriendsNow:20130310000516p:plain:w550

Azure 設定例

[仮想ネットワークを作成する]をクリックします。
f:id:FriendsNow:20130310005457p:plain

仮想ネットワークの詳細を設定します。
f:id:FriendsNow:20130310005506p:plain

アドレス空間とサブネットを設定します。
f:id:FriendsNow:20130310005513p:plain

DNS サーバーとローカルネットワークを設定します。*1
f:id:FriendsNow:20130310005521p:plain

ローカルネットワークを指定します。
f:id:FriendsNow:20130310005530p:plain

[ゲートウェイの作成]をクリックします。※しばらく時間がかかります。
f:id:FriendsNow:20130310005538p:plain

[キーの管理]をクリックします。
f:id:FriendsNow:20130310005545p:plain

ISAKMP の事前共有鍵が作成されますのでコピーします。
f:id:FriendsNow:20130310005553p:plain

VPN 接続状況は、ダッシュボードから確認できます。
f:id:FriendsNow:20130310005602p:plain

Cisco 設定例

以下、IPsec の設定例になります。

crypto isakmp policy 1
 encr aes
 authentication pre-share
 group 2
 lifetime 28800
crypto isakmp key <SP_PresharedKey> address 168.63.133.37
!
crypto ipsec security-association lifetime kilobytes 102400000
!
crypto ipsec transform-set TFSET esp-aes esp-sha-hmac
!
crypto map Azure 1 ipsec-isakmp
 set peer 168.63.133.37
 set transform-set TFSET
 match address 101
!
interface Dialer1
 ip address negotiated
 ip nat outside
 ip virtual-reassembly in
 encapsulation ppp
 ip tcp adjust-mss 1350
 dialer pool 1
 ppp authentication chap callin
 ppp chap hostname <hostname>
 ppp chap password <password>
 ppp ipcp dns request
 ppp ipcp route default
 crypto map Azure
!
ip nat inside source list 100 interface Dialer1 overload
!
access-list 100 deny   ip 10.9.6.0 0.0.0.255 172.16.1.0 0.0.0.7
access-list 100 permit ip 10.9.6.0 0.0.0.255 any
access-list 101 permit ip 10.9.6.0 0.0.0.255 172.16.1.0 0.0.0.7

ISAKMP SA を確認します。

#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src                     state          conn-id status
168.63.133.37   <VPN Gateway Address>   QM_IDLE           2002 ACTIVE
IPv6 Crypto ISAKMP SA

IPsec SA を確認します。

#show crypto ipsec sa interface dialer 1 detail
interface: Dialer1
    Crypto map tag: Azure, local addr <VPN Gateway Address>
   protected vrf: (none)
   local  ident (addr/mask/prot/port): (10.9.6.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (172.16.1.0/255.255.255.248/0/0)
   current_peer 168.63.133.37 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 172, #pkts encrypt: 172, #pkts digest: 172
    #pkts decaps: 145, #pkts decrypt: 145, #pkts verify: 145
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #pkts no sa (send) 4, #pkts invalid s	a (rcv) 0
    #pkts encaps failed (send) 0, #pkts decaps failed (rcv) 60
    #pkts invalid prot (recv) 0, #pkts verify failed: 0
    #pkts invalid identity (recv) 0, #pkts invalid len (rcv) 0
    #pkts replay rollover (send): 0, #pkts replay rollover (rcv) 0
    ##pkts replay failed (rcv): 0
    #pkts internal err (send): 0, #pkts internal err (recv) 0
     local crypto endpt.: <VPN Gateway Address>, remote crypto endpt.: 168.63.133.37
     path mtu 1500, ip mtu 1500, ip mtu idb Dialer1
     current outbound spi: 0x2E1967E4(773416932)
     PFS (Y/N): N, DH group: none
     inbound esp sas:
      spi: 0x2A1D2C4(44159684)
        transform: esp-aes esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 6, flow_id: Onboard VPN:6, sibling_flags 80000046, crypto map: Azure
        sa timing: remaining key lifetime (k/sec): (98950308/3564)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE
     inbound ah sas:
     inbound pcp sas:
     outbound esp sas:
      spi: 0x2E1967E4(773416932)
        transform: esp-aes esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 7, flow_id: Onboard VPN:7, sibling_flags 80000046, crypto map: Azure
        sa timing: remaining key lifetime (k/sec): (98950308/3564)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE
     outbound ah sas:
     outbound pcp sas:
||< 

*1:DNS サーバーは省略可能です。