アライドAR1050VとARX640SでIPSec通信する

以前から利用しているオムロンルータ。もう、オムロンはルータ作ってません。そろそろ買えないとセキュリティ的にもまずかなと感じ、新しいルータを物色中です。

そこで目に留まったのがアライドのAR1050Vです。

現在キャンペーン中で半額で購入できます。1台購入してみて、どんな感じか試したところ、中々IPSec通信ができなくてコンフィグ書くのにも一苦労でしたがアライドのサポートセンターに連絡したら丁寧に教えていただく事が出来ました。

アライド設定事例集

設定例集#18: PPPoE接続環境におけるARX640Sとの2点間IPsec VPN(両側アドレス固定)

古いOMRONのルータと接続できないか試していましたが、どうも難しかったので、アライドのルータ同士なら接続しやすいだろうと思い、在庫として眠らせてあった、ARX640Sを引っ張り出してきて設定しました。

この設定事例集との違いは、PPPoE環境を準備できなかったのでWAN側のIPアドレスを固定IPとした事。LAN内というか、直接AR1050Vと、ARX640sのWAN側を接続して試験しました。

接続構成

このため、設定事例集と比較してコンフィグの書き換えが必要になるわけですが、アライドのルータは触りなれていないのでどうも要領を得ず、アライドのサポートに連絡して無事接続できるようになりました。

AR1050Vの設定

service password-encryption
!
no banner motd
!
username manager privilege 15 password 8 $1$bJoVec4D$JwOJGPr7YqoExA0GVasdE0
!
!
no service ssh
!
service telnet
!
no service http
!
no clock timezone
!
snmp-server
!
aaa authentication enable default local
aaa authentication login default local
!
!内部ネットワークを表すゾーン「private」を作成します。
!ここでipsec相手側のネットワークを登録しておく事もポイントになります
zone private
 network lan
  ip subnet 192.168.10.0/24
  ip subnet 192.168.20.0/24
!
!外部ネットワークを表すゾーン「public」を作成します。
zone public
 network wan
  ip subnet 0.0.0.0/0 interface eth1
  host eth1
   ip address 10.10.10.1
!
!IPsecのESPパケットを表すカスタムアプリケーション「esp」を定義します。 
application esp
 protocol 50
!
!ISAKMPパケットを表すカスタムアプリケーション「isakmp」を定義します。 
application isakmp
 protocol udp
 sport 500
 dport 500
!
!rule 10 - 内部から内部への通信を許可します
!rule 20 - 内部から外部への通信を許可します
!rule 30, 40 - ISAKMPパケットを許可します
!rule 50, 60 - IPsec(ESP)パケットを許可します
!rule 70 - 本製品のWAN側インターフェースから外部へのDNS通信を許可します
firewall
 rule 10 permit any from private to private
 rule 20 permit any from private to public
 rule 30 permit isakmp from public.wan.eth1 to public.wan
 rule 40 permit isakmp from public.wan to public.wan.eth1
 rule 50 permit esp from public.wan.eth1 to public.wan
 rule 60 permit esp from public.wan to public.wan.eth1
 rule 70 permit dns from public.wan.eth1 to public.wan
 protect
!
!LAN側ネットワークに接続されているすべてのコンピューターがダイナミックENAT機能を使用できるよう設定します。
nat
 rule 10 masq any from private to public
 enable
!
!対向ルーターとの間で使用するISAKMPの事前共有鍵を設定します。
crypto isakmp key 8 ************** address 10.20.20.1
!
ip domain-lookup

no service dhcp-server
!
interface port1.0.1-1.0.4
 switchport
 switchport mode access
!
!設定事例集ではPPPを利用しますが、ここではeht1を利用します
interface eth1
 ip address 10.10.10.1/8
!
!LAN側インターフェースvlan1にIPアドレスを設定します。
interface vlan1
 ip address 192.168.10.1/24
!
!IPsecトンネルインターフェースtunnel0を作成します。
!・トンネルインターフェースから送信するデリバリーパケットの始点(自装置)アドレス(tunnel source)
!・トンネルインターフェースから送信するデリバリーパケットの終点(対向装置)アドレス(tunnel destination)
!・トンネルインターフェースに対するIPsec保護の適用(tunnel protection ipsec)
!・トンネリング方式(tunnel mode ipsec)
!・トンネルインターフェースのIPアドレス(ip address)
!・トンネルインターフェースにおけるMSS書き換え設定(ip tcp adjust-mss)
interface tunnel0
 tunnel source 10.10.10.1
 tunnel destination 10.20.20.1
 tunnel protection ipsec
 tunnel mode ipsec ipv4
 ip address 172.16.0.1/30
 ip tcp adjust-mss 1260
!
!デフォルト経路(0.0.0.0/0)とルーターBのLAN側(192.168.20.0/24)への経路を設定します。これにはip routeコマンドを使います。
ただし、ルーター間のVPN接続が有効になるまでは、対向側LANへの経路は使用できないように設定します。
!ip route 0.0.0.0/0 10.10.10.2 ⇒このコマンドはなくてもipsec通信できた
ip route 192.168.20.0/24 tunnel0
ip route 192.168.20.0/24 null 254
!
!DNSリレー機能を有効にします。
ip dns forwarding
!
line con 0
line vty 0 4
!
end

ARX640S

service password-encryption
!
clock timezone JST 9
!
!Pインターフェースがリンクダウンしているときでも、そのインターフェース宛の通信に応答できるように設定します。
ip address-up-always
!
!WAN0インターフェース(gigabitEthernet 0)を有効にします。
!LAN内で利用する時は gigabitEthernet 0 , PPPで利用する時は gigabitEthernet 0.1
interface gigabitEthernet 0
 ip address 10.20.20.1/8
 no shutdown
 ip traffic-filter pppoe0-in in
 ip traffic-filter pppoe0-out out
!
!LAN内で利用する時はこちらは使わない
interface gigabitEthernet 0.1
 no shutdown
 ip napt inside any
 ip traffic-filter pppoe0-in in
 ip traffic-filter pppoe0-out out
 ip ids in protect
!
!トンネルインターフェース(tunnel 0)を作成し、インターフェースを使用できるようにします。
!このトンネルインターフェースに対応するIPsecポリシーを設定します。
interface tunnel 0
 tunnel mode ipsec
 ip address 172.16.0.2/30
 ip tcp mss auto
 no shutdown
 tunnel policy vpn
!
!LAN側インターフェース(vlan 1)にIPアドレスを設定します。
interface vlan 1
 ip address 192.168.20.1/24
 no shutdown
!
!デフォルト経路(0.0.0.0/0)とルーターAのLAN側(192.168.10.0/24)への経路を設定します。
ただし、ルーター間のVPN接続が有効になるまでは、対向側LANへの経路は使用できないように設定します。
ip route default 10.20.20.2
ip route 192.168.10.0/24 tunnel 0
ip route 192.168.10.0/24 Null 254
!
!IPsec処理の適用対象パケットを指定するためのアクセスリストipsecを作成します。
access-list ip extended ipsec
 permit ip any any
!ISAKMPパケットだけを許可し他の通信はすべて遮断するアクセスリストpppoe-inを作成します。
access-list ip extended pppoe0-in
 dynamic permit udp any interface gigabitEthernet 0 eq 500 sequence 30
!すべての通信を許可するアクセスリストpppoe0-outを作成します。
access-list ip extended pppoe0-out
 dynamic permit ip any any
!フェーズ1のプロポーザルを設定します。
isakmp proposal isakmp encryption aes256 prf sha1 hash sha1 group 14
isakmp proposal isakmp lifetime 86400
!ISAKMPポリシーを設定します。
isakmp policy vpn
 peer 10.10.10.1
 mode ikev2
 auth preshared key 8 ****************
 proposal isakmp
 keepalive enable
 nat-traversal enable
!フェーズ2のプロポーザルを設定します。
ipsec proposal ipsec esp encryption aes256 hash sha1
ipsec proposal ipsec lifetime 28800
!IPsecポリシーを設定します。
ipsec policy vpn
 peer 10.10.10.1
 access-list ipsec
 proposal ipsec
 always-up-sa
!DNSリレー機能を有効にします。
proxydns ip enable
!
!
ip dhcp pool vlan 1
 range 192.168.1.155 192.168.1.254
dhcp-server ip enable
!
http-server username manager password 8 $1$EJO/tsuy$RzBmhy76wsZcqWR6mhELk0
http-server ip enable
!
telnet-server ip enable
!
end

接続状況の確認

awplus#show ipsec peer
IPsec
  Selectors (local:remote)
    Address:  0.0.0.0/0 : 0.0.0.0/0
    Protocol: any:any
    Port:     any:any
    Mark:     16385:16385
  Profile: default
    SPI (In:Out): c379309e:ddf97910
        Selectors:  0.0.0.0/0           0.0.0.0/0
      Proto:      ESP
      Mode:       tunnel
      Encryption: AES256
      Integrity:  SHA1
      Expires:    28480s
ISAKMP
  LocalID:  10.10.10.1
  RemoteID: 10.20.20.1
    Cookies (Initiator:Responder) a213551305668a1c:71710b668c9c7df5
      Ver:            2             Lifetime: 82406s    State: Established
      Authentication: PSK           Group:    14
      Encryption:     AES256        NATT:     no
      Integrity:      SHA1          DPD:      yes
awplus#show ipsec sa
-----------------------------------------------------------------------------
Peer                  SPI (in:out)          Mode          Proto  Expires
                      Encryption            Integrity     PFS
-----------------------------------------------------------------------------
10.20.20.1            c379309e:ddf97910     tunnel        ESP    28413s
                      AES256                SHA1          -
awplus#show isakmp counters
Name                       Value
-------------------------------------
ikeInitRekey               2
ikeRspRekey                0
ikeChildSaRekey            7
ikeInInvalid               0
ikeInInvalidSpi            0
ikeInInitReq               4
ikeInInitRsp               1
ikeOutInitReq              1
ikeOutInitRsp              43129
ikeInAuthReq               4
ikeInAuthRsp               1
ikeOutAuthReq              1
ikeOutAuthRsp              4
ikeInCrChildReq            0
ikeInCrChildRsp            9
ikeOutCrChildReq           9
ikeOutCrChildRsp           0
ikeInInfoReq               354
ikeInInfoRsp               5168
ikeOutInfoReq              5170
ikeOutInfoRsp              354
awplus#show isakmp sa
--------------------------------------------------------------------------------
Peer                 Cookies (initiator:responder)       Auth  Ver   Expires
                   Encryption    Integrity    Group    DPD   NATT  State
--------------------------------------------------------------------------------
10.20.20.1           a213551305668a1c:71710b668c9c7df5   PSK   2     82244s
                   AES256        SHA1         14       yes   no    Established