古河電工ネットワーク機器の総合ブランド ファイテルネット
古河電工
FITELnetトップ製品ラインナップイベント&セミナーセールス&サポート
Routing to the Future FITELnet
お問い合わせはこちら
 
設定例
4.センタF1000(2台各1回線)・拠点F100(1台1回線)でIPsec負荷分散を行う
概要
補足・注意点
動作説明
  • 拠点側F100は1台で、PPPoE(IPアドレス不定)を1セッション使用します。
    センタ側F1000は2台で機器冗長と回線冗長を行い、それぞれPPPoE(IPアドレス固定)を1セッション使用します。
  • センタ側2台のF1000をF100に置き換えても運用できます。
  • IPsecはアグレッシブモードですが、拠点側から常にSAを確立しているので、センタ側契機の通信にも対応できます。
  • 拠点側F100は設定された比率で負荷分散を行います(2つのVPNはActive-Activeです)。分散比率は 0 〜 10 の間の、任意の整数値で設定できます( 0 と 10 が設定できるのは、F100はV01.10以降、F1000はV01.03以降のファームウェアとなります)。
    10:0 とした場合は、通常時 0 側にユーザデータは流れず、Active-Standbyになります(keep aliveのICMPパケットは流れます)。
  • 一方のVPNが不通となった場合は、残りのVPNで全ての通信をまかないます。
    また、VPNの復旧後は再び設定された比率で負荷分散を行います。
  • 拠点側F100はVPN1経路、VPN2経路共に経路監視を行います。
    センタ側F1000はそれぞれの経路を監視します(経路監視にはICMPのkeep aliveを使用します)。
  • VPN1経路、VPN2経路の切り替えは、拠点側ではF100が自動的に行い、経路復旧後の切り戻しも拠点側F100が自動的に行います。
    経路障害時には、keep alive機能により、SAを消去します。負荷分散構成の場合、イニシエータ側でもsa-upルート機能(Phase2 SAの確立を契機として、到達可能となった経路情報を登録する機能)を使うことにより、自身のルーティングテーブルを動的に書き換えます。
  • センタ側2台のF1000は、sa-upルート機能で登録したルート情報をLAN側にRIPで広告します。センタ側の経路制御は、2台のF1000からRIPを受けたL3SWが、メトリック値をもとに判断することになります。この例の場合、F1000-1側のVPN1経路の優先度が高くなるようにして、RIPを広告しています。
  • センタ側で設定しているトンネルルート機能は、対向装置のピアへのルートを、IKEのネゴを契機として登録する機能です。この機能を使うことにより、この例のように対向装置のピアのアドレスが不定の場合でも、デフォルトルートをL3SW側に向けることができるようになります。この機能は、アグレッシブモードのレスポンダ側でのみ設定可能です。
  • 回線障害時の切り替えには平均で30秒ほどかかります(keep aliveの送信間隔が初期値で60秒に設定されているため)。
    keep aliveに関する設定は「alive」コマンドを参照。
前提条件
当設定例では、以下のアドレス・環境を前提に説明しています。
プロバイダより割り振られたアドレス(アドレスは一例です)
センタ側F1000-1 PPPoE1 200.200.200.200
センタ側F1000-2 PPPoE1 100.100.100.100
拠点側 PPPoE1 アドレス不定
設定環境
IPsecの対象とする中継パケット any ⇔ 172.16.0.0/16
※センタ側L3SWの背後の別セグメントからもVPN可能
IPsec Phase1ポリシー モード ・・・ Aggressiveモード
認証方式 ・・・ 事前共有鍵方式
暗号化方式 ・・・ AES 128
Diffie-Hellman ・・・ Group 2
ハッシュ方式 ・・・ SHA
IPsec Phase2ポリシー 暗号化方式 ・・・ AES 128
ハッシュ方式 ・・・ SHA
IPsec負荷分散の比率
(VPN1:VPN2)
2:1 ※1  (拠点側F100)
L3SW (192.168.3.254) RIP(Ver.2)を受信
※F100、F1000のRIPはVer.2を使用(初期値)
コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
拠点側 FITELnet-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 172.16.0.1 255.255.0.0
Router(config-if lan 1)# exit
!
!
! PPPoE1 の各種設定をします。
!
Router(config)# interface pppoe 1
Router(config-if pppoe 1)# pppoe server A-Provider
Router(config-if pppoe 1)# pppoe account user@xxxx.ne.jp secret
Router(config-if pppoe 1)# pppoe type host
Router(config-if pppoe 1)# crypto map VPN1
Router(config-if pppoe 1)# crypto map VPN2
!                          1つのインタフェース上で2つのVPNを張ります
Router(config-if pppoe 1)# exit
!
!
! センタ側のピアへのルートを設定します。
!
Router(config)# ip route 200.200.200.200 255.255.255.255 pppoe 1
Router(config)# ip route 100.100.100.100 255.255.255.255 pppoe 1
!
!
! DHCPサーバ機能を設定します。
!
Router(config)# service dhcp-server
Router(config)# ip dhcp pool lan1 *4
Router(config-dhcp-pool)# default-router 0.0.0.0
Router(config-dhcp-pool)# exit
!
!
! IPsec負荷分散の設定をします。
!
Router(config)# vpn enable
Router(config)# vpnlog enable
!
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 icmp always-send
!                                  icmpにより常時keep aliveを行います
Router(config-isakmp)# keepalive-icmp peer-address 192.168.3.1
!                                  監視先のアドレスを設定します
Router(config-isakmp)# keepalive-icmp source-interface lan 1
!                                  送信元IPアドレスをLAN側IPアドレスとすることにより、
!                                  VPNトンネルを通してkeep aliveをおこないます
Router(config-isakmp)# keepalive-icmp multi-path interface pppoe 1 *1
!                                  keep aliveの送受信インタフェースを固定します
Router(config-isakmp)# key ascii furukawa
Router(config-isakmp)# my-identity kyoten1-1
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address 200.200.200.200
Router(config-isakmp)# exit
!
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 icmp always-send
Router(config-isakmp)# keepalive-icmp peer-address 192.168.3.20
Router(config-isakmp)# keepalive-icmp source-interface lan 1
Router(config-isakmp)# keepalive-icmp multi-path interface pppoe 1 *1
Router(config-isakmp)# key ascii furukawa
Router(config-isakmp)# my-identity kyoten1-2
Router(config-isakmp)# negotiation-mode aggressive
Router(config-isakmp)# peer-identity address 100.100.100.100
Router(config-isakmp)# exit
!
Router(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac
!
Router(config)# ipsec access-list 10 ipsec ip 172.16.0.0 0.0.255.255 any
Router(config)# ipsec access-list 64 bypass ip any any
!
Router(config)# crypto map VPN1 1
Router(config-crypto-map)# match address 10 multi-path balance 2 *2
!                          VPN1側の比率を2として負荷分散します
Router(config-crypto-map)# set peer address 200.200.200.200
Router(config-crypto-map)# set security-association always-up
!                          SAを常時確立しておくようにします
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-map)# sa-up route interface pppoe 1 local-prot1 *3
!                          SAの確立を契機としてセンタ側LAN(any)へのルート情報を
!                          nexthopをpppoe1として登録します
Router(config-crypto-map)# exit
!
Router(config)# crypto map VPN2 2
Router(config-crypto-map)# match address 10 multi-path balance 1 *2
!                          VPN2側の比率を1として負荷分散します
Router(config-crypto-map)# set peer address 100.100.100.100
Router(config-crypto-map)# set security-association always-up
Router(config-crypto-map)# sa-up route interface pppoe 1 local-prot2 *3
!                        VPN1とVPN2で全く同じルート情報が登録されることになるので、
!                        この2つをlocal-protオプションを付けて区別できるようにします。
Router(config-crypto-map)# set transform-set P2-POLICY
Router(config-crypto-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 : pppoe 1 ではなく、ewan 1 でアドレスをマニュアル設定している場合は、次のように設定します。
keepalive-icmp multi-path address <NEXTHOP のアドレス>
*2 : F100ではV01.10以降、F1000ではV01.03以降のファームウェアから、どちらかの比率を0に設定できるようになりました。
負荷分散の比率は送信方向のパケットに対してのみ機能します。
*3 : pppoe 1 ではなく、ewan 1 でアドレスをマニュアル設定している場合は、次のように設定します。
sa-up route address <NEXTHOP のアドレス> local-prot1
sa-up route address <NEXTHOP のアドレス> local-prot2
*4 : FITELnet F200/F2000では、コマンド書式が変更になっており、下記の様なコマンドとなります。

   Router(config)# ip dhcp pool lan 1
コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
センタ側 FITELnet-F1000-1 の設定
!
!
! 特権ユーザモードに移行します。
!
Router> enable
Enter password: super ←パスワードを入力します。(実際は表示されない)

Router#
!
!
! 基本設定モードに移行します。
!
Router# configure terminal
Router(config)#
!
Router(config)# hostname F1000-1
F1000-1(config)#
!
!
! LAN側IPアドレスを設定します。
!
F1000-1(config)# interface lan 1
F1000-1(config-if lan 1)# ip address 192.168.3.1 255.255.255.0
F1000-1(config-if lan 1)# exit
!
!
! PPPoE1 の各種設定をします。
!
F1000-1(config)# interface pppoe 1
F1000-1(config-if pppoe 1)# crypto map map1
F1000-1(config-if pppoe 1)# pppoe server test
F1000-1(config-if pppoe 1)# pppoe account zyx@furukawa.co.jp zyx
F1000-1(config-if pppoe 1)# pppoe type host
F1000-1(config-if pppoe 1)# ip address 200.200.200.200
F1000-1(config-if pppoe 1)# exit
!
!
! ルートの設定をします。
!
F1000-1(config)# ip route 0.0.0.0 0.0.0.0 192.168.3.254
!
!
! RIPの設定をします。
!
F1000-1(config)# router rip
F1000-1(config-rip)# network lan 1
F1000-1(config-rip)# exit
!
!
! IPsec負荷分散の設定をします。
!
F1000-1(config)# vpn enable
F1000-1(config)# vpnlog enable
!
F1000-1(config)# crypto isakmp policy 1
F1000-1(config-isakmp)# authentication prekey
F1000-1(config-isakmp)# encryption aes 128
F1000-1(config-isakmp)# group 2
F1000-1(config-isakmp)# hash sha
F1000-1(config-isakmp)# keepalive icmp always-send
F1000-1(config-isakmp)# keepalive-icmp peer-address 172.16.0.1
F1000-1(config-isakmp)# keepalive-icmp source-interface lan 1
F1000-1(config-isakmp)# keepalive-icmp multi-path interface pppoe 1
F1000-1(config-isakmp)# key ascii furukawa
F1000-1(config-isakmp)# negotiation-mode aggressive
F1000-1(config-isakmp)# peer-identity host kyoten1-1
F1000-1(config-isakmp)# tunnel-route interface pppoe 1
!                       対向のVPNピアへのルートを、nexthopをPPPoE1として登録します
F1000-1(config-isakmp)# exit
!
F1000-1(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac
!
F1000-1(config)# ipsec access-list 10 ipsec ip any 172.16.0.0 0.0.255.255
F1000-1(config)# ipsec access-list 64 bypass ip any any
!
F1000-1(config)# crypto map map1 1
F1000-1(config-crypto-map)# match address 10
F1000-1(config-crypto-map)# set peer host kyoten1-1
F1000-1(config-crypto-map)# set transform-set P2-POLICY
F1000-1(config-crypto-map)# sa-up route interface pppoe 1
!                           local-protオプションがない場合、redistributeで指定しなくても、
!                           このルート情報をRIPで広告します。
!                           local-protオプションがある場合、RIPで広告するには、
!                           明示的にredistributeで指定する必要があります。
F1000-1(config-crypto-map)# exit
!
!
! 特権ユーザモードに戻ります。
!
F1000-1(config)# end
F1000-1#
!
!
! 設定を保存します。
!
F1000-1# save SIDE-A.cfg
% saving working-config
% finished saving

F1000-1#
!
!
! 設定を有効にするために再起動します。
!
F1000-1# reset
Are you OK to cold start?(y/n) y
コマンド設定の例
(!の行はコメントです。実際に入力する必要はありません。)
この設定を利用したい方は
センタ側 FITELnet-F1000-2 の設定
!
!
! 特権ユーザモードに移行します。
!
Router> enable
Enter password: super ←パスワードを入力します。(実際は表示されない)

Router#
!
!
! 基本設定モードに移行します。
!
Router# configure terminal
Router(config)#
!
Router(config)# hostname F1000-2
F1000-2(config)#
!
!
! LAN側IPアドレスを設定します。
!
F1000-2(config)# interface lan 1
F1000-2(config-if lan 1)# ip address 192.168.3.20 255.255.255.0
F1000-2(config-if lan 1)# exit
!
!
! PPPoE1 の各種設定をします。
!
F1000-2(config)# interface pppoe 1
F1000-2(config-if pppoe 1)# crypto map map1
F1000-2(config-if pppoe 1)# ip address 100.100.100.100
F1000-2(config-if pppoe 1)# pppoe server test
F1000-2(config-if pppoe 1)# pppoe account xyz@furukawa.co.jp xyz
F1000-2(config-if pppoe 1)# pppoe type host
F1000-2(config-if pppoe 1)# exit
!
!
! ルートの設定をします。
!
F1000-2(config)# ip route 0.0.0.0 0.0.0.0 192.168.3.254
!
!
! RIPの設定をします。
!
F1000-2(config)# access-list 10 permit 172.16.0.0 0.0.255.255
F1000-2(config)# router rip
F1000-2(config-rip)# network lan 1
F1000-2(config-rip)# offset-list 10 out 5 lan 1
!                    sa-upルートで登録した情報をRIPで広告する際に、metric値を+5して出すようにします。
F1000-2(config-rip)# exit
!
!
! IPsec負荷分散の設定をします。
!
F1000-2(config)# vpn enable
F1000-2(config)# vpnlog enable
!
F1000-2(config)# crypto isakmp policy 1
F1000-2(config-isakmp)# authentication prekey
F1000-2(config-isakmp)# encryption aes 128
F1000-2(config-isakmp)# group 2
F1000-2(config-isakmp)# hash sha
F1000-2(config-isakmp)# keepalive icmp always-send
F1000-2(config-isakmp)# keepalive-icmp peer-address 172.16.0.1
F1000-2(config-isakmp)# keepalive-icmp source-interface lan 1
F1000-2(config-isakmp)# keepalive-icmp multi-path interface pppoe 1
F1000-2(config-isakmp)# key ascii furukawa
F1000-2(config-isakmp)# negotiation-mode aggressive
F1000-2(config-isakmp)# peer-identity host kyoten1-2
F1000-2(config-isakmp)# tunnel-route interface pppoe 1
F1000-2(config-isakmp)# exit
!
F1000-2(config)# ipsec transform-set P2-POLICY esp-aes-128 esp-sha-hmac
!
F1000-2(config)# ipsec access-list 10 ipsec ip any 172.16.0.0 0.0.255.255
F1000-2(config)# ipsec access-list 64 bypass ip any any
!
F1000-2(config)# crypto map map1 1
F1000-2(config-crypto-map)# match address 10
F1000-2(config-crypto-map)# set peer host kyoten1-2
F1000-2(config-crypto-map)# set transform-set P2-POLICY
F1000-2(config-crypto-map)# sa-up route interface pppoe 1
F1000-2(config-crypto-map)# exit
!
!
! 特権ユーザモードに戻ります。
!
F1000-2(config)# end
F1000-2#
!
!
! 設定を保存します。
!
F1000-2# save SIDE-A.cfg
% saving working-config
% finished saving

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

ページトップへ

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