マルチホーミング

updated at $Date: 2001/09/20 09:09:23 $


概要

マルチホーミングは、同一宛先に対する複数の経路で負荷を分散させることが できる機能です。例えば複数のISPに同時に接続して通信することが可能とな り、各ISPへの回線速度に応じてパケットを振り分けることができます。また、 回線ダウン時にも別ISP経由でパケットを送出することができます。

この機能を使用するためには、NAT/IPマスカレードによるアドレス変換を行う 必要があります。一般的なISP接続では、ISPからユーザにグローバルアドレス 空間が割り当てられ、ユーザからISP経由でインターネットにパケットを送出 する時には、割り当てられたグローバルアドレス空間内のIPアドレスを始点IP アドレスとする必要があります。そのため、複数のISPを利用するためには、 利用するISPに応じて始点IPアドレスを変えなくてはなりません。これを実現 するためにルータでアドレス変換を行います。NAT/IPマスカレードを使わず割 り当てられたグローバルアドレスのままこの機能を設定した場合、対向機器側 での経路情報が問題となり、正しく動作することは保証されません。

また、これは1台のルータで実現する機能であり、複数のルータ間では使用する ことはできません。複数のルータ間で設定した場合には、単にパケットがロス するだけではなく、LAN上の他の通信に悪影響を及ぼすことが考えられます。

アプリケーションによってはマルチホーミング環境では動作しないものがあり ます。例えばFTPのパッシブモードは正しく動作しないことがあります。マル チホーミング導入の前に利用するアプリケーションを検証しておく必要があり ます。

マルチホーミングは、Rev.6.00.20以降のファームウェアで使用することがで きます。


モデル


              ISP1          ISP2
               |             |
            +-------------------+                global address space
            |        R T        | - - - - - - - - - - - - - - - - - - - -
            +-------------------+                private address space
                      |
--------+-------------+-------------+----------
        |                           |
     +-----+                     +-----+
     | PC1 |                     | PC2 |
     +-----+                     +-----+


設定例

例1.

pp1 専用線128k、NAT、グローバルアドレス 172.16.0.0/28
pp2 専用線64k、NAT、グローバルアドレス 172.16.128.0/28

# line type bri2.1 l128
# line type bri2.2 l64
	回線種別を設定します。この設定はインタフェースリセット
	あるいは装置の再起動を行った後に有効になります。

# ip lan1 address 192.168.0.1/24
	NATを使用するためにLAN側はプライベートアドレスネットワ
	ークとします。

# nat descriptor type 1 nat
# nat descriptor address outer 1 172.16.0.1-172.16.0.14
# pp select 1
pp1# pp bind bri2.1
pp1# ip pp nat descriptor 1
	プロバイダAに対して使用するNATを設定します。

pp1# leased keepalive use on
pp1# pp enable 1
pp1# pp select none
	専用線のダウンを検出するためにキープアライブを用います。

# nat descriptor type 2 nat
# nat descriptor address outer 2 172.16.128.1-172.16.128.14
# pp select 2
pp2# pp bind bri2.2
pp2# ip pp nat descriptor 2
	プロバイダBに対して使用するNATを設定します。

pp2# leased keepalive use on
pp2# pp enable 2
pp2# pp select none
	pp1同様、専用線のダウンを検出するためにキープアライブを
	用います。

# ip route default gateway pp 1 weight 2 hide gateway pp 2 weight 1 hide
	デフォルト経路をふたつのプロバイダに設定します。weight	
	を指定することで、負荷の割合を各プロバイダへのアクセス回
	線の速度に応じたものにします。回線速度が同じである場合に
	は weight 指定の必要はありません。また hide 指定でその回
	線がダウンした場合に経路を隠して他方を使うことで、パケッ
	トロスを避けることができます。

# save
# interface reset bri2.1
# interface reset bri2.2
	回線種別がデフォルトと異なるためにインタフェースをリセッ
	トします。装置全体の再起動でも構いません。

例2.

pp1 ISDN、NAT、グローバルアドレス 172.16.0.0/28
pp2 ISDN、Masquerade、端末型接続

# ip lan1 address 192.168.0.1/24
	NAT/Masqueradeを使用するためにLAN側はプライベートアドレ
	スネットワークとします。

# nat descriptor type 1 nat
# nat descriptor address outer 1 172.16.0.1-172.16.0.14
# pp select 1
pp1# pp bind bri2.1
pp1# ip pp nat descriptor 1
	プロバイダAに対して使用するNATを設定します。

pp1# isdn remote address call 0312345678
pp1# pp auth accept chap pap
pp1# pp auth myname userA passA
pp1# ppp ipcp ipaddress on
pp1# pp enable 1
pp1# pp select none
	プロバイダAに接続するための情報を設定します。
	アクセスポイントの電話番号:03-1234-5678
	ユーザ名:	userA
	パスワード:	passA

# nat descriptor type 2 masquerade
# pp select 2
pp2# pp bind bri2.2
pp2# ip pp nat descriptor 2
	プロバイダBに対して使用するMasqueradeを設定します。

pp2# isdn remote address call 0387654321
pp2# pp auth accept chap pap
pp2# pp auth myname userB passB
pp2# ppp ipcp ipaddress on
pp2# pp enable 2
pp2# pp select none
	プロバイダBに接続するための情報を設定します。
	アクセスポイントの電話番号:03-8765-4321
	ユーザ名:	userB
	パスワード:	passB

# ip route default gateway pp 1 gateway pp 2
# save
	デフォルト経路をふたつのプロバイダに設定します。

コマンド仕様

文字が強調されている部分はこの機能で特に関連する個所です。

[コマンド形式]
ip route NETWORK gateway GATEWAY [OPTIONS] [[gateway GATEWAY [OPTIONS...]]...]
no ip route NETWARK [gateway ...]
[パラメータ]
             
NETWORK
default... デフォルト経路
IP_ADDRESS/MASK... ネットワーク経路
IP_ADDRESS... ホスト経路
GATEWAY
IP_ADDRESS... ゲートウェイのIPアドレス
pp PP_NUM [dlci=DLCI_NUM] ... PPインタフェースへの経路
PP_NUM... PP番号、1〜30/100
DLCI_NUM... DLCI番号、PPインタフェースがFRの場合
pp anonymous name=NAME... 名前によるルーティング
NAME... PAP/CHAPによる名前
tunnel TUNNEL_NUM... トンネルインタフェース直接
TUNNEL_NUM... トンネル番号、機種毎の設定可能なトンネル数はここを参照
OPTIONS... 経路情報のオプション
metric METRIC... メトリックの指定
METRIC... メトリック値、1〜15、省略時は1
hide... 出力インタフェースがPPインタフェースの場合にのみ有効なオプ ションで、回線がつながっている時だけ経路が有効となることを 意味する
weight W... 異なる経路間の比率を表す値
W... 経路への重み、0〜2147483647、省略時は1
filter FNUM... フィルタ型経路の指定、 FNUMはフィルタ番号で空白で区切って 複数指定できる
[説明]

IPの静的経路を設定する。

filterが指定されているGATEWAYが記述されている場合には、記述されて いる順にフィルタを適用していき、マッチしたゲートウェイが選択される。 マッチするゲートウェイが存在しない場合や、 filterが指定されている ゲートウェイが一つも記述されていない場合には、filterが指定されてい ないゲートウェイが選択される。filterが指定されていないゲートウェイ も存在しない場合には、その経路は存在しないものとして処理が継続され る。

filterが指定されていないゲートウェイが複数記述されている場合で、 それらの経路を使うべき時にどちらを使うかは、始点/終点IPアドレス、 プロトコル、始点/終点ポート番号により識別されるストリームにより決 定される。同じストリームのパケットは必ず同じゲートウェイに送出され る。weightで値(例えば回線速度の比率)が指定されている場合には、その 値の他のゲートウェイのweight値に対する比率に比例して、その経路に送 出されるストリームの比率が上がる。

いずれの場合でも、hideが指定されているゲートウェイは回線がつながっ ている時だけ有効で、回線がつながっていない時には評価されない。

複数のゲートウェイを設定したときに、 ロードバランスをせずに特定のゲートウェイだけを優先的に使用するには、 weightオプションで0を設定する。 weightで0を指定できるのはRev.7.01系以降である。

[ノート]
既に存在する経路を上書きすることができる。
[設定例]
デフォルトゲートウェイを192.168.0.1とする。

	ip route default gateway 192.168.0.1
    
PP1で接続している相手のネットワークは192.168.1.0/24である。

	ip route 192.168.1.0/24 gateway pp 1
    
マルチホーミングによる負荷分散を行う。デフォルトゲートウェイと して2経路持ち、PP1には専用線128kで、PP2には専用線64kで接続しており、 かつ各専用線ダウン時の経路を無効としてパケットロスを防ぐ。
※NAT機能と専用線キープアライブの併用が必要となる。


	ip route default gateway pp 1 weight 2 hide gateway pp 2 weight 1 hide
    
PP1が有効な時にはPP1のみが使われる。PP1がダウンするとPP2が使われる。
	ip route 192.168.0.1/24 gateway pp 1 hide gateway pp 2 weight 0
    

関連リリースノート