古河電工ネットワーク機器の総合ブランド ファイテルネット
古河電工
FITELnetトップ製品ラインナップイベント&セミナーセールス&サポート
Routing to the Future FITELnet
お問い合わせはこちら
 
設定例
センター、拠点各1台で回線冗長する
概要
補足・注意点
構成図
動作説明
  • イベントアクション機能を使って、通常時はブロードバンドの IPsec で通信を行い、メイン回線に障害が発生したときには同じくブロードバンドの IPsec でバックアップする構成です。
  • 拠点側ではイベントアクション機能を利用して、メインのトンネル経由で対向のルータを監視し、監視に失敗したらバックアップのトンネルに向けたルートを追加することで、経路の切り替えを行います。そして、監視に成功するようになったら、バックアップのトンネルに向けたルートを削除することで、経路を切り戻します。
  • 一方、センター側では Phase 2 SA の有無に応じて登録/削除される sa-up ルート機能を利用して経路の切り替え、切り戻しを行います。
  • メイン側とバックアップ側で、回線事業者、プロバイダを別のものにしておくと耐障害性が高まります。
  • 拠点側でのPPPoE1はEWAN 1(EWANポート)、PPPoE5はVLAN 1(LANポート4)を使います。
コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
拠点
!
!
! 特権ユーザモードに移行します。
!
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 Main
Router(config-if pppoe 1)# pppoe account abc123@furukawa.co.jp pass456
Router(config-if pppoe 1)# exit
!
! 
! バックアップ側の PPPoE の各種設定をします。
!
Router(config)# interface pppoe 5
Router(config-if pppoe 5)# pppoe server Backup
Router(config-if pppoe 5)# pppoe account abc456@furukawa.co.jp pass123
Router(config-if pppoe 5)# pppoe interface vlanif 1
!                            PPPoE5は、VLAN1インターフェースにて行います。
Router(config-if pppoe 5)# exit
!
! 
! VLANインターフェース(PPPoE5用)の設定をします。
Router(config)#interface vlanif 1
Router(config-if vlanif 1)# bridge-group lan 1
Router(config-if vlanif 1)# vlan-id 1
Router(config-if vlanif 1)#exit
!
!
! Ethernet(VLAN用)の設定をします。
!
Router(config)#line lan
Router(config-line lan)# vlan 4 bridge-group 1
Router(config-line lan)# vlan 4 port-vlan 1
Router(config-line lan)#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@main
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address 200.200.200.1
Router(config-isakmp)# exit
!
!
! バックアップ側の 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@backup
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address 100.100.100.1
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 192.168.2.0 0.0.0.255 any
!
Router(config)# crypto map Main 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
!
!
! バックアップ側の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 11 ipsec ip 192.168.2.0 0.0.0.255 any
!
Router(config)# crypto map Backup 2
Router(config-crypto-map)# match address 11
Router(config-crypto-map)# set peer address 100.100.100.1
Router(config-crypto-map)# set security-association always-up
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 Main
Router(config-if ipsecif 1)# exit
!
!
! バックアップ側の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 2
Router(config-if ipsecif 2)# crypto map Backup
Router(config-if ipsecif 2)# exit
!
!
! センターのピアに対するルートを設定します。*1
!
Router(config)# ip route 200.200.200.1 255.255.255.255 pppoe 1
Router(config)# ip route 100.100.100.1 255.255.255.255 pppoe 5
!
!
! センターのネットワークに対するメインのルートを設定します。*2
!
Router(config)# ip route 192.168.1.0 255.255.255.0 connected ipsecif 1 50
!               メイン経路に障害が発生した場合に、イベントアクションで追加されるルートを
!               優先したいので、こちらの優先度を下げておきます。
!
!
! 経路監視の設定をします。 *3
! nexthop を指定することで、装置のルート情報に左右されることなく、常にトンネル経由で
! センターの LAN 側を監視するようにします。
! icmp-class の status としては、監視が成功している間は true で、失敗すると false となります。
!
Router(config)# icmp-class 1 *4
Router(config-icmp-class 1)# address 192.168.1.254 nexthop connected ipsecif 1 source-interface lan 1 *5
Router(config-icmp-class 1)# exit
!
!
! イベントクラスの設定をします。
! ここではアクションの契機となるイベントを設定します。
! イベントの staus が true になると、アクションが実行されます。
! 今回の場合、経路監視が失敗したら、アクションとして経路を追加したいので、
! invert オプションを付けて icmp-class の status を反転させます。
!
Router(config)# event-class 1 *4
Router(config-event-class 1)# check ip-icmp 1 invert
Router(config-event-class 1)# exit
!
!
! イベントアクションの設定をします。
! アクションとしてバックアップ側の経路を追加するようにします。*2
!
Router(config)# event-action 1 *4
Router(config-event-action 1)# add ip route 192.168.1.0 255.255.255.0 connected ipsecif 2
Router(config-event-action 1)# exit
!
!
! イベントマップの設定をします。
! ここでイベントクラスとイベントアクションの結び付けを行います。
!
Router(config)# event-map
Router(config-event-map)# event-class 1 event-action 1
Router(config-event-map)# exit
!
!
! 特権ユーザモードに戻ります。
!
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 : ルートベースの IPsec の場合、ルーティングテーブルに従って SA を確立しに行きます。デフォルトルートを pppoe に向けて設定してあるような場合、対向の peer へのホストルートが落ちると、意図しないインターフェースで SA を確立してしまうことがあります。
この場合、下記のような null ルートを設定しておくことで、これを防止することができます。
ip route 200.200.200.1 255.255.255.255 connected null 0 200
ip route 100.100.100.1 255.255.255.255 connected null 0 200
*2 : crypto map に set security-association always-up の設定がある場合、ipsecif は Phase 2 SA の有無に応じて up/down します(設定がない場合は、Phase 2 SA の有無にかかわらず、常に up となります)。
bypass 設定があってデフォルトルートを pppoe に向けて設定してあるような場合、メイン、バックアップとも Phase 2 SA ができていないと、ipsecif 向けのルートが有効にならず、センター宛の通信がデフォルトルートに従って、平文のままインターネットに出て行くことになります。この場合、下記のような null ルートを設定しておくことで、これを防止することができます。
ip route 192.168.1.0 255.255.255.0 connected null 0 200
*3 : デフォルトでは 30 秒間隔で ping による監視を行い、1 回の監視で 2 パケットまで送信します。そして 1 パケットでも reply があれば、その回の監視は成功と判断されます。
icmp-class の status としては、2 回連続で監視に失敗すると、false となります。そして、3 回連続で監視に成功すると、true となります。これらの値は下記のコマンドにより変更可能です。
icmp-class 1
interval 30 restoration 30
probe 2
trial 3 fail 2
*4 : 各設定モードにおいて下記の設定を入れておくと、それぞれの status に変化があった場合に、slog に記録されるようになります。
logging event state-change enable
*5 : source-interface 指定がない場合、送信元アドレスはパケットが実際に送信されるインターフェースのアドレスとなりますが、ここで nexthop として指定している ipsecif は unnumbered のインターフェースのため、アドレスを付けることができず、パケットを送信することができなくなります(監視が失敗となります)。
コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
センター
!
!
! 特権ユーザモードに移行します。
!
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)# ip address 200.200.200.1
Router(config-if pppoe 1)# pppoe server Main
Router(config-if pppoe 1)# pppoe account abc456@furukawa.co.jp pass789
Router(config-if pppoe 1)# exit
!
! 
! バックアップ側の PPPoE の各種設定をします。
!
Router(config)# interface pppoe 5
Router(config-if pppoe 5)# ip address 100.100.100.1
Router(config-if pppoe 5)# pppoe server Backup
Router(config-if pppoe 5)# pppoe account abc789@furukawa.co.jp pass456
Router(config-if pppoe 5)# 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 *6
!                      keepalive を行って、経路に障害が発生した場合には SA を消して
!                      sa-up route を削除してルートが切り替わるようにします。
Router(config-isakmp)# key ascii secret-vpn
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity host kyoten@main
Router(config-isakmp)# tunnel-route interface pppoe 1 *7
!                      Phase 1 のネゴパケットの受信を契機に、nexthop を pppoe 1 として
!                      拠点の peer 宛のルートを登録します。
Router(config-isakmp)# exit
!
!
! バックアップ側の 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@backup
Router(config-isakmp)# tunnel-route interface pppoe 5
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 192.168.2.0 0.0.0.255 *8
!
Router(config)# crypto map Main 1
Router(config-crypto-map)# match address 10
Router(config-crypto-map)# set peer host kyoten@main
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# sa-up route interface ipsecif 1 *9
!                          Phase2 SA の確立を契機に、nexthop を ipsecif 1 として
!                          ipsec access-list の宛先ネットワーク宛のルートを登録します。
Router(config-crypto-map)# exit
!
!
! バックアップ側の VPN セレクタの設定を行ないます。
!
Router(config)# ipsec access-list 11 ipsec ip any 192.168.2.0 0.0.0.255 *8
!
Router(config)# crypto map Backup 2
Router(config-crypto-map)# match address 11
Router(config-crypto-map)# set peer host kyoten@backup
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# sa-up route interface ipsecif 2 50 *9
!                          バックアップ側の sa-up route の distance 値を 50 に設定して
!                          優先度を下げておきます。これにより、メイン側で Phase 2 SA が
!                          できている間は、メイン側の sa-up route が優先されます。
Router(config-crypto-map)# exit
!
!
! メイン側の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 1
Router(config-if ipsecif 1)# crypto map Main
Router(config-if ipsecif 1)# exit
!
!
! バックアップ側の IPsec インターフェースの設定をします。
!
Router(config)# interface ipsecif 2
Router(config-if ipsecif 2)# crypto map Backup
Router(config-if ipsecif 2)# exit
!
!
! 拠点側からの監視に対する reply は、常にメイン経路から返したいので、
! 監視パケットの送信元に対するホストルートを設定しておきます。
!
Router(config)# ip route 192.168.2.254 255.255.255.255 connected ipsecif 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 : always-send とすることで、定期的に(デフォルトでは 60 秒間隔)keepalive を行うようになります。
*7 : pppoe 1 ではなく、ewan 1 でアドレスをマニュアル設定している場合は、次のように明示的に nexthop のアドレスを設定する必要があります。
tunnel-route address <NEXTHOP のアドレス>
ewan 1 のアドレスを DHCP で取得している場合に限り、tunnel-route interface ewan 1 のようにインターフェース指定することができます。
*8 : IPsec インターフェースを使ったルートベースの IPsec の場合、通常は宛先も any としておけば良いのですが、sa-up route を使って経路の制御を行っているので、ここでは宛先を拠点のネットワークとしています。拠点側の ipsec access-list もこれに合わせています。
*9 : bypass 設定があってデフォルトルートを pppoe に向けて設定してあるような場合、メイン、バックアップとも Phase 2 SA ができていないと、sa-up route が登録されず、拠点宛の通信がデフォルトルートに従って、平文のままインターネットに出て行くことになります。この場合、下記のような null ルートを設定しておくことで、これを防止することができます。
ip route 192.168.2.0 255.255.255.0 connected null 0 200

ページトップへ

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