Cisco Packet Tracer でIPSec-VPN
CiscoPacketTracer実験シリーズもBGPでおしまいかと思いましたが、最近はVPNもCCNAの範囲に含まれるようになったようですので、こちらも試してみました。
IPSec-VPNも設定自体はそんなに難しくはないですが、複雑な仕組みですよね。
VPN構成
構成は以下です。Router0とRouter1でVPN接続してみます。
アドレスが適当ですが、図の真ん中の10.0.1.0/24がWANインターネットで、両側が構内LANでVPN接続する感じです。本当はPPPoEでもシミュレートできればよいのですが、そこまではわかりませんでしたので、一旦これで進めさせてもらいます。
以下設定ファイルです。実際にコマンド入力した分だけになります。
#R0
crypto isakmp policy 1
encr 3des
hash md5
authentication pre-share
group 2
!
crypto isakmp key CISCO address 10.0.1.2
!
crypto ipsec transform-set IPSECSET esp-3des esp-md5-hmac
!
crypto map MAPTEST 1 ipsec-isakmp
set peer 10.0.1.2
set transform-set IPSECSET
match address 100
!
interface GigabitEthernet0/0/0
ip address 10.0.0.2 255.255.255.0
!
interface GigabitEthernet0/0/1
ip address 10.0.1.1 255.255.255.0
ip access-group 101 in
crypto map MAPTEST
!
ip route 0.0.0.0 0.0.0.0 10.0.1.2
!
access-list 100 permit ip 10.0.0.0 0.0.0.255 10.0.2.0 0.0.0.255
access-list 101 permit ip host 10.0.1.2 host 10.0.1.1
access-list 101 permit ip 10.0.2.0 0.0.0.255 10.0.0.0 0.0.0.255
#R1
crypto isakmp policy 1
encr 3des
hash md5
authentication pre-share
group 2
!
crypto isakmp key CISCO address 10.0.1.1
!
crypto ipsec transform-set IPSECSET esp-3des esp-md5-hmac
!
crypto map MAPTEST 1 ipsec-isakmp
set peer 10.0.1.1
set transform-set IPSECSET
match address 100
!
interface GigabitEthernet0/0/0
ip address 10.0.1.2 255.255.255.0
ip access-group 101 in
crypto map MAPTEST
!
interface GigabitEthernet0/0/1
ip address 10.0.2.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.0.1.1
!
access-list 100 permit ip 10.0.2.0 0.0.0.255 10.0.0.0 0.0.0.255
access-list 101 permit ip host 10.0.1.1 host 10.0.1.2
access-list 101 permit ip 10.0.0.0 0.0.0.255 10.0.2.0 0.0.0.255
VPN出力など
ためしに一番左側のPC0からPC1(10.0.2.2)へPINGしてみますと、
と疎通出来ていそうです。アクセスリストで制限しているので、PC0からRouter1のWAN側(10.0.1.2)にはPINGはNGです。
VPNルータ間のVPNセッションを確認するコマンドは「sh crypto isakmp sa」ですね。
Router0上で実行してみると、
と 「QM_IDLE」 になってますので、OKと思います。これが何も表示されなかったり、「MN_NO_STATE」だったりすると泣いちゃいますがダメな部分があるので設定を確認する必要がありますね。
設定はある意味テンプレート化してますので、意味がわからなくても設定できちゃいますね。それだと進歩ありませんので、補足してみますと、ポイントは
①ISAKMPのあたりのパラメータの意味
②アクセスリストの設定
と思いますので追記してみます。
crypto isakmp policy の設定
こちらは随時最新の暗号技術を使われることが必須ですね。こちらの設定は学習用PacketTracerですので、あしからず。
設定でいうと以下の部分ですね。「3des」とか「md5」はなんとなく分かりそうですが、「group 2」はわからないですよね。
crypto isakmp policy 1
encr 3des
hash md5
authentication pre-share
group 2
それぞれのパラメータがPacketTracer(7.2.2)でどんな値が使えるのか調べてみました。
・「encryption」
「3des」,「aes」,「des」ですね。流石に「des」は使わないほうが良いですよね。暗号強度としてはaesが高いものと思われます。
・「hash」
「md5」,「sha」の2つです。一応shaのほうが多少強度が高いのでしょうか。shaは多分sha1と思われますので、どっちもどっちといったところでしょうか。
・「authentication」
このバージョンでは「pre-share」一択ですね。事前共有鍵ですね。 ここでは以下のコマンドで設定されていて「CISCO」が事前共有鍵になりますね。
crypto isakmp key CISCO address 10.0.1.1
・「group」
group はDiffie-Hellman鍵共有法についてのパラメータですね。
「1」,「2」,「5」が使えます。数値が高いほど強度が高くなる、ハイスペックが要求される、ということになりますでしょうか。
ちなみに以下のようにパラメータを変更してみたところ無事に動作しているようにみえました。
crypto isakmp policy 1
encr aes
hash sha
authentication pre-share
group 5
!
crypto ipsec transform-set IPSECSET esp-aes esp-sha-hmac
hash はshaのほうがデフォルトなのかsh run では出てきませんね。
アクセスリスト の設定
アクセスリストの設定は現場のLAN状況、どこまで厳しくするかでいろいろ変わる部分ですよね。こちらの例ではアクセスリスト2つ設定してみました。1つはcrypto mapでVPN化するアドレスの範囲の指定で、もう一つはWAN側の口の最低限のセキュリティ設定ですね。
・Crypt MapでVPN暗号化ネットワーク指定
Router0ですとこのあたりですね。
crypto map MAPTEST 1 ipsec-isakmp
match address 100
access-list 100 permit ip 10.0.0.0 0.0.0.255 10.0.2.0 0.0.0.255
こちらはRouter0のLAN側10.0.0.0/24からR1のLAN側10.0.2.0/24への通信を暗号化するよ、ってことですね。これは単純ですね。
・WAN側セキュリティ設定
WAN側の設定はどこまでやるかですが、何もしないわけには行かないですよね。この辺の設定ですね。Router0側です。
access-list 101 permit ip host 10.0.1.2 host 10.0.1.1
この例では単純にipで対抗のRouterをpermitしてますが、こだわりのある方でしたらもう少し細かく設定されているところですよね。ipではなくahp,espとかを使ったりするかもですね。
あとはLAN間通信ですね。これないとVPNがアップしないですね。Rouer0側です。
access-list 101 permit ip 10.0.2.0 0.0.0.255 10.0.0.0 0.0.0.255
まとめ
コピペかさらに一歩進むにはさらに勉強が必要ですね。
補足:PacketTracer PCの設定
今回始めてPacketTracerでPCを使いましたが、簡単な設定、使い方です。PCオブジェクトを設置したあと、「Desktop」のタブに移動します。
「IP Configuration」でIPアドレスが設定できます。「Command Prompt」でPING等のコマンドラインツールが入力できます。
補足2:
このままDMVPNまでと思いましたが、やはりPacketTracerでは無理そうですね。「crypto ipsec profile 」が出来ませんし、Tunnelインターフェイスで「ip nhrp」がダメですね。