オリジナルのDHCP仕様(RFC 2131および2132)は、DHCPサービスの管理者が必要に応じてクライアントに静的ルートを発行できるようにするオプション(33)を定義しています。
残念ながら、この元の設計は、ほとんど使用されないクラスフルネットワークアドレスを想定しているため、最近欠陥が生じています。
このrfc3442-classless-static-routes
オプションでは、代わりにクラスレスネットワークアドレス(またはCIDR)を使用できます。
CIDRではサブネットマスクを明示的に指定する必要がありますが、元のDHCPオプション33にはこのためのスペースがありません。したがって、このオプション(RFC 3442で定義)は、CIDR表記を使用して静的ルートを定義する新しい置換DHCPオプション(オプション121)を有効にするだけです。
基本的に、DHCP を使用してデバイスに静的ルートを発行する必要があり、これらの静的ルートがCIDRを使用する場合は、このオプションを有効にする必要があります。
静的ルートは、ネットワークを複数の小さなネットワークに分割し、利用可能な多くの動的ルーティングプロトコルのいずれかを使用せずにトラフィックが相互にどのように流れるかを各ルーターに通知する必要がある場合に使用できます。基本的には、「ネットワークabcdにアクセスし、fghiを介してトラフィックを送信する」というステートメントを使用して各ルーターを設定します。
ルーターで設定したルートがクラスフルである場合、このオプションを有効にする必要はありません。ただし、ルートがCIDRの場合は、このオプションを有効にする必要があります。幸い、多くのホーム/カフェネットワークは、192.168.0.0
サブネット255.255.255.0
(または/24
)のネットワークを使用しています。これは、真のClass-Cネットワークであるため、このオプションを回避できます。
一方、一部のホーム/カフェネットワークはネットワーク上で実行され10.0.0.0
ます。これはデフォルトでClass-Aネットワークです。10.0.x.0
たとえば、これを多くのサブネットに分割する場合、これらはすべてCIDRネットワークになるため、このオプションを有効にする必要があります。
上記は、このルーティング情報をDHCP経由でホストに発行する必要がある場合にのみ当てはまります。これらの静的ルーティング情報をホストに発行する必要があるかどうかは、ネットワークの設計によって決まります。静的ルートは通常ルーターで定義されているため、基本的なホーム/カフェネットワークには必要ないという推測を危険にさらします。
上記の構成dhclient
では、8つの符号なし整数の配列で構成されるオプション121として、新しいオプション(既に理解されている多くの事前定義オプションがあります)を定義しています。次に、DHCPサーバーで設定されている場合、このオプションを要求するようにクライアントを構成します。
DHCPサーバーがこのオプションの値を返す場合、dhclient
出口フックスクリプト(/etc/dhclient/dhclient-exit-hooks.d/rfc3442-classless-routes
)が値を読み取り、それに応じてルーティングテーブルを構成します。