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 | +-----+ +-----+
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 回線種別がデフォルトと異なるためにインタフェースをリセッ トします。装置全体の再起動でも構いません。
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 デフォルト経路をふたつのプロバイダに設定します。
文字が強調されている部分はこの機能で特に関連する個所です。
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系以降である。
ip route default gateway 192.168.0.1PP1で接続している相手のネットワークは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 hidePP1が有効な時にはPP1のみが使われる。PP1がダウンするとPP2が使われる。
ip route 192.168.0.1/24 gateway pp 1 hide gateway pp 2 weight 0