暗号化の設定 ~IPsecトンネル構築編~
今回は、暗号化の設定を実際にしていきたいと思います。基本的な用語や仕組みについては、前回までの授業で説明しておりますので、不安のある方はこちらで確認してください。
暗号化の概要 ~基礎編①~
暗号化の概要 ~基礎編②~
暗号化の概要 ~基礎編③~
Contents
お勉強構成
今までは自宅ラボの機器を使って授業をしてきましたが、今回はCisco Packet Tracerを使ってやってみたいと思います。
物理的に構成を組んで試してみられる方は、以下のCISCO892Jあたりで構成組んでみるといいかもしれません。
CISCO892J
Amazon
![]() |
中古価格 |
事前設定
それでは、事前設定をしていきたいと思います。
インターフェース設定
それでは、インターフェース設定をしていきたいと思います。今回はメインとなるルータ2台と間に設置したL3スイッチの設定となります。お勉強構成を見ながら設定していきましょう!
【RT0】
RT0(config)#interface FastEthernet0/0
RT0(config-if)#ip address 10.1.0.1 255.255.255.0
【RT1】
RT1(config)#interface FastEthernet0/0
RT1(config-if)#ip address 10.1.1.1 255.255.255.0
【SW1】
SW1(config)#interface GigabitEthernet0/1
SW1(config-if)#no switchport
SW1(config-if)#ip address 10.1.0.254 255.255.255.0
!
SW1(config-if)#interface GigabitEthernet0/2
SW1(config-if)#no switchport
SW1(config-if)#ip address 10.1.1.254 255.255.255.0
L3スイッチでは、インターフェースをルーテッドポートとして使用する場合、「no switchport」で宣言しておく必要があるので忘れないようにしましょうね!
ルーティング設定
続いてルーティングの設定をしていきます。今回のルーティングは、すべてスタティックルートを使用します。設定方法がわからない方は、以前のスタティックルートの授業を参考にしてください。それでは設定していきます。
【RT0】
RT0(config)#ip route 10.1.1.0 255.255.255.0 10.1.0.254
【RT1】
RT0(config)#ip route 10.1.0.0 255.255.255.0 10.1.1.254
ルーティングの設定はこれだけです。さらっとできましたか?まず事前の設定はここまでとなります。次からは、IPSecの設定に入っていきます。
IPSecの設定
それではIPSecの設定をしていきたいと思います。設定する手順は以下になります。
アクセスリストでパケットの特定
それではアクセスリストの設定をしていきます。ここで定義した通信をIPSecで暗号して転送されます。今回は、10.1.0.0/24と10.1.1.0/24間のIP通信すべてを暗号化するように設定したみたいと思います。アクセスリストの書き方を忘れてしまった方は、以前のアクセスリストの授業で確認しておきましょう。
【RT0】
RT0(config)# access-list 100 permit ip 10.1.0.0 0.0.0.255 10.1.1.0 0.0.0.255
【RT1】
RT1(config)# access-list 100 permit ip 10.1.1.0 0.0.0.255 10.1.0.0 0.0.0.255
ISAKMPの定義(フェーズ1)
続いてISAKMPの定義を設定していきたいと思います。
この設定パラメータに沿って設定していきたいと思います。実際に設定してもデフォルト設定の場合は「show running-config」に表示されてない場合もありますので、ご注意ください。
【RT0】
RT0(config)# crypto isakmp policy 1
RT0(config-isakmp)# authentication pre-share
RT0(config-isakmp)# encr aes 256
RT0(config-isakmp)# lifetime 3600
RT0(config-isakmp)# group 1
【RT1】
RT1(config)# crypto isakmp policy 1
RT1(config-isakmp)# authentication pre-share
RT1(config-isakmp)# encryption aes 256
RT1(config-isakmp)# hash sha
RT1(config-isakmp)# lifetime 3600
RT1(config-isakmp)# group 1
ここでIKEポリシーを定義していきます。この設定はIPSecを使用する双方のルータで同じ設定をする必要があります。
認証設定
続いて対象となるルータのIPアドレス指定と認証設定をしていきたいと思います。ここでルータ0のIPSecトンネルの対向となるルータ1のIPアドレスを「10.1.1.1」、ルータ1のIPSecトンネルの対向となるルータ0のIPアドレスを「10.1.0.1」になるように指定します。また、事前共通鍵を「cisco」で定義します。この事前共通鍵を双方で合わせておく必要があります。
【RT0】
RT0(config)# crypto isakmp key cisco address 10.1.1.1
【RT1】
RT1(config)# crypto isakmp key cisco address 10.1.0.1
トランスフォームセットの定義
続いてトランスフォームセットの定義を設定していきます。トランスフォームセットとは、IKEフェーズ2で使用するパラメータをここで定義します。今回は以下のパラメーターを使って設定していきます。
【RT0】
RT0(config)# crypto ipsec transform-set myset esp-aes 256 esp-sha-hmac
【RT1】
RT1(config)# crypto ipsec transform-set myset esp-aes 256 esp-sha-hmac
IPSecの定義(フェーズ2)
続いてIPSecの定義を設定していきます。先程作成した、トランスフォームセットを紐づけていきます。ピアアドレスは対向のルータのインターフェースを「set peer address」コマンドで指定ましょう。また、ここでIPsec設定の最初に定義したアクセスリストも「match address num」コマンドで紐づけます。
【RT0】
RT0(config)# crypto map mymap 10 ipsec-isakmp
RT0(config-crypto-map)# set peer 10.1.1.1
RT0(config-crypto-map# set transform-set myset
RT0(config-crypto-map# match address 100
【RT1】
RT1(config)# crypto map mymap 10 ipsec-isakmp
RT1(config-crypto-map)# set peer 10.1.0.1
RT1(config-crypto-map# set transform-set myset
RT1(config-crypto-map# match address 100
IPSecポリシーの適用
最後にここまで設定してきたIPSecポリシーを使用するインターフェースに適用してみたいと思います。ここで使用するインターフェースというのは、通信のアウト方向で使用するインターフェースのことで、RT0、RT1ともにFastEthernet0/0になります。
【RT0】
RT0(config)# interface FastEthernet0/0
RT0(config-if)# crypto map mymap
【RT1】
RT1(config)# interface FastEthernet0/0
RT1(config-if)# crypto map mymap
これでIPSecの設定は完了となります。
IPSecのステータス確認
それでは設定したIPSecトンネルがちゃんと作れているかを確認してみましょう。ただ、IPSecトンネルが作られる条件としてアクセスリストで定義した通信が発生した場合になります。つまり設定しただけではIPSecが作られていないので、Pingを実行して通信を発生させる必要があります。今回は、RT0からPingを実行してから確認してみます。
< 疎通確認 >
RT0#ping 10.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/9/30 ms
疎通がOKであれば、続いてIPSecのステータス確認に入ってきます。まず「show crypto isakmp sa」でフェーズ1が確立できているかを確認してみます。送信元、宛先のIPアドレスが書かれている行のStatusがACTIVEとなっていることを確認してください。
【RT0】
RT0#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id slot status
10.1.1.1 10.1.0.1 QM_IDLE 1015 0 ACTIVE
IPv6 Crypto ISAKMP SA
続いて「show crypto ipsec sa」を使ってフェーズ2のステータスを確認していきます。「inbound esp sas」と「outbound esp sas」のステータスが「ACTIVE」になっていることを確認しましょう。うまくIPSecが確立されていないと、ステータスの表示がまったく表示されないのですぐにわかると思います。
【RT0】
RT0#show crypto ipsec sa
interface: FastEthernet0/0
Crypto map tag: mymap, local addr 10.1.0.1
protected vrf: (none)
local ident (addr/mask/prot/port): (10.1.0.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
current_peer 10.1.1.1 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 18, #pkts encrypt: 18, #pkts digest: 0
#pkts decaps: 18, #pkts decrypt: 18, #pkts verify: 0
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 1, #recv errors 0
local crypto endpt.: 10.1.0.1, remote crypto endpt.:10.1.1.1
path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0
current outbound spi: 0x436A1351(1131025233)
inbound esp sas:
spi: 0x6B088809(1795721225)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2003, flow_id: FPGA:1, crypto map: mymap
sa timing: remaining key lifetime (k/sec): (4525504/2542)
IV size: 16 bytes
replay detection support: N
Status: ACTIVE
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x436A1351(1131025233)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2004, flow_id: FPGA:1, crypto map: mymap
sa timing: remaining key lifetime (k/sec): (4525504/2542)
IV size: 16 bytes
replay detection support: N
Status: ACTIVE
outbound ah sas:
outbound pcp sas:
まとめ
本日の授業はここまでとなりますが、いかがだったでしょうか?これでIPSecの授業は一旦終了となりますが、設定パラメータをいろいろ変えて試してみると勉強になると思います。たくさん失敗して学んだことがいつか役に立つと思いますので、実際に手を動かしてみるようにしましょう。