はじめに
ネットワークスペシャリスト試験(ネスペ)の令和6年度春試験午後Ⅰ問3設問1(4)では,IPIPのパケットをIPsecトンネルモードにした場合のパケット構成が問われました。
この設問ですが,当初私は「IPIP+トランスポートモードのVPN」を「IPsecトンネルモードのVPN」に変更した場合のパケット構成と理解していました。ところが公式解答を見ると「IPIPパケットにIPsecトンネルモードを適用した場合」の構成を前提としています。つまり,IPsecトンネルの中にIPIPトンネルという二重トンネルです。
設定が複雑とかトラブルシューティングが複雑とか処理負荷とかパケットがやたら大きくなって非効率とか,とにかくデメリットしか思いつきません。
それに,そもそもそんな設定ができるのか,IPsecが設定できるルータが転がっていたので試してみました。誰得記事です。
結論
設定できます。疎通もします。
材料
- Cisco892J×2台。
- Ping用のホスト×2台
- LANケーブル少々
構成図
IPsecトンネルとして,Tunnel0インタフェースを作成し,IPアドレス(10.0.1.0/30)を付与します。その中にIPIPトンネルとして,UnNumberedなTunnel1インタフェースを作成し,インタフェースとしてTunnnel0を使います。
Router-AのConfig
!
! IPsec用のPSK
crypto keyring VPN-KEYRING
pre-shared-key address 203.0.113.55 key VPN-KEY
!
! IPsecパラメータ
crypto isakmp policy 1
encr aes 256
authentication pre-share
group 14
lifetime 28800
crypto isakmp keepalive 10 10
crypto isakmp profile VPN-ISAKMP-PROFILE
keyring VPN-KEYRING
match identity address 203.0.113.55 255.255.255.255
!
!
crypto ipsec transform-set VPN-TFSET esp-aes 256 esp-sha256-hmac
mode tunnel
!
crypto ipsec profile VPN-IPSEC-PROFILE
set transform-set VPN-TFSET
set pfs group14
!
! IPsecトンネル
interface Tunnel0
ip address 10.0.1.1 255.255.255.252
ip virtual-reassembly in
tunnel source GigabitEthernet0
tunnel mode ipsec ipv4
tunnel destination 203.0.113.55
tunnel protection ipsec profile VPN-IPSEC-PROFILE
!
! IPIPトンネル
interface Tunnel1
ip unnumbered Tunnel0
tunnel source Tunnel0
tunnel mode ipip
tunnel destination 10.0.1.2
!
! 物理インタフェース
interface GigabitEthernet0
ip address 203.0.113.1 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
ip address 192.168.1.254 255.255.255.0
!
! 対向側サブネットへの経路を,Tunnel1(IPIPトンネル)へ
ip route 172.16.1.0 255.255.255.0 Tunnel1
!
Router-BのConfig
crypto keyring VPN-KEYRING
pre-shared-key address 203.0.113.1 key VPN-KEY
!
crypto isakmp policy 1
encr aes 256
authentication pre-share
group 14
lifetime 28800
crypto isakmp key PRE-SHARED-KEY address 0.0.0.0
crypto isakmp keepalive 10 10
crypto isakmp profile VPN-ISAKMP-PROFILE
keyring VPN-KEYRING
match identity address 203.0.113.1 255.255.255.255
!
!
crypto ipsec transform-set VPN-TFSET esp-aes 256 esp-sha256-hmac
mode tunnel
!
crypto ipsec profile VPN-IPSEC-PROFILE
set transform-set VPN-TFSET
set pfs group14
interface Tunnel0
ip address 10.0.1.2 255.255.255.252
ip virtual-reassembly in
tunnel source GigabitEthernet0
tunnel mode ipsec ipv4
tunnel destination 203.0.113.1
tunnel protection ipsec profile VPN-IPSEC-PROFILE
!
interface Tunnel0
ip address 10.0.1.2 255.255.255.252
ip virtual-reassembly in
tunnel source GigabitEthernet0
tunnel mode ipsec ipv4
tunnel destination 203.0.113.1
tunnel protection ipsec profile VPN-IPSEC-PROFILE
!
interface Tunnel1
ip unnumbered Tunnel0
tunnel source Tunnel0
tunnel mode ipip
tunnel destination 10.0.1.1
!
interface GigabitEthernet0
ip address 203.0.113.55 255.255.255.0
duplex auto
speed auto
!
interface Vlan1
ip address 172.16.1.254 255.255.255.0
!
ip route 192.168.1.0 255.255.255.0 Tunnel1
(もう一度)結論
設定はできてPingは通りました。ただ,負荷とかパケットサイズとかは全然調べていません。
参考
- 外側のIPsecトンネルインタフェースをUnNumberedに設定し,かつ内側のIPIPトンネルインタフェースをUnNumberedに設定することはできませんでした。つまり,UnNumberedの中にUnNumberedは設定できません。