Chapter 4. Rules - ルーティングポリシーデータベース

Table of Contents
4.1. 簡単なソースポリシールーティング
4.2. 複数のアップリンク/プロバイダに対するルーティング
4.2.1. アクセス分割
4.2.2. 負荷分散

大規模なルータを管理していると、利用者それぞれに応じて、 違ったやり方でサービスを提供しなければならないことがよくあります。 ルーティングポリシーデータベースで複数のルーティングテーブルセットを 用いると、これが可能となります。

この機能を利用したい場合は、カーネルのコンパイルの際に "IP: advanced router" と "IP: policy routing" の各機能を 有効にする必要があります。

カーネルはルーティングの判断をする際に、 どのテーブルにあたるべきかをまず決定します。 デフォルトでは 3 つのテーブルがあります。 古い 'route' ツールは、main テーブルと local テーブルを変更します。 デフォルトでは ip ツールも同様です。

デフォルトのルールは:

[ahu@home ahu]$ ip rule list
0:	from all lookup local 
32766:	from all lookup main 
32767:	from all lookup default

これはすべてのルールの優先度の一覧です。 すべてのルールがすべてのパケット ('from all') に適用されることがわかります。 以前にも 'main' テーブルは見ています (ip route ls で出力されたものです)。 しかし 'local' テーブルと 'default' テーブルは今回が初めてです。

凝ったことをするには、別のテーブルを指すルールを生成します。 これによってシステムワイドのルーティング規則を上書きできるのです。

複数のマッチルールがあるときにカーネルがどのように動作するかに関する 正確な仕組みについては、Alexey の ip-cref 文書を見てください。