古河電工ネットワーク機器の総合ブランド ファイテルネット
古河電工
FITELnetトップ製品ラインナップイベント&セミナーセールス&サポート
Routing to the Future FITELnet
お問い合わせはこちら
 
設定例
10.アドレス不定の拠点間で直接IPsec通信を行なう
概要
補足・注意点
動作説明
  • ダイナミック DNS 機能を使うことで、アドレス不定の拠点間でも直接 IPsec 通信することが可能となります。

  • ダイナミック DNS 機能は F100/F1000 の V02.06(00) 以降でのサポートとなります。

  • アドレス固定のセンターの F100 で、ダイナミック DNS サーバ機能を動作させます。

  • アドレス不定の拠点は、自身のアドレスとドメイン名をセンターのダイナミック DNS サーバに登録しておきます。そして IPsec の対向となるアドレス不定の拠点のピアとして、相手のドメイン名を設定しておき、そのアドレスをセンターのダイナミック DNS サーバに問い合わせに行きます。

  • 拠点間の Phase 1 のネゴは aggressive mode で行われますが、どちらの拠点からもネゴを開始することができます。
コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
センターの F100
!
!
! 特権ユーザモードに移行します。
!
Router> enable
Enter password: super ←パスワードを入力します。(実際は表示されない)

Router#
!
!
! 基本設定モードに移行します。
!
Router# configure terminal
Router(config)#
!
!
! LAN 側 IP アドレスを設定します。
!
Router(config)# interface lan 1
Router(config-if lan 1)# ip address 192.168.100.254 255.255.255.0
Router(config-if lan 1)# exit
!
!
! PPPoE の各種設定をします。
!
Router(config)# interface pppoe 1
Router(config-if pppoe 1)# ip address 200.200.200.1
Router(config-if pppoe 1)# pppoe server Flets
Router(config-if pppoe 1)# pppoe account abc123@furukawa.co.jp pass456
Router(config-if pppoe 1)# exit
!
! 
! VPN 機能を有効にします。
!
Router(config)# vpn enable
!
!
! VPN 通信の詳細なログを残すようにします。
!
Router(config)# vpnlog enable
!
!
! 拠点 1 用の Phase 1 ポリシーの設定を行ないます。
!
Router(config)# crypto isakmp policy 1
Router(config-isakmp)# authentication prekey
Router(config-isakmp)# encryption aes 128
Router(config-isakmp)# group 2
Router(config-isakmp)# hash sha
Router(config-isakmp)# keepalive always-send
Router(config-isakmp)# key ascii secret-vpn
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity host kyoten@nagoya
Router(config-isakmp)# tunnel-route interface pppoe 1 *1
!                      Phase 1 のネゴパケットの受信を契機に、nexthop を pppoe 1 として
!                      拠点の peer 宛のルートを登録します。
Router(config-isakmp)# exit
!
!
! 拠点 2 用の Phase 1 ポリシーの設定を行ないます。
!
Router(config)# crypto isakmp policy 2
Router(config-isakmp)# authentication prekey
Router(config-isakmp)# encryption aes 128
Router(config-isakmp)# group 2
Router(config-isakmp)# hash sha
Router(config-isakmp)# keepalive always-send
Router(config-isakmp)# key ascii secret-vpn
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity host kyoten@oosaka
Router(config-isakmp)# tunnel-route interface pppoe 1
Router(config-isakmp)# exit
!
!
! Phase 2 ポリシーの設定を行ないます。
!
Router(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac
!
!
! 拠点 1 用の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 10 ipsec ip any any
!
Router(config)# crypto map nagoya 1
Router(config-crypto-map)# match address 10
Router(config-crypto-map)# set peer host kyoten@nagoya
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# exit
!
!
! 拠点 2 用の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 11 ipsec ip any any
!
Router(config)# crypto map oosaka 2
Router(config-crypto-map)# match address 11
Router(config-crypto-map)# set peer host kyoten@oosaka
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# exit
!
!
! 拠点 1 用の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 1
Router(config-if ipsecif 1)# crypto map nagoya
Router(config-if ipsecif 1)# exit
!
!
! 拠点 2 用の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 2
Router(config-if ipsecif 2)# crypto map oosaka
Router(config-if ipsecif 2)# exit
!
!
! 各拠点のネットワーク向けのルートを設定します。
!
Router(config)# ip route 192.168.1.0 255.255.255.0 connected ipsecif 1
Router(config)# ip route 192.168.2.0 255.255.255.0 connected ipsecif 2
!
!
! ダイナミック DNS サーバの設定をします。*2
!
Router(config)# ddns-server enable
Router(config)# ddns-server accept-fqdn type v4 nagoya.branch.jp password ngy lifetime 86400 *3 *4
Router(config)# ddns-server accept-fqdn type v4 oosaka.branch.jp password osk lifetime 86400 *3 *4
!               ここで登録したレコードに合致した登録要求のみ受け入れを許可します。
Router(config)# ddns-server logging address-changes
!
!
! ProxyDNS 機能の設定をします。*5
! 各拠点からの名前解決要求に応答するために必須の設定となります。
!
Router(config)# proxydns mode v4
!
!
! 特権ユーザモードに戻ります。
!
Router(config)# end
!
!
! 設定を保存します。
!
Router# save SIDE-A.cfg
% saving working-config
% finished saving

Router#
!
!
! 設定を有効にするために再起動します。
!
Router# reset
Are you OK to cold start?(y/n) y
*1 pppoe 1 ではなく、ewan 1 でアドレスをマニュアル設定している場合は、次のように明示的に nexthop のアドレスを設定する必要があります。
tunnel-route address <NEXTHOP のアドレス>
ewan 1 のアドレスを DHCP で取得している場合に限り、tunnel-route interface ewan 1 のようにインターフェース指定することができます。

*2 F100 の場合、http-server shutdown で HTTP サーバ機能を停止してあると、ダイナミック DNS サーバ機能を利用することができません。

*3 FQDN は大文字、小文字の区別はされません。

*4 ライフタイムは拠点からの登録インターバルより大きな値に設定しておく必要があります。

*5 F100/F1000 V02.06(00) で応答バケットについては、問い合わせを受けたアドレスを送信元とするようにしました(これより前のファームでは、実際に応答パケットを送信するインターフェースのアドレスを、送信元アドレスとしていました。そのため、今回のように、各拠点向けの送信インターフェースとなるのが ipsecif だと、unnumbered のインターフェースのため、アドレスを付けることができず、パケットを送信することができませんでした)。
なお、proxydns default source-interface の設定は、上位の DNS サーバに問い合わせに行く場合の送信元アドレスにのみ適用され、応答パケットについては適用されません。
コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
拠点 1 の F100
!
!
! 特権ユーザモードに移行します。
!
Router> enable
Enter password: super ←パスワードを入力します。(実際は表示されない)

Router#
!
!
! 基本設定モードに移行します。
!
Router# configure terminal
Router(config)#
!
!
! LAN 側 IP アドレスを設定します。
!
Router(config)# interface lan 1
Router(config-if lan 1)# ip address 192.168.1.254 255.255.255.0
Router(config-if lan 1)# exit
!
!
! PPPoE の各種設定をします。
!
Router(config)# interface pppoe 1
Router(config-if pppoe 1)# pppoe server Flets
Router(config-if pppoe 1)# pppoe account abc456@furukawa.co.jp pass789
Router(config-if pppoe 1)# exit
!
! 
! VPN 機能を有効にします。
!
Router(config)# vpn enable
!
!
! VPN 通信の詳細なログを残すようにします。
!
Router(config)# vpnlog enable
!
!
! センター用の Phase 1 ポリシーの設定を行ないます。
!
Router(config)# crypto isakmp policy 1
Router(config-isakmp)# authentication prekey
Router(config-isakmp)# encryption aes 128
Router(config-isakmp)# group 2
Router(config-isakmp)# hash sha
Router(config-isakmp)# keepalive always-send
Router(config-isakmp)# key ascii secret-vpn
Router(config-isakmp)# my-identity kyoten@nagoya
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address 200.200.200.1
Router(config-isakmp)# exit
!
!
! 拠点 2 用の Phase 1 ポリシーの設定を行ないます。
!
Router(config)# crypto isakmp policy 2
Router(config-isakmp)# authentication prekey
Router(config-isakmp)# encryption aes 128
Router(config-isakmp)# group 2
Router(config-isakmp)# hash sha
Router(config-isakmp)# keepalive always-send
Router(config-isakmp)# key ascii secret-vpn
Router(config-isakmp)# my-identity kyoten@nagoya
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address oosaka.branch.jp
!                      アドレス不定の対向の peer を FQDN で指定します。
Router(config-isakmp)# peer-identity host kyoten@oosaka
Router(config-isakmp)# exit
!
!
! Phase 2 ポリシーの設定を行ないます。
!
Router(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac
!
!
! センター用の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 10 ipsec ip any any
!
Router(config)# crypto map tokyo 1
Router(config-crypto-map)# match address 10
Router(config-crypto-map)# set peer address 200.200.200.1
Router(config-crypto-map)# set security-association always-up *6
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# exit
!
!
! 拠点 2 用の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 11 ipsec ip any any
!
Router(config)# crypto map oosaka 2
Router(config-crypto-map)# match address 11
Router(config-crypto-map)# set peer address oosaka.branch.jp
Router(config-crypto-map)# set peer host kyoten@oosaka
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# exit
!
!
! センター用の IPsec インターフェースの設定をします。*6
!
Router(config)# interface ipsecif 1
Router(config-if ipsecif 1)# crypto map tokyo
Router(config-if ipsecif 1)# exit
!
!
! 拠点 2 用の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 2
Router(config-if ipsecif 2)# crypto map oosaka
Router(config-if ipsecif 2)# exit
!
!
! センターのピアに対するルートを設定します。*7
!
Router(config)# ip route 200.200.200.1 255.255.255.255 pppoe 1
!
!
! デフォルトルートを設定します。拠点 2 のピアに対するルートとなります。*8
!
Router(config)# ip route 0.0.0.0 0.0.0.0 pppoe 1
!
!
! センターと拠点 2 のネットワーク向けのルートを設定します。
!
Router(config)# ip route 192.168.100.0 255.255.255.0 connected ipsecif 1 *6
Router(config)# ip route 192.168.2.0 255.255.255.0 connected ipsecif 2
!
!
! ダイナミック DNS クライアントの設定をします。
!
Router(config)# http-client 1
Router(config-http-client 1)#
    method 1 get url http://192.168.100.254/cgi-bin/ddns-v4.cgi dn nagoya.branch.jp i4 $i4 pw ngy
!                  自身の FQDN をセンターの F100 に登録します。登録要求するパラメータは
!                  dn  i4  pw <パスワード> のように記述します。
!                  アドレスとして $i4 を指定すると、次の reference-interface で指定した
!                  インターフェースの IPv4 アドレスが参照されます。
Router(config-http-client 1)# reference-interface pppoe 1
!                             上の $i4 として pppoe 1 のアドレスを指定します。
Router(config-http-client 1)# request-timeout 10 retry 5
!      登録要求に対して応答が 10 秒以内になかった場合、5 回までリトライするようにします。
Router(config-http-client 1)# source-interface lan 1
Router(config-http-client 1)# logging error
Router(config-http-client 1)# exit
!
!
! ダイナミック DNS サーバに登録に行くタイミングを指定します。
!
Router(config)# interface pppoe 1
Router(config-if pppoe 1)# ddns-client address ip action http-client 1 delay 30 interval 300 *9
!                          アドレスに変更があった場合、30 秒待ってから再登録しに行きます。
!                          また、300 秒間隔で定期的に登録に行きます。
Router(config-if pppoe 1)# exit
!
!
! DNS リゾルバの設定をします。
! 対向の peer の FQDN を名前解決する必要があるので必須の設定となります。
!
Router(config)# ip name-server 192.168.100.254
!               name server としてセンターの F100 を指定します。
Router(config)# ip name-server source-interface lan 1
!
!
! 特権ユーザモードに戻ります。
!
Router(config)# end
!
!
! 設定を保存します。
!
Router# save SIDE-A.cfg
% saving working-config
% finished saving

Router#
!
!
! 設定を有効にするために再起動します。
!
Router# reset
Are you OK to cold start?(y/n) y
*6 crypto map に set security-association always-up の設定がある場合、その crypto map に結び付けられた ipsecif は Phase 2 SA の有無に応じて up/down します(設定がない場合は、Phase 2 SA の有無にかかわらず、常に up となります)。
今回の例では bypass 設定がないので、その心配はありませんが、デフォルトルートが pppoe に向いていて bypass 設定がある場合、センター向けの Phase 2 SA ができていないと、ipsecif 向けのルートが有効にならず、センター宛の通信がデフォルトルートに従って、平文のままインターネットに出て行くことになります。この場合、下記のような優先度を下げた null ルートを設定しておくことで、これを防止することができます。
ip route 192.168.100.0 255.255.255.0 connected null 0 200

*7 デフォルトルートに包含されるので、省略可能ですが、重要なルート情報なので、ここでは明示的に設定しています。

*8 対向の peer のアドレスが不定なので、initiator となるにはデフォルトルートを拠点 2 の peer に向けておくことが必須となります。

*9 ダイナミック DNS サーバ側のライフタイムが満了する前に再登録しに行く必要があります。

コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
拠点 2 の F100
!
!
! 特権ユーザモードに移行します。
!
Router> enable
Enter password: super ←パスワードを入力します。(実際は表示されない)

Router#
!
!
! 基本設定モードに移行します。
!
Router# configure terminal
Router(config)#
!
!
! LAN 側 IP アドレスを設定します。
!
Router(config)# interface lan 1
Router(config-if lan 1)# ip address 192.168.2.254 255.255.255.0
Router(config-if lan 1)# exit
!
!
! PPPoE の各種設定をします。
!
Router(config)# interface pppoe 1
Router(config-if pppoe 1)# pppoe server Flets
Router(config-if pppoe 1)# pppoe account abc789@furukawa.co.jp pass456
Router(config-if pppoe 1)# exit
!
! 
! VPN 機能を有効にします。
!
Router(config)# vpn enable
!
!
! VPN 通信の詳細なログを残すようにします。
!
Router(config)# vpnlog enable
!
!
! センター用の Phase 1 ポリシーの設定を行ないます。
!
Router(config)# crypto isakmp policy 1
Router(config-isakmp)# authentication prekey
Router(config-isakmp)# encryption aes 128
Router(config-isakmp)# group 2
Router(config-isakmp)# hash sha
Router(config-isakmp)# keepalive always-send
Router(config-isakmp)# key ascii secret-vpn
Router(config-isakmp)# my-identity kyoten@oosaka
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address 200.200.200.1
Router(config-isakmp)# exit
!
!
! 拠点 1 用の Phase 1 ポリシーの設定を行ないます。
!
Router(config)# crypto isakmp policy 2
Router(config-isakmp)# authentication prekey
Router(config-isakmp)# encryption aes 128
Router(config-isakmp)# group 2
Router(config-isakmp)# hash sha
Router(config-isakmp)# keepalive always-send
Router(config-isakmp)# key ascii secret-vpn
Router(config-isakmp)# my-identity kyoten@oosaka
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address nagoya.branch.jp
Router(config-isakmp)# peer-identity host kyoten@nagoya
Router(config-isakmp)# exit
!
!
! Phase 2 ポリシーの設定を行ないます。
!
Router(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac
!
!
! センター用の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 10 ipsec ip any any
!
Router(config)# crypto map tokyo 1
Router(config-crypto-map)# match address 10
Router(config-crypto-map)# set peer address 200.200.200.1
Router(config-crypto-map)# set security-association always-up
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# exit
!
!
! 拠点 1 用の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 11 ipsec ip any any
!
Router(config)# crypto map nagoya 2
Router(config-crypto-map)# match address 11
Router(config-crypto-map)# set peer address nagoya.branch.jp
Router(config-crypto-map)# set peer host kyoten@nagoya
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# exit
!
!
! センター用の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 1
Router(config-if ipsecif 1)# crypto map tokyo
Router(config-if ipsecif 1)# exit
!
!
! 拠点 1 用の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 2
Router(config-if ipsecif 2)# crypto map nagoya
Router(config-if ipsecif 2)# exit
!
!
! センターのピアに対するルートを設定します。
!
Router(config)# ip route 200.200.200.1 255.255.255.255 pppoe 1
!
!
! デフォルトルートを設定します。拠点 1 のピアに対するルートとなります。
!
Router(config)# ip route 0.0.0.0 0.0.0.0 pppoe 1
!
!
! センターと拠点 1 のネットワーク向けのルートを設定します。
!
Router(config)# ip route 192.168.100.0 255.255.255.0 connected ipsecif 1
Router(config)# ip route 192.168.1.0 255.255.255.0 connected ipsecif 2
!
!
! ダイナミック DNS クライアントの設定をします。
!
Router(config)# http-client 1
Router(config-http-client 1)#
    method 1 get url http://192.168.100.254/cgi-bin/ddns-v4.cgi dn oosaka.branch.jp i4 $i4 pw osk
Router(config-http-client 1)# reference-interface pppoe 1
Router(config-http-client 1)# request-timeout 10 retry 5
Router(config-http-client 1)# source-interface lan 1
Router(config-http-client 1)# logging error
Router(config-http-client 1)# exit
!
!
! ダイナミック DNS サーバに登録に行くタイミングを指定します。
!
Router(config)# interface pppoe 1
Router(config-if pppoe 1)# ddns-client address ip action http-client 1 delay 30 interval 300
Router(config-if pppoe 1)# exit
!
!
! DNS リゾルバの設定をします。
!
Router(config)# ip name-server 192.168.100.254
Router(config)# ip name-server source-interface lan 1
!
!
! 特権ユーザモードに戻ります。
!
Router(config)# end
!
!
! 設定を保存します。
!
Router# save SIDE-A.cfg
% saving working-config
% finished saving

Router#
!
!
! 設定を有効にするために再起動します。
!
Router# reset
Are you OK to cold start?(y/n) y

ページトップへ

All Rights Reserved, Copyright(C) FURUKAWA ELECTRIC CO., LTD. 2007