Cisco Network Registrar ユーザー ガイド 7.0
ポリシーとオプションの設定
ポリシーとオプションの設定
発行日;2012/01/16 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 9MB) | フィードバック

目次

ポリシーとオプションの設定

DHCP ポリシーの設定

ポリシーのタイプ

ポリシー階層

DHCP ポリシーの作成および適用

ポリシーのクローン作成

ポリシーに対する DHCP オプションとアトリビュートの設定

オプション値の追加

サブオプションへの複雑な値の追加

組み込みポリシーの作成と編集

DHCP オプション定義セットおよびオプション定義の作成

標準オプション定義セットの使用

カスタム オプション定義の作成

ベンダー固有のオプション定義の作成

オプション定義データ タイプおよび繰り返し回数

サブオプション定義の追加

オプション定義セットのインポートとエクスポート

ローカル クラスタへのオプション定義セットの適用

複製データからのオプション定義セットの取得

ポリシーに対するオプション値の設定

ポリシーとオプションの設定

この章では、DHCP のポリシーとオプションの設定方法について説明します。クライアントがアドレスの割り当てに DHCP を使用できるようにするには、少なくとも 1 つの DHCPv4 スコープ(ダイナミック アドレス プール)または DHCPv6 プレフィックスをサーバに追加する必要があります。ポリシー アトリビュートとオプションは、スコープまたはプレフィックスに割り当てられます。

DHCP ポリシーの設定

DHCPv4 の各スコープまたは DHCPv6 の各プレフィックスは、定義された 1 つまたは複数のポリシーを持つ必要があります。ポリシーは、リースの期限やゲートウェイ ルータなどの設定パラメータを DHCP オプションで定義します。1 つのポリシーを一度定義するだけでよいので、ポリシーは複数のスコープまたはプレフィックスがある場合に特に便利です。

この項では、固有のアトリビュートとオプション定義によって名前の付いたポリシーを定義する方法、システム デフォルトまたは組み込みのポリシーを使用する方法について説明します。

ポリシーのタイプ

ポリシーには、システム デフォルト、名前付き、組み込みという 3 つのタイプがあります。

システム デフォルト system_default_policy ):すべてのスコープまたはプレフィックスに対して特定のオプションでデフォルト値を設定する場所を 1 つ提供します。DHCP サーバがサポートするすべてのネットワーク上のすべてのクライアントに対して共通の値を持つアトリビュートおよび標準の DHCP オプションを定義するには、システム デフォルト ポリシーを使用します。システム デフォルト オプションとその値は変更できます。システム デフォルト ポリシーを削除すると、システム デフォルト ポリシーは、DHCP オプションのオリジナルのリストとそのシステム定義値を使用して再表示されます( 表21-1 を参照)。

 

表21-1 システム デフォルト ポリシー オプションの値

システム デフォルト オプション
定義済みの値

all-subnets-local

False

arp-cache-timeout

60 秒

broadcast-address

255.255.255.255

default-ip-ttl

64

default-tcp-ttl

64

dhcp-lease-time

604800 秒(7d)

ieee802.3-encapsulation

False

interface-mtu

576 バイト

mask-supplier

False

max-dgram-reassembly

576 バイト

non-local-source-routing

False

path-mtu-aging-timeout

6000 秒

path-mtu-plateau-tables

68、296、508、1006、1492、2002、4352、8166、17914、32000

perform-mask-discovery

False

router-discovery

True

router-solicitation-address

224.0.0.2

tcp-keepalive-garbage

False

tcp-keepalive-interval

0 秒

trailer-encapsulation

False

名前付き :名前によって明示的に定義するポリシー。名前付きポリシーには、一般に関連するスコープ、プレフィックス、またはクライアントのグループ化に関係した名前が付けられます。たとえば、名前付きポリシーに、サブネットに対して一意であるアトリビュートおよびオプション(サブネットのルータ用など)を割り当ててから、その名前付きポリシーを適切なスコープまたはプレフィックスに割り当てることができます。

DHCP サーバのインストール時に、Network Registrar は default という名前のポリシーを組み込みます。サーバは、新しく作成されたスコープおよびプレフィックスにこのポリシーを割り当てます。このデフォルト ポリシーは削除できません。

組み込み :名前の付いたスコープ、スコープ テンプレート、プレフィックス、プレフィックス テンプレート、クライアント、またはクライアントクラスに組み込まれた(およびそれに制限された)ポリシー。組み込みポリシーは、対応するオブジェクトを追加(または削除)するときに暗黙的に作成(または削除)されます。組み込みポリシー オプションは、デフォルト値を持たず、最初は定義されていません。


ヒント 組み込みのポリシーを作成または修正する場合は、必ずオブジェクト(スコープ、プレフィックス、クライアント、またはクライアントクラス)を保存してください。保存しないと、Web UI の使用時に一般的なエラーが発生します。組み込みのポリシーと親オブジェクトの両方に対して、Modify をクリックしてください。

ポリシー階層

さまざまなレベルで設定されたアトリビュートおよびオプション値の競合をなくすために、Network Registrar DHCP サーバは、ローカル プライオリティ方式を使用します。この方式では、よりローカルに定義されたアトリビュートとオプションの値が最初に採用され、よりグローバル レベルで定義されたアトリビュートとオプションの値は無視されます。アトリビュートとオプションの値が定義されていない場合は、デフォルトの値が使用されます。DHCP サーバは、DHCPv4 クライアントに対する処理を決定するときに、アトリビュートとオプションに次の順で優先順位を設定します。

1. クライアントの組み込みポリシー

2. クライアントの名前付きポリシー

3. クライアントクラスの組み込みポリシー

4. クライアントクラスの名前付きポリシー

5. クライアントに対するスコープの組み込みポリシー、またはサブネットに対するアドレス ブロックの組み込みポリシー

6. クライアントに対するスコープの名前付きポリシー(名前付きポリシーがスコープに適用されていない場合はデフォルト ポリシー)、またはサブネットに対するアドレス ブロックの名前付きポリシー

7. system_default_policy 内の、実現されていない残りのすべてのアトリビュートとオプションアトリビュートに対しては、最もローカルなポリシーのデフォルト値が適用されます。


) DHCPv6 のポリシーの優先順位については、「DHCPv6 のポリシー階層」を参照してください。


DHCP ポリシーの作成および適用

ここでは、DHCP サーバ レベルでポリシーを作成して、固有のスコープまたはプレフィックスがそれを参照できるようにする方法について説明します。ポリシーの構成要素は次のとおりです。

名前 :大文字と小文字が区別されず、一意にする必要があります。

permanent-leases アトリビュート :永久リースは期限満了になりません。

リース時間 :DHCP サーバでリースを更新する前に、クライアントが割り当てられたリースを使用できる期間です(リース時間アトリビュートは、組み込みポリシーには使用できません。オプション専用です)。システム デフォルト ポリシーとデフォルト ポリシーの両方で、デフォルトのリース時間は 7 日(604800 秒)です。ポリシーには、クライアント リース時間とサーバ リース時間という 2 つのリース時間が含まれます。

クライアント リース時間 :これによって、クライアントがクライアント自身のリースが有効であると認識する期間が決まります(クライアント リース時間の設定には、ポリシー アトリビュートではなく DHCP オプションを使用します)。

サーバ リース時間 :これによって、サーバがクライアントのリースが有効であると見なす期間が決まります。サーバ リース時間はリースの猶予期間と無関係であることに注意してください。サーバは、リース時間と猶予期間が満了するまで、別のクライアントにリースを割り振りません。


注意 Network Registrar は、特殊な状況に備えて 2 つのリース時間の使用をサポートしていますが、シスコシステムズは、通常、server-lease-time アトリビュートの使用はお勧めしません。

クライアントの DNS 名に関する情報を保持するが、クライアントのリースが頻繁に更新される場合は、これら 2 つの異なるリース時間を設定できます。1 つのリース時間を使用する場合、その時間が満了になると、サーバはそのクライアントの DNS 名を保持しません。ただし、クライアント リース時間がサーバ リース時間よりも短い場合は、クライアントのリースの期限が切れた後でも、クライアント情報がサーバに保持されます(リースの詳細については、 第22章「リースの管理」 を参照してください)。

リース猶予期間 :リースの期限が切れた後、再割り当てを実行できない期間です(組み込みポリシーには使用できません)。

DNS アップデート設定 :DNS アップデート設定には、実行する DNS アップデートのタイプ、関連するゾーン、更新対象の DNS サーバ、および関連するセキュリティを指定します。このポリシーでは、順引きおよび逆引き DNS アップデート設定オブジェクトを決定します。また、DNS サーバが複数のゾーンのホストとして機能する場合に使用する順ゾーンを指定することもできます(DNS アップデート設定の詳細については、「DNS アップデート設定の作成」を参照してください)。

DHCP オプション :オプション値を追加する場合は、「ポリシーに対する DHCP オプションとアトリビュートの設定」を参照してください。サポートされているオプション タイプについては、 付録B「DHCP オプション」 を参照してください。

ローカル Basic または Advanced およびリージョナル Web UI


ステップ 1 DHCP をクリックしてから Policies をクリックし、List DHCP Policies ページを開きます(ローカル Advanced モードでの DHCPv4 の例については、図21-1を参照してください)(Basic モードでは、DHCPv6 は使用できません)。

図21-1 List DHCP Policies ページ(ローカル Advanced)

 

ステップ 2 デフォルト ポリシーおよび system_default_policy はすでに表示されています。名前付きポリシーを追加するには、 Add Policy をクリックして Add DHCP Policy ページを開きます(このページの一部を図21-2に示します)。

図21-2 Add DHCP Policy ページ(ローカル Advanced)

 

ステップ 3 ポリシーに一意の名前を付けます(必須)。

ステップ 4 提示タイムアウトと猶予期間の値を設定するか、空白のままにします。

ステップ 5 必要な DHCP オプションを追加します(「ポリシーに対する DHCP オプションとアトリビュートの設定」を参照してください)。

Lease time dhcp-lease-time (51) オプションを設定します。

Subnet mask subnet-mask (1) オプションを設定するだけでなく、DHCP サーバの get-subnet-mask-from-policy アトリビュートもイネーブルにします。ポリシーからサブネット マスクを削除するには、このアトリビュートを設定解除するか、ディセーブルにします。

ベンダー固有のオプションを設定する場合は、「標準オプション定義セットの使用」を参照してください。

ステップ 6 次のようなポリシー アトリビュートを設定します。

Unavailable timeout「使用不可のリースに対するタイムアウトの設定」を参照してください。

Inhibit all renews「リース更新の禁止」を参照してください。

Limitation count「式の使用方法」を参照してください。

Use client IDs for reservations「クライアント ID の上書き」を参照してください。

Permanent leases (推奨されていません)。

DNS update settings :DNS アップデートに含める順ゾーンまたは逆ゾーンを決定する DNS アップデート設定を設定するには、次のアトリビュートを設定します。

forward-dnsupdate :順ゾーンのアップデート設定の名前。これにより、順ゾーンおよび逆ゾーンに異なるアップデート設定を設定できます。

forward-zone-name :必要に応じて、アップデート設定の順ゾーンを上書きします。DNS サーバが複数のゾーンのホストとして機能している場合は、このアトリビュートを使用してください。

reverse-dnsupdate :逆ゾーンのアップデート設定の名前。クライアント要求に該当するポリシー階層にいずれのポリシーも設定されていない場合(「ポリシー階層」を参照)、DHCP サーバでは forward-dnsupdate 設定が使用されます。

ステップ 7 Add Policy をクリックします。

ステップ 8 DHCP サーバをリロードします。

ステップ 9 リージョナル Web UI では、複製ポリシーを取得したり、ローカル クラスタにポリシーを適用することもできます(リージョナル ポリシーの管理については、「DHCP ポリシーの管理」を参照してください)。


 

CLI コマンド

policy name create を使用してポリシーを作成します。次に、 policy name set offer-timeout= value および policy name set grace-period= value を使用して、この 2 つの値を設定します。

ポリシー オプションを設定するには、 policy name setOption を使用します。

リース時間 policy name setLeaseTime を使用します。

サブネット マスク policy name setOption subnet-mask value および dhcp enable get-subnet-mask-from-policy を組み合せて使用します。

オプション設定を確認するには、 policy name listOptions または policy name getOption を使用します。

永久リースをイネーブルにするには(推奨されません)、 policy name enable permanent-leases を使用します。永久リースをイネーブルにすると、 dhcp-lease-time オプション(51)は強制的に無期限に設定されるので注意してください。

ポリシーのクローン作成

CLI では、 policy clone-name create clone= policy を使用して既存のポリシーのクローンを作成し、そのクローンを調整することができます。次に例を示します。

nrcmd> policy cloned-policy create clone=example-policy-1 offer-timeout=4m
 

ポリシーに対する DHCP オプションとアトリビュートの設定

DHCP オプションにより、ドメイン、ネームサーバ、サブネット ルータのアドレスなどの設定パラメータが自動的に DHCP クライアントに提供されます(「DHCP オプション定義セットおよびオプション定義の作成」を参照)。Network Registrar のユーザ インターフェイスでは、クライアントに返されるパケットに実際には影響しないオプション値を、ポリシーに対して設定できます( hostname dhcp-server-identifier など)。

サーバはこれらの BOOTP および DHCP アトリビュート値を探してポリシーを順に調べ、最初に見つかった値を応答パケットで返します。

siaddr パケット フィールドで返される packet-siaddr

file フィールドで返される packet-file-name

sname フィールドで返される packet-server-name

オプション値の追加

DHCP オプション値に対して表示、設定、設定の解除、編集を実行できます。オプション値を設定すると、DHCP サーバは指定されたオプション名に対して必要な場合に、既存の値をすべて置き換えるか、または新しい値を作成します。Network Registrar の DHCP オプションはカテゴリにグループ化され、さまざまな使用状況において設定が必要なオプションを示すのに使用されます(カテゴリについては、表B-10を参照してください)。カスタム オプション定義を作成して、カスタム オプション値の入力を簡素化することができます(「カスタム オプション定義の作成」を参照)。

ローカル Basic または Advanced およびリージョナル Web UI


ステップ 1 「DHCP ポリシーの作成および適用」の説明に従って、ポリシーを作成します。

ステップ 2 Add DHCP Policy ページまたは Edit DHCP Policy ページでドロップダウンリストの番号と名前をクリックして、各 DHCP オプションをポリシーに追加します。選択項目に、オプション値のデータ タイプが表示されます(「オプション定義データ タイプおよび繰り返し回数」を参照)。


ヒント Name、Number、または(DHCPv4 の場合)Legacy (grouping) 順に、選択項目を ソートすることができます。

ステップ 3 適切なオプション値を Value フィールドに追加します。Web UI は、入力値に基づいてエラー チェックを行いません。たとえば、ポリシーにリース時間を追加するには、Number ドロップダウンリストで [51] dhcp-lease-time (unsigned time) オプションをクリックしてから、Value フィールドにリース時間の値を追加します(オプションにはプリセット値はありません)。


ヒント 別のユーザがオプション定義を編集している間に、ポリシーにオプションを設定する場合は、セッションからログアウトし、再度ログインして新しいオプション定義を取得します。

ステップ 4 オプションごとに Add Option をクリックします。値を入力しないと、オプションを追加できません。

ステップ 5 Add Policy をクリックします。


ヒント 新しいオプション値を追加するか、既存のオプション値を編集した場合は、Modify Policy をクリックしてポリシー オブジェクトを保存する必要があります。


 

CLI コマンド

オプション値を表示するには、 policy name getOption および policy name listOptions を使用します。オプション値を設定するには、 policy name setOption option を使用します。オプション値を設定すると、DHCP サーバは指定されたオプション名に対して必要な場合に、既存の値をすべて置き換えるか、または新しい値を作成します。オプション値を設定解除するには、 policy name unsetOption を使用します。

サブオプションへの複雑な値の追加

サブオプションなどに、複雑なオプション値を追加する場合は、カッコ付きの文字列形式を使用します。この形式では、次の規則に従う必要があります。

各オプション レベル(オプション、サブオプション、サブサブオプション)をカッコで囲みます。

複数の値はカンマで区切ります。

パック データのデータ フィールド(サブオプション コードまたは長さが欠落しているもの)を、セミコロンで区切ります。

たとえば、 cablelabs-client-configuration オプション(122)には、通常、10 個のサブオプションと数個のサブサブオプションがあります。次の例では、サブオプション 1、2、3、および 4 の各データ値を設定するシンタックスを示しています。サブオプション 3 には 2 つのサブサブオプションを含め、サブオプション 4(パック データであるが、コード番号を持たない)には 3 つのサブサブオプションを含めます。

(primary-dhcp-server 1 10.1.1.10)
(secondary-dhcp-server 2 10.2.2.10)
(provisioning-server 3 (flag 59; provisioning-server 10:10:10:10))
(as-backoff-retry 4 (as-backoff-retry-initial-time-ms 10;
as-backoff-retry-max-time 10s; as-backoff-retry-count 100))
 

primary-dhcp-server などのサブオプション名はオプションです。そのため、多くの場合、タイプミスおよび解析の失敗を最小限に抑えるため、コード番号およびデータ値(またはパック データのデータ値)のみを使用する方が安全です。前述の例からサブオプション名を削除した短縮(推奨)形式は、次のとおりです。

(1 10.1.1.10) (2 10.2.2.10) (3 (59;10:10:10:10)) (4 (10;10s;100))
 

数値コード値を使用する場合でも、Network Registrar は、サブオプションを表示する際に常にそのサブオプションに相当する名前を含めます(「DHCP オプション定義セットおよびオプション定義の作成」を参照)。

ポリシー オプション値を入力する場合など、企業 ID(オプション 125 用など)を含むサブオプションを含めるには、次のような形式を使用します。

(enterprise-id 1((1 10.1.1.1) (2 10.2.2.2) (3 www.cisco.com)))
 

企業 ID 自体、サブオプションのグループ、および各サブオプションをカッコで囲みます。

組み込みポリシーの作成と編集

組み込みポリシーは、DHCPv4 のスコープまたはスコープ テンプレート、DHCPv6 のプレフィックスまたはプレフィックス テンプレート、クライアント、はたはクライアントクラスに組み込まれます(DHCPv6 での組み込みポリシーについては、 第26章「DHCPv6 アドレスの管理」 を参照してください)。組み込みポリシーは、作成または編集できます。

ローカル Advanced Web UI およびリージョナル UI


ステップ 1 DHCP をクリックしてから、Local Web UI で DHCPv4 または DHCPv6 に対して表示される Scopes Scope Templates Clients Client-Classes Prefixes 、または Links のいずれかをクリックします(リージョナル Web UI では、 Scope Templates Client-Classes Prefixes 、および Links の中から選択します)。

ステップ 2 オブジェクトの名前をクリックして、そのオブジェクトの Edit ページを開きます。

ステップ 3 ページの Embedded Policy セクションの下で、 Create Embedded Policy または Edit Existing Embedded Policy をクリックします。そのオブジェクトの Edit DHCP Embedded Policy ページが表示されます(スコープ組み込みポリシー ページの一部については、図21-3を参照してください)。

ステップ 4 必要に応じて値を変更してから、 Modify Embedded Policy をクリックします。

ステップ 5 オブジェクトの Edit ページで、 Modify をクリックして変更を保存します。


 

図21-3 Edit DHCP Embedded Policy ページ(ローカル Advanced)

 

CLI コマンド

client-class-policy client-class-name set attribute = value などの組み込みコマンドを使用します。コマンドはオブジェクト名で始まり、その後に -policy が続きます。

DHCP オプション定義セットおよびオプション定義の作成

Network Registrar では、リース時間およびルータ アドレスなど、ポリシーに関するオプション値を設定します。RFC 2132 を始めとして、DHCP オプション値のフォーマット設定についての説明があります。オプション定義は、ポリシー内のオプション値のフォーマット設定を制御するために Web UI と CLI で使用されます。次のオプション定義を DHCPv4 と DHCPv6 のアドレス空間に別々に定義できます。

標準(組み込み)オプション :RFC で定義されます。Web UI では、これらは dhcp-config および dhcp6-config 定義セット内にあります。CLI には、追加の dhcp-default および dhcp6-default 定義セットもあります。これらは隠しセットですが、明示的に呼び出すことでアクセスできます(「標準オプション定義セットの使用」を参照)。

カスタム オプション :指定された dhcp-config または dhcp6-config 定義セットでの、新規または修正された定義。Web UI で定義を追加または修正すると、CLI の dhcp-custom または dhcp6-custom 定義セットにそれらの定義が追加されます(「カスタム オプション定義の作成」を参照)。

ベンダー固有のオプション :ベンダー独自の定義セットで定義されます。CableLabs 定義セット( dhcp-cablelabs-config および dhcp6-cablelabs-config )は、Network Registrar で事前設定されています。CLI には、 dhcp-cablelabs-default dhcp6-cablelabs-default dhcp-cablelabs-custom 、および dhcp6-cablelabs-custom の各定義セットも含まれています(「標準オプション定義セットの使用」を参照)。

標準オプション定義セットの使用

Network Registrar には、 dhcp-config dhcp6-config という 2 つの標準組み込みオプション定義セットがあります。それぞれ、DHCPv4 と DHCPv6 のオプション定義用です。これらのセット内で、新規のオプション定義を作成したり、既存のオプション定義を上書きしたりできます。新規オプション、または上書きされたオプション定義は、アスタリスク(*)で区別されます。それらの定義は削除できますが、削除の確認は表示されません。ただし、上書きした定義を削除した後でセットを保存すると、元の定義がセットに復元されます。

定義済みのすべての DHCP オプション定義のリストを、 付録B「DHCP オプション」 に示します。


注意 標準の定義を任意に修正(またはサブオプション定義を追加)すると、設定に悪影響を与えることがあります。

ローカル Advanced およびリージョナル Web UI


ステップ 1 DHCP をクリックしてから Options をクリックし、List DHCP Option Definition Sets ページを開きます(図21-4を参照)(Basic モードでは、DHCPv6 オプション定義は使用できません)。

図21-4 List DHCP Option Definition Sets ページ(ローカル Advanced)

 

ステップ 2 dhcp-config または dhcp6-config リンクをクリックして Edit DHCP Option Definition Set ページを開き、 Add/Edit Option Definitions をクリックします。List DHCP Option Definitions ページで、定義済みの定義を確認します。これらは、ユーザがポリシーに追加するオプション値のフォーマット設定を制御する定義です。サブオプション定義がある場合は、このサブオプションを展開して表示することができます。

ステップ 3 定義を追加するには、 Add Option Definition をクリックします。Add DHCP Option Definition ページで(図21-5を参照)、オプションの ID、名前、説明、タイプ、繰り返し回数(オプションの複数のインスタンスを許可するか、必須とするか)を指定します(データ タイプおよび繰り返し回数の値の詳細については、「オプション定義データ タイプおよび繰り返し回数」を参照してください)。

図21-5 Add DHCP Option Definition ページ(ローカル Advanced)

 


) すでに存在するオプション番号またはオプション名のオプションを追加することはできません。ただし、このページでハイパーリンクとして表示されるオプション定義は修正できます。


ステップ 4 Add Option Definition をクリックします。次に、List DHCP Option Definitions ページで Modify Option Definition Set をクリックします。

ステップ 5 セット内の標準定義を修正すると、List DHCP Option Definitions ページのその定義の横に Revert アイコン( )が表示されます。その標準セット内で元の定義に戻すには、このアイコンをクリックします。

ステップ 6 リージョナル Web UI では、複製定義セットを取得したり、ローカル クラスタに定義セットを適用することもできます(「複製データからのオプション定義セットの取得」および 「ローカル クラスタへのオプション定義セットの適用」を参照)。


 

CLI コマンド

標準 DHCP オプション定義の完全なリストを表示するには、 option-set dhcp-config [ show ] または option-set dhcp6-config [ show ] を使用し、特定の定義を表示するには、 option { id | name } option-set show を使用します。次に例を示します。

nrcmd> option-set dhcp-config
nrcmd> option subnet-mask dhcp-config show
 

セットに定義を追加するには、 option id option-set create name type を使用します。すでに存在するオプション ID(番号)またはオプション名の定義を追加することはできません。たとえば、オプション番号 222 を example-option という名前で dhcp-config オプション セットに文字列タイプとして追加するには、次のように使用します。

nrcmd> option 222 dhcp-config create example-option AT_STRING
 

特定のオプション アトリビュートの値を取得するには、 option ( id | name } optionset get attribute を使用します。オプションのアトリビュートを変更するには、 option ( id | name } optionset set を使用します。オプションのアトリビュートの設定を解除することもできます。

カスタム オプション定義の作成

標準セットに、カスタム オプション定義を作成することができます。List DHCP Option Definition Sets ページで dhcp-config セットまたは dhcp6-config セットをクリックします(図21-4を参照)。その後、「標準オプション定義セットの使用」ステップ 3 に進みます。

ベンダー固有のオプション定義の作成

ベンダー固有のオプション データを、そのデータを要求する DHCP クライアントに送信できます。


) 以前の Network Registrar リリースでは、CLI で vendor-option name create を使用して、ベンダー固有のオプションを設定でき、それと組み合せて option-datatype name create および option-datatype name defineField を使用することで、オプション データのタイプを設定できました。オプション 43 で定義済みのベンダー オプション コードは 1 つのみで、vendor-option コマンドはこのオプションに対して暗黙的に実行されました。Network Registrar 6.2 では、ベンダー固有のオプション用にその他の複数のオプション コードが提供されています。そのため、ベンダー固有のオプション定義を作成している対象のオプション コード番号を、明示的に指定する必要があります。


Network Registrar では、Web UI を使用するか、CLI で option id option-set-name create を使用することにより、ベンダー固有のオプション定義を作成できます(オプション データ タイプの詳細については、「オプション定義データ タイプおよび繰り返し回数」を参照してください)。

ベンダー固有のオプションは、次の DHCP オプションで送信されます。

vendor-encapsulated-options(43) :このオプションをバイナリ データ タイプに設定し、ベンダー固有のサブオプション定義を追加します(親オプション定義のデータ タイプは、単なるプレースホルダーにすぎません。有効なオプション値のフォーマット設定はサブオプション定義で定義します)。

v-i-vendor-info (125)または DHCP 用の vendor-options (17) :このオプションを vendor-opts データ タイプに設定してから、ベンダー固有のサブオプション定義を追加します。

DHCPv4 のオプション 43 と 125、および DHCPv6 のオプション 17 に対して、ベンダー固有のオプション定義を作成できます。作成するベンダー オプション定義セットに、ベンダー固有のオプション定義を追加します。


注意 オプション定義のプロパティを変更したり、オプション定義を完全に削除したりすると、ポリシーに予期しない副作用がもたらされることがあります。カスタム オプション定義を削除する場合は、オプションの値を含むポリシーも確認してください。オプション定義を変更すると、保存されるものが変更されるのではなく、それらの表示方法が変更されます。したがって、異なるフォーマットのオプション値をポリシーから返すようにする場合以外は、ポリシーの値を変更する必要はありません。いくつかのオプション タイプは非常に似ており、それらを変更すると、副作用が生じることがあります。たとえば、文字列と DNS 名は、どちらもユーザ インターフェイスでは文字列値として入力されますが、オプション値のフォーマットはまったく異なります。


) Network Registrar 7.0 では、ベンダー固有定義セットの dhcp-cablelabs-configdhcp6-cablelabs-config に、別個の CableLabs (エンタープライズ ID 4491)オプション定義が事前設定されています。


ローカル Advanced およびリージョナル Web UI


ステップ 1 DHCP をクリックしてから Options をクリックし、List DHCP Option Definition Sets ページを開きます(図21-4を参照)。既存の DHCPv4 または DHCPv6 オプションを表示します。

ステップ 2 Add Option Definition Set をクリックして、Add DHCP Option Definition Set ページを開きます(図21-6を参照)。

図21-6 Add DHCP Option Definition Set ページ(ローカル Advanced)

 

ステップ 3 オプション定義セットの名前を入力し、DHCP Type ドロップダウン リストから DHCPv4 または DHCPv6 を選択します。

次のオプションを使用してベンダー固有のオプション定義を作成する場合は、各オプションの後の注意点に留意してください。

オプション 43:Vendor Option String フィールドに値を入力します。

オプション 125(DHCPv4 用)またはオプション 17(DHCPv6 用):有効な Enterprise Option Enterprise ID 値を入力します。

ステップ 4 Add Option Definition Set をクリックします。

ステップ 5 オプション定義セットの名前をクリックします。

ステップ 6 Edit DHCP Option Definition Set ページで、 Add/Edit Option Definitions をクリックします。List DHCP Option Definitions ページが開きます。このページには、既存のすべてのオプション定義が表示されます(新規または修正された標準定義には、アスタリスクが付いています)。

ステップ 7 Add Option Definition をクリックします。Add DHCP Option Definition ページが開きます(図21-5を参照)。

ステップ 8 オプション定義の ID 番号、名前、および説明を入力します。クライアントがベンダー固有のオプション定義を認識できるよう、ID は 43、125、または 17(DHCPv6 の場合)にする必要があります。オプション名が、RFC で指定されたオプション名と一致する必要はありません。ユーザが独自に作成したオプション名を指定できます。

ステップ 9 データ タイプと繰り返し回数を選択または入力します(または隣のフィールドに繰り返し回数の絶対値を入力します)。データ タイプは、次のように指定します。

オプション 43 の場合はバイナリ(AT_BLOB)。

オプション 125(DHCPv4 用)およびオプション 17(DHCPv6 用)の場合はベンダー オプション(AT_VENDOR_OPTS)。

(データ タイプおよび繰り返し回数の値の詳細については、「オプション定義データ タイプおよび繰り返し回数」を参照してください。)

ステップ 10 Add Option Definition をクリックします。次に、List DHCP Option Definitions ページで Modify Option Definition Set をクリックします。


 

CLI コマンド

option-set dhcp-custom list (または listnames )を使用すると、ベンダー固有のオプション定義だけが一覧表示されます。DHCP オプション セットを作成するには、 option-set name create dhcp-type を使用します。 dhcp-type は、 8-bit (DHCPv4)または 16-bit (DHCPv6)のどちらかです。たとえば、オプション 43 のベンダー オプション文字列に ve-string を指定して、DHCPv4 用の myoptionset という名前のオプション定義セットを作成するには、次のように入力します。

nrcmd> option-set myoptionset create 8-bit vendor-option-string=ve-string
nrcmd> save
 

セット内のすべてのオプション定義を表示するには、 option optionset list を使用します。セット内のオプション定義のすべての値を表示するには、 option optionset [ show ] を使用します。オプション定義の個々のプロパティを表示するには、 option optionset get を使用します。オプションの設定を解除することもできます。

定義を作成するには、 option id option-set create name type を使用します。たとえば、v-s-optionset オプション セット用のオプション 43 を作成し、それにバイナリ データ タイプで vendor-opt-43 という名前を付けるには、次のように使用します。

nrcmd> option 43 v-s-optionset create vendor-opt-43
nrcmd> save
 

オプション定義データ タイプおよび繰り返し回数

使用可能なデータ タイプ値を 表21-2 に示します(これらのデータ タイプの詳細については、「オプションの検証タイプ」を参照してください)。

 

表21-2 オプション定義データ タイプ

AT_INT8
符号なし 8 ビット

AT_SHORT
符号なし 16 ビット

AT_INT
符号なし 32 ビット

AT_STRING
文字列

AT_SINT8
符号付き 8 ビット

AT_SSHORT
符号付き 16 ビット

AT_SINT
符号付き 32 ビット

AT_NSTRING
文字列(終端文字なし)

AT_SHRTI
16 ビット符号なし(Intel)

AT_INTI
32 ビット符号なし(Intel)

AT_BLOB
バイナリ

AT_SSHRTI
16 ビット符号付き(Intel)

AT_SINTI
16 ビット符号付き(Intel)

AT_DNSNAME
DNS 名

AT_IPADDR
IP アドレス

AT_BOOL
ブール

AT_DATE
日付

AT_RDNSNAME
相対 DNS 名

AT_IP6ADDR
IPv6 アドレス

AT_MACADDR
MAC アドレス

AT_TIME
符号なし時刻

AT_VENDOR-CLASS
ベンダークラス

AT_VENDOR-OPTS
ベンダーオプション

AT_TYPECNT
回数タイプ

AT_STIME
符号付き時刻

AT_VENDOR_NOLEN
ベンダー nolen

AT_ZEROSIZE
ゼロ サイズ

CLI では、 option listtypes を使用してこれらのタイプを表示できます。

繰り返し回数を設定するには、 repeat-count アトリビュートに次のいずれかを設定するか、絶対数を入力します。

ZERO_OR_MORE :Web UI では 0+

ONE_OR_MORE :Web UI では 1+

EVEN_NUMBER :Web UI では 2n

CLI では、次の例のように使用します。

nrcmd> option 200 ex-opt-def-set set repeat-count=ZERO_OR_MORE
nrcmd> save
 

サブオプション定義の追加

Edit DHCP Option Definition ページで Add Suboption Definition をクリックすると、オプション定義のサブオプション定義を設定できます。これをクリックすると Add DHCP Option Definition ページが開き(図21-5を参照)、オプション定義の場合と同じ値を追加できます。作成するサブオプション定義は、親オプション(または親サブオプション)定義に関連付けられます。最大 6 レベルまでのオプションとサブオプションを定義できます。


) サブオプション定義を追加できるのは、Web UI を使用した場合だけです。現在のところ、CLI は対応していません。


サブオプション定義のフォーマットは、パック形式またはタイプ/長さ/値(TLV)形式です。

Packed :ゼロの ID 値および暗黙のデータ タイプを持つサブオプション。パケット内のデータはオプション値だけです。DHCPv6 のオプションは、事実上すべてパック データを使用して定義されています。タイプまたは長さのマーカはなく、データのレイアウトはオプション定義に固有です。パック形式のサブオプションに、さらにサブオプションを定義することはできません。

TLV :タイプ、長さ、値を含む、1 ~ 255 の値(または 65535 の値)を持つサブオプション。パケット内のデータには、値の前にタイプと長さがあります。

ほとんどの場合、同じオプションに対して、パックされたサブオプションと TLV サブオプションが混在することはありません。

AT_NOLEN データタイプを追加するほかに、ベンダー オプション定義のサブオプションのリストのどこにでも、PAD (0)オプションと END (255)オプションを入力できます(ベンダー オプション定義自体に入力する必要はありません)。次に例を示します。

(0 )(0 )(suboption-1 1 64)(255 )
 

ポリシー編集時にサブオプション値を入力する場合は、「サブオプションへの複雑な値の追加」を参照してください。

オプション定義セットのインポートとエクスポート

オプション定義セットのインポートとエクスポートは、サーバ間でオプション定義セットをコピーする方法です。CLI で import option-set file および export option-set name file を使用して、オプション セットをインポートおよびエクスポートできます。たとえば、Preboot Execution Environment (PXE) クライアントのオプション セットをインポートするには、/examples/dhcp ディレクトリにあるサンプル ファイルを修正してインポートします。

nrcmd> import option-set /examples/dhcp/OptionSetPXE.txt
 

ファイル フォーマットについては、次のようなガイドラインがあります。

ファイル内のバージョン文字列が、インポート ユーティリティのバージョンと一致している必要があります。

インポート ユーティリティは、ファイル内で最初に見つかったオプション定義セットだけをインポートします。

オブジェクトの区切りには波カッコ( { } )を使用し、アトリビュートの区切りには小カッコ
( ) )、アトリビュート内のオブジェクト リストの区切りには角カッコ( [ ] )を使用します。文字列値アトリビュートは、引用符( " " )で区切ります。

テキスト ファイルを注意して編集することで、オプション定義セットに小さい修正を加えることもできます。Network Registrar には、examples/dhcp ディレクトリに OptionSetJumpStart.txt と OptionSetPXE.txt という、2 つのオプション定義セットのサンプル テキスト ファイルがあります。

OptionSetJumpStart.txt :JumpStart クライアントが送信する dhcp-class-identifier(オプション 60)を一致させるには、vendor-option-string を編集します。

OptionSetPXE.txtPre-boot Execution Environment (PXE) クライアントが送信する dhcp-class-identifier(オプション 60)を一致させるには、vendor-option-string を編集します。

ローカル クラスタへのオプション定義セットの適用

作成するオプション定義セットは、リージョナル クラスタから任意のローカル クラスタに適用できます。特定のオプション定義セットをローカル クラスタに適用するには、List DHCP Option Definition Sets ページで Push Option Definition セットをクリックします。Push DHCP Option Definition Set to Local Clusters ページが開きます。

このページでは、適用するデータ、ローカル クラスタとの同期方法、および適用先のクラスタを指定します。データの同期モードは、次のとおりです。

Ensure(プリセット値) :ローカル クラスタに新しいデータが存在することを保証し、既存のデータには影響を与えません。

Replace :データを置換し、それ以外のローカル クラスタに固有のオブジェクトには影響を与えません。

Exact :「すべて適用」オペレーションの場合にのみ使用できます。このモードは、データを上書きし、それ以外のローカル クラスタに固有のオブジェクトをすべて削除するため、注意して使用してください。

Available フィールドで適用先のクラスタ(複数可)を選択し、Selected フィールドに移動します。


ヒント 同期モードとクラスタの選択設定は、現在のログイン セッションの期間は保持されます。したがって、これらの設定は、特に変更しない限り、このページにアクセスするたびに有効になります。


選択が完了したら、 Push Data to Clusters をクリックします。View Push DHCP Option Definition Set Data Report ページが開きます。

複製データからのオプション定義セットの取得

オプション定義セットは、明示的に作成する代わりに、ローカル クラスタの複製データから取得することもできます(最初に、クラスタ名の横の Replicate アイコン [ ] をクリックすると、オプション定義セットの複製データをアップデートできます)。Web UI でオプション定義セットを取得するには、 Pull Replica Option Definition Sets をクリックして、Select Replica DHCP Option Definition Set Data to Pull ページを開きます。

このページには、ローカル クラスタのオプション定義セットに対応するリージョナル サーバの複製データのツリー ビューが表示されます。ツリーは、ローカル クラスタ、および各クラスタ内のスコープ テンプレートという 2 つのレベルに分かれています。クラスタのオプション定義セットは、個々に取得することも、すべて取得することもできます。オプション定義セットを個々に取得するには、クラスタのツリーを展開し、その名前の横にある Pull Option Definition Set をクリックします。クラスタからすべてのオプション定義セットを取得するには、 Pull All Option Definition Sets from Cluster をクリックします。オプション定義セットを取得する場合は、次のいずれかの同期モードを選択する必要もあります。

Ensure :リージョナル クラスタに新しいデータが存在することを保証し、既存のデータには影響を与えません。

Replace (プリセット値):データを置換し、それ以外のリージョナル クラスタに固有のオブジェクトには影響を与えません。

Exact :「すべて取得」オペレーションの場合にのみ使用できます。このモードは、データを上書きし、それ以外のリージョナル クラスタに固有のオブジェクトをすべて削除するため、注意して使用してください。

ポリシーに対するオプション値の設定

オプション値は、ポリシーに入力します。サーバ設定のオプション定義を使用して、フォーマットおよび入力値を制御します。

ローカル Advanced およびリージョナル Web UI

ポリシーを編集するには、List DHCP Policies ページでポリシーをクリックします(Basic モードでは、ポリシーのオプションを設定できないことに注意してください)。Edit DHCP Policy ページで、次の操作を実行します。

標準の DHCPv4 または DHCPv6 オプション値をポリシーに入力するには、DHCPv4 Options または DHCPv6 Options のドロップダウン リストからそのオプションを選択し、値を設定します。 Add Option をクリックします。

ベンダー固有の DHCPv4 または DHCPv6 オプション値をポリシーに入力するには、DHCPv4 Vendor Options または DHCPv6 Vendor Options のドロップダウン リストでオプション定義セットを選択して、 Select をクリックします。ページが変化して、オプションを含むドロップダウン リストが表示されます。オプションを選択して、 Add Option をクリックします。

このページでは、ポリシー アトリビュートも編集できます。 Modify Policy を必ずクリックしてください。

設定済みのポリシー オプションを編集するには、Edit DHCP Policy ページで、設定済みオプションの名前をクリックして、Edit DHCP Policy Option ページを開きます。新しい値を入力してから、 Modify Option をクリックします。

CLI コマンド

次のいずれかのコマンドを使用します。

nrcmd> policy name setOption {name | id} value
nrcmd> policy name setV6Option {name | id} value
nrcmd> policy name setVendorOption {name | id} option-set-name value
nrcmd> policy name setV6VendorOption {name | id} option-set-name value
 

ポリシー内のオプションを一覧表示するには、次のいずれかのコマンドを使用します。

nrcmd> policy name listOptions
nrcmd> policy name listV6Options
nrcmd> policy name listVendorOptions
nrcmd> policy name lsitV6VendorOptions
 

サブオプション値を追加するには、「サブオプションへの複雑な値の追加」を参照してください。