NEC IXとAzureの接続(プライベートIPアドレス編)

スポンサーリンク

NEC IX ルータを用いて、AzureとVPN(IPsec IKEv2)接続をする方法を説明します。このページではネットワーク機器にグローバルIPアドレスではなくプライベートIPアドレスが付与されるNAT配下の環境の注意事項をまとめます。ネットワーク機器にグローバルIPアドレスが付与される場合は「NEC IXとAzureの接続(グローバルIPアドレス編)」を参照ください。

動作確認環境

以下の構成で動作確認を行います。

+----------------+
|  Debian 10.11  |
|    linux004    |
+-------+--------+
   eth0 | .4
        |
        | 172.16.1.0/24
        | (VnetNec/Subnet01)
        | 
        | .1 
+-------+--------+ 
|     Azure      |
|                |
+-------+--------+
        |
        |
        | 172.16.0.0/29
        | (VnetNec/GatewaySubnet)
        |
        |  
+-------+--------+ 
|     Azure      |
|                |
+-------+--------+
        | 40.115.208.2
        |
        |
  (実インターネット)
        |
        |
        |
        | 203.165.204.94
+-------+--------+ 
|  Home Router   | 
|     (NAT)      |
+-------+--------+
        | .1 
        |
        | 192.168.2.0/24
        | 
   g0.0 | .2
+-------+--------+ 
|   NEC IX 2015  | 
|     Router     |
+-------+--------+
   g1.0 | .1 
        |
        | 192.168.1.0/24
        | 

最終的な設定の全文は以下の通りです

IX2215
! NEC Portable Internetwork Core Operating System Software
! IX Series IX2105 (magellan-sec) Software, Version 8.10.11, RELEASE SOFTWARE
! Compiled Aug 02-Fri-2013 13:57:45 JST #2
! Current time Feb 21-Mon-2022 21:41:48 JST
!
!
timezone +09 00
!
!
!
username admin password hash 0C34240482 administrator
!
!
!
!
!
!
!
!
ip route default 192.168.2.1
ip route 172.16.0.0/16 Tunnel0.0
!       
!
!
!
!
!
!
!
!
!
telnet-server ip enable
!
ssh-server ip enable
!
!
!
!
!
!
ikev2 authentication psk id ipv4 20.210.237.6 key char P@ssw0rd1234
!
!
!
!       
ikev2 default-profile
  child-lifetime 3600
  child-proposal enc aes-cbc-256
  child-proposal integrity sha2-256
  sa-proposal enc aes-cbc-256
  sa-proposal integrity sha1
  sa-proposal dh 1024-bit
  local-authentication id ipv4 203.165.204.94
!
device GigaEthernet0
!
device GigaEthernet1
!
interface GigaEthernet0.0
  ip address 192.168.2.2/32
  no shutdown
!
interface GigaEthernet1.0
  ip address 192.168.1.1/24
  no shutdown
!
interface Loopback0.0
  no ip address
!
interface Null0.0
  no ip address
!
interface Tunnel0.0
  tunnel mode ipsec-ikev2
  ip address 169.254.0.1/30
  ip tcp adjust-mss auto
  ikev2 connect-type auto
  ikev2 ipsec pre-fragment
  ikev2 peer 20.210.237.6 authentication psk id ipv4 20.210.237.6
  no shutdown

static routeの場合

Azure側の設定

NEC IXとAzureの接続(グローバルIPアドレス編)」と同様の設定をします。

オンプレミス側の設定

サンプル設定のダウンロード

Azureのポータルからサンプル設定をダウンロードします。操作方法は「NEC IXとAzureの接続(グローバルIPアドレス編)」と同様の設定をします。を参照ください。

NEC IXのIPsecの設定

NEC IXとAzureの接続(グローバルIPアドレス編)」と同様の設定を投入します。

[実設定 : NEC IX]
ikev2 authentication psk id ipv4 40.115.201.146 key char P@ssw0rd1234
!
ikev2 default-profile
  sa-proposal enc aes-cbc-256
  sa-proposal integrity sha1
  sa-proposal dh 1024-bit
  child-proposal enc aes-cbc-256
  child-proposal integrity sha2-256
  child-lifetime 3600
!
interface Tunnel0.0
  tunnel mode ipsec-ikev2
  ip address 169.254.0.1/30
  ip tcp adjust-mss auto
  ikev2 connect-type auto
  ikev2 ipsec pre-fragment
  ikev2 peer 40.115.201.146 authentication psk id ipv4 40.115.201.146
  no shutdown
!
ip route 172.16.0.0/16 Tunnel0.0

プライベートIPアドレスが付与される場合は、IPsecを確立する時のlocal idとremote idのパラメタに注意します。Azureと接続する場合は、Azure側のlocal idとremote idを変更する事はできませんので、Azure側の仕様に合わせる必要があります。

Azureが提示するサンプル設定を見ると、パブリックIPアドレスのIPv4をidとして使用している事が推定できます。NEC IXはlocal idを明示指定しない場合は自信の送信元IPアドレスをlocal idとして使用しますので、デフォルトの状態ではIPsecを確立できません。local idを明示指定する事で接続可能になります。

local idはprofileまたはinterfaceに指定できます。profileに指定する設定例は以下の通りです。

[実設定 : NEC IX]
ikev2 default-profile
  local-authentication id ipv4 203.165.204.94

IPsec確立の確認

local id設定前にIPsecの確立を試みていますので、一度、IKE saとIKE child-saをクリアします。

[実設定 : NEC IX]
clear ikev2 child-sa

NEC IXにてIKE saとIKE child-saが確立された事を確認します。プライベートIPアドレスを使用する環境では、「Local Addr」と「Local ID」が異なる値が設定されます。この辺りのパラメタが想定通りになるかを注意深く観察しましょう。

[実設定 : NEC IX]
NEC001(config)# show ikev2 sa
IKEv2 SA - 1 created
Interface Tunnel0.0
  SPI (I)0xc366f15b26246acb  (R)0x44636c00f69c4bc6
    Remain lifetime[sec] : 86399
    Serial : 8
    Direction : initiator
    Local Addr : 192.168.2.2:500
    Peer Addr  : 40.115.201.146:500
    Local ID : IPV4-ADDR 203.165.204.94
    Peer ID  : IPV4-ADDR 40.115.201.146
    Status : establish
    Local message ID : 2
    Peer message ID  : 0

  <omitted>

NEC001(config)# show ikev2 child-sa 
Child SA - 1 connected
Interface Tunnel0.0
  IKE Peer ID : IPV4-ADDR 40.115.201.146
    IKE SPI (I)0xc366f15b26246acb  (R)0x44636c00f69c4bc6
    IKE SA serial : 8
    Child SA
      Protocol : ESP
      Local Addr : 192.168.2.2
      Peer Addr  : 40.115.201.146
      Enc alg  : AES-CBC-256
      Hash alg : HMAC-SHA2-256-128
      Remain lifetime[sec] : 3545
      Anti-replay : on

  <omitted>

疎通確認

仮想マシン作成

疎通確認用に仮想マシンを作成します。作成例は以下の通りです。

az vm create \
    --resource-group ResourceGroupNec \
    --name linux004 \
    --image Debian \
    --admin-username azureuser \
    --ssh-key-values ~/.ssh/authorized_keys \
    --vnet-name VnetNec \
    --subnet Subnet01

実行時のログは以下の通りです。仮想マシンに割り当てられたプライベートIPアドレスは疎通確認で使用しますのでメモに控えましょう。

$ az vm create \
    --resource-group ResourceGroupNec \
    --name linux004 \
    --image Debian \
    --admin-username azureuser \
    --ssh-key-values ~/.ssh/authorized_keys \
    --vnet-name VnetNec \
    --subnet Subnet01
It is recommended to use parameter "--public-ip-sku Standard" to create new VM with Standard public IP. Please note that the default public IP used for VM creation will be changed from Basic to Standard in the future.
{
  "fqdns": "",
  "id": "/subscriptions/2e2f81a9-b030-410f-9784-c582580c932e/resourceGroups/ResourceGroupNec/providers/Microsoft.Compute/virtualMachines/linux004",
  "location": "japaneast",
  "macAddress": "00-22-48-E7-34-5F",
  "powerState": "VM running",
  "privateIpAddress": "172.16.1.4",
  "publicIpAddress": "40.115.208.2",
  "resourceGroup": "ResourceGroupNec",
  "zones": ""
}

ping疎通確認

NEC IXからAzureへの疎通を確認します。この時、送信元IPアドレスはLANに付与されたものを指定するように注意しましょう。なぜならば、送信元を明示指定しない場合は169.254.0.1から送信される事になり、このIPアドレスはAzureには広報されないからです。

NEC001(config)# ping 172.16.1.4 source 192.168.1.1 count 3
PING 192.168.1.2 > 172.16.1.4 56 data bytes
64 bytes from 172.16.1.4: icmp_seq=1 ttl=64 time=7.672 ms
64 bytes from 172.16.1.4: icmp_seq=2 ttl=64 time=7.067 ms

--- 172.16.1.4 ping statistics ---
3 packets transmitted, 2 packets received, 33% packet loss
round-trip (ms)  min/avg/max = 7.067/7.369/7.672

BGPの場合

基本的に「NEC IXとAzureの接続(グローバルIPアドレス編)」で示した通りです。local idの指定に注意を払えば、BGPによる接続も可能です。

タイトルとURLをコピーしました