VPN(トンネル・エンドポイント・ディスカバリ 1)

 トンネル・エンドポイント・ディスカバリ(TED: Tunnel End-Point Discovery)を利用するとIPsecトンネルの接続相手であるルータを自動的に発見して自動的にトンネルを確立することができます。

 TEDでは、「TEDプローブ」と呼ばれるパケットを使って、経路途中にIPsec に対応したルータが存在するかどうかを調べます。対応するルータが存在すれば、「TED応答」と呼ばれるパケットで応答します。このやり取りで、お互いのアドレスを知ることができるようになっています。

下のネットワークをTEDを使用して構築していきます。拠点Aと拠点Bは、TEDを使用してVPNで接続します。

※Router_BのE0は、「no keepalive」コマンドで、強制的にUPさせます。

トンネル・エンドポイント・ディスカバリの設定

●「dynamic-map」の定義

TEDの設定では、「dynamic-map」を定義します。

TEDでは、接続相手を自動的に発見するため、「set peer」コマンドは必要ありません。

Router(config)#crypto dynamic-map MAP-IPSEC 1
Router(config-crypto-map)#set transform-set TS-IPSEC
Router(config-crypto-map)#match address 100

●「dynamic-map」を「crypto map」で指定する。

 定義した「dynamic-map」を「crypto map」で指定します。その際、「dynamic」、「discover」オプションを指定します。

Router(config)#crypto map TEDTAG 1 ipsec-isakmp dynamic MAP-IPSEC discover

●インターフェイスへ適用する。

「crypto map」をインターフェイスに適用します。

Router(config)#interface fastEthernet 0
Router(config-if)#crypto map TEDTAG
Router(config)#exit

●共通鍵とIPアドレスの関連づけ

接続相手のIPアドレスは、自動的に検出するので「0.0.0.0」を指定しておきます。

Router_A(config)#crypto isakmp key cisco address 0.0.0.0 0.0.0.0

TEDの設定の要点が分かったところで、各ルータを設定していきます。

Router_Aの設定

●初期設定

Rouer#conf t
Router(config)#hostname Router_A
Router_A(config)#enable password cisco
Router_A(config)#line vty 0 4
Router_A(config-line)#password cisco
Router_A(config-line)#login
Router_A(config-line)#exit
Router_A(config)#int e0
Router_A(config-if)#ip address 172.16.0.1 255.255.0.0
Router_A(config-if)#no shutdown
Router_A(config-if)#exit
Router_A(config)#int f0
Router_A(config-if)#ip address 20.0.0.1 255.0.0.0
Router_A(config-if)#no shutdown
Router_A(config-if)#exit

●IPsec対象トラフィックの定義

Router_A(config)#access-list 100 permit ip 172.16.0.0 0.0.255.255 172.17.0.0 0.0.255.255

●デフォルトルートの設定

Router_A(config)#ip route 0.0.0.0 0.0.0.0 20.0.0.2

●VPNの設定

Router_A(config)#crypto isakmp policy 1
Router_A(config-isakmp)#authentication pre-share
Router_A(config-isakmp)#exit

↓対向ルータのアドレスは「0.0.0.0」を指定します。
Router_A(config)#crypto isakmp key cisco address 0.0.0.0 0.0.0.0

Router_A(config)#crypto ipsec transform-set TS-IPSEC esp-3des esp-sha-hmac
Router_A(cfg-crypto-trans)#mode tunnel
Router_A(cfg-crypto-trans)#exit

↓「crypto dynamic-map」を作成します。
Router_A(config)#crypto dynamic-map MAP-IPSEC 1
Router_A(config-crypto-map)#set transform-set TS-IPSEC
Router_A(config-crypto-map)#match address 100
Router_A(config-crypto-map)#exit

↓「crypto map」で「crypto dynamic-map」を指定します。
Router_A(config)#crypto map TEDTAG 1 ipsec-isakmp dynamic MAP-IPSEC discover

Router_A(config)#interface fastEthernet 0
Router_A(config-if)#crypto map TEDTAG
Router_A(config)#exit

Router_Bの設定

●初期設定

Rouer#conf t
Router(config)#hostname Router_B
Router_B(config)#enable password cisco
Router_B(config)#line vty 0 4
Router_B(config-line)#password cisco
Router_B(config-line)#login
Router_B(config-line)#exit
Router_B(config)#int e0
Router_B(config-if)#ip address 172.17.0.1 255.255.0.0
Router_B(config-if)#no shutdown
Router_B(config-if)#no keepalive
Router_B(config-if)#exit
Router_B(config)#int f0
Router_B(config-if)#ip address 20.0.0.2 255.0.0.0
Router_B(config-if)#no shutdown
Router_B(config-if)#exit

●IPsec対象トラフィックの定義

Router_B(config)#access-list 100 permit ip 172.17.0.0 0.0.255.255 172.16.0.0 0.0.255.255

●デフォルトルートの設定

Router_B(config)#ip route 0.0.0.0 0.0.0.0 20.0.0.1

●VPNの設定

Router_B(config)#crypto isakmp policy 1
Router_B(config-isakmp)#authentication pre-share
Router_B(config-isakmp)#exit

↓対向ルータのアドレスは「0.0.0.0」を指定します。
Router_B(config)#crypto isakmp key cisco address 0.0.0.0 0.0.0.0

Router_B(config)#crypto ipsec transform-set TS-IPSEC esp-3des esp-sha-hmac
Router_B(cfg-crypto-trans)#mode tunnel
Router_B(cfg-crypto-trans)#exit

↓「crypto dynamic-map」を作成します。
Router_B(config)#crypto dynamic-map MAP-IPSEC 1
Router_B(config-crypto-map)#set transform-set TS-IPSEC
Router_B(config-crypto-map)#match address 100
Router_B(config-crypto-map)#exit

↓「crypto map」で「crypto dynamic-map」を指定します。
Router_B(config)#crypto map TEDTAG 1 ipsec-isakmp dynamic MAP-IPSEC discover

Router_B(config)#interface fastEthernet 0
Router_B(config-if)#crypto map TEDTAG
Router_B(config)#exit

各ルータのコンフィグは、次の「VPN(トンネル・エンドポイント・ディスカバリ 2)」で紹介します。