我が家では、複数のサーバーPCが動作していて、複数プロバイダと契約し、NTTとはマルチセッション契約しつつ、それぞれInternetへ接続しています。その為、何台かのルーターは1台で複数のプロバイダへ接続しているものもあります。
YAMAHA製のRTX1200もその中の一つ。
端末に割り当てられたIPアドレスを見て2つのプロバイダに振り分けている例。ネットワーク192.168.0.101.0/24傘下の端末は、filter1を通過してpp1で設定されたプロバイダへ、ネットワーク192.168.102.0/24傘下の端末は、filter2を通過してpp2のプロバイダへ接続しに行きます。YAMAHA製ルーターではフィルタ型ルーティングと呼ばれ、極々一般的に用いられる設定。
//フィルタを使ったgatewayの振り分け
ip route default gateway pp 1 filter 1 gateway pp 2 filter 2 ip lan1 address 192.168.101.1/24 ip lan1 secondary address 192.168.102.1/24 ip filter 1 pass 192.168.101.0/24 * * * * ip filter 2 pass 192.168.102.0/24 * * * *
最近のYAMAHAのルーターには、色々な便利機能が備わっていて、例えば【HTTPリビジョンアップ機能】であったり、【メール通知機能】。これらはルーター本来のパケット処理とは別に備わってる機能です。
で、ここではまりました!
複数プロバイダ接続を設定すると先の2つの機能が使えなくなります・・・。ログを見る限り、どこかで破棄されてるらしい、、
と、ここで先の例を見てみましょう。
ネットワーク192.168.101.0/24と192.168.102.0/24傘下の端末は、filter1もしくはfilter2を通過するので、pp1かpp2の何れかからパケットが抜けていきます。
なら、ルーター自身のパケットはどこから??
YAMAHAさんのサポート曰く「どのアドレスを使って発信するかはわからない」とのこと・・・
プロバイダから割り当てられたWAN側のアドレスの時もあるし、内側のアドレスの時もあるとか(笑)。と言うことで、先の例の1行目を↓のように変えてあげましょう。
ip route default gateway pp 1 filter 1 gateway pp 2 filter 2 gateway pp 2 ip lan1 address 192.168.101.1/24 ip lan1 secondary address 192.168.102.1/24 ip filter 1 pass 192.168.101.0/24 * * * * ip filter 2 pass 192.168.102.0/24 * * * *
ルーター自身がインターネットへ投げるパケットはfilter1もしくはfilter2に引っ掛からない場合があるので、filter1、filter2以外の【その他のパケット】のルーティングとして赤文字のパラメータを付加する必要がありました。
ただ、こんなややこしいことするのであれば、はじめから
ip route default gateway pp 1 filter 1 gateway pp 2 ip lan1 address 192.168.101.1/24 ip lan1 secondary address 192.168.102.1/24 ip filter 1 pass 192.168.101.0/24 * * * *
と書けばいいじゃん・・・・
最初からYAMAHAさんから提供されている技術資料をじっくり見ていれば、、orz