ネットワークコマンドで管理が変わる!

第17回 DHCPのスコープを管理するコマンド (その2)

 

今月のコマンド

add/show/delete iprange

add/show/delete excluderange

add/show/delete reservedip

set/show state

export/import

----------------------------------------------------------


前回に引き続きDHCPサーバーのスコープ関連のnetshコマンドを紹介する。なお、今回紹介するnetshサブコマンドは、export/importコマンドを除いて、すべてWindows 2000 ServerおよびWindows Server 2003 (R2を含む) でのみ利用できる。Windows 2000 ProfessinalおよびWindows XP Professional/Home Editionでは利用できない。またexport/importコマンドはWindows Server 2003 (R2を含む) でのみ利用できる。

また利用可能なコンテキストは、export/importコマンドを除いて、すべてdhcp server scopeコンテキストのみになる。またexport/importコマンドは、dhcp server scopeコンテキストとdhcp serverコンテキストの両方で利用できる。

 

---------------------------------------------------------------------------

スコープでリースするIPアドレスの範囲を設定/確認/削除する

add/show/delete iprange

---------------------------------------------------------------------------

>リースするIPアドレス範囲を設定

 スコープを作成したら、まず第一にやることはリースするIPアドレスの範囲を設定することだろう。そして必要があれば、リースから除外するIPアドレスの範囲も設定する。さらに必要があれば、特定のマシンに対して常に特定のIPアドレスをリースするようにIPアドレスを予約することになる。

 スコープでリースするIPアドレスの範囲を設定するには「add iprange」コマンドを使う。書式は次のとおり。

 

add iprange StartIP EndIP [ClientType] [MaxBootP]

 

 パラメータのClientTypeMaxBootPは省略できるので、通常はStartIPに先頭アドレスを、EndIPに最終アドレスを指定すればよい。例えば192.168.3.1から192.168.3.254の範囲でIPアドレスを配布するならば、

add iprange 192.168.3.1 192.168.3.254

と入力する。

 

 現在リース可能なIPアドレス範囲がどうなっているかを確認するには「show iprange」コマンドを使う。書式は次のとおり。パラメータはない。

 

show iprange

 

 リース可能なIPアドレス範囲を削除する場合は「delete iprange」コマンドを使う。書式は次のとおり。

 

delete iprange StartIP EndIP

 

 StartIPには先頭アドレスを、EndIPには最終アドレスを指定する。

 

画面1● add iprangeコマンドでアドレス範囲を設定し、show iprangeコマンドで設定されたアドレス範囲を確認。さらにdelete iprangeコマンドでアドレス範囲を削除しshow iprangeコマンドで確認。

 

---------------------------------------------------------------------------

スコープでリースするIPアドレス範囲の除外を設定/確認/削除する

add/show/delete excluderange

---------------------------------------------------------------------------

リースするIPアドレス範囲の除外を設定する

 リースするIPアドレス範囲の内の一部を除外したい場合は「add excluderange」コマンドを使う。サーバーのIPアドレスを固定したい場合など、そのIPアドレスを除外してやれば、そのアドレスがリースされることがなくなる。add excluderangeコマンドの書式は次のとおり。

 

add excluderange StartIP EndIP

 

 StartIPには除外する先頭アドレスを、EndIPには除外する最終アドレスを指定する。例えば192.168.3.1から192.168.3.11の範囲をリース対象から除外するならば、

add excluderange 192.168.3.1 192.168.3.11

と入力する。

 

 現在除外が設定されているIPアドレス範囲を確認するには「show excluderange」コマンドを使う。書式は次のとおり。パラメータはない。

 

show excluderange

 

 リースから除外したIPアドレス範囲を削除する場合は「delete excluderange」コマンドを使う。書式は次のとおり。

 

delete excluderange StartIP EndIP

 

 StartIPには先頭アドレスを、EndIPには最終アドレスを指定する。

 

画面2● add excluderangeコマンドでアドレス範囲を設定し、show excluderangeコマンドで設定されたアドレス範囲を確認。さらにdelete excluderangeコマンドでアドレス範囲を削除しshow excluderangeコマンドで確認。

 

---------------------------------------------------------------------------

特定のマシンに特定のIPアドレスを予約/確認/削除する

add/show/delete reservedip

---------------------------------------------------------------------------

>特定のマシンに特定のIPアドレスを予約する

 サーバーのIPアドレスを固定したい場合など、特定のマシンに常に決まったIPアドレスを配布したい場合は、そのIPアドレスを予約することができる。予約されたIPアドレスは他のマシンに配布されることはない。IPアドレスの予約は「add reservedip」コマンドを使う。書式は次のとおり。

 

add reservedip ReservedIP MAC_Address [ClientName] [ClientComment] [ClientType]

 

 ReservedIPには予約するIPアドレスを、MAC_Addressには予約するマシンのネットワークカードのMACアドレスを指定する。例えば192.168.3.12IPアドレスを00-0C-29-9E-EF-18MACアドレスを持つネットワークカードのマシンに予約するならば、

add reservedip 192.168.3.12 000C299EEF18

と入力する。

 

 IPアドレスを固定したい場合に、このようにDHCPサーバーから配布されるIPアドレスを予約する方法以外に、最初から固定IPアドレスを使うという方法もある。どちらがよいかは一概に言えないが、DHCPを利用することで、自動構成オプションが利用できることと、DNSサーバーやWINSサーバーの設定を自動配布できることがメリットになる。

IPアドレスを固定したいクライアントの数が少なければ、それを手動で設定してもそれほど面倒ではないが、大量のクライアントのIPアドレスを固定したい場合はDHCPが有利になる。ただ、固定IPアドレスでも、グループポリシーを使ってネットワーク設定を配布する方法も有力な手段になるだろう。

 

 予約されているIPアドレスの一覧を確認するには「show reservedip」コマンドを使う。書式は次のとおり。パラメータはない。

 

show reservedip

 

 リースから除外したIPアドレス範囲を削除する場合は「delete reservedip」コマンドを使う。書式は次のとおり。

 

delete reservedip ReservedIP MAC_Address

 

 ReservedIPには予約されたIPアドレスを、MAC_Addressには予約されたマシンのネットワークカードのMACアドレスを指定する。

 

画面3● add reservedipコマンドでIPアドレスを予約し、show reservedipコマンドで予約IPアドレスを確認。さらにdelete reservedipコマンドで予約を削除しshow reservedipコマンドで確認。

 

---------------------------------------------------------------------------

スコープをアクティブ/非アクティブに設定/確認する

set/show state

---------------------------------------------------------------------------

>スコープをアクティブにする

 GUI画面でスコープを作成した場合は、デフォルトでそのスコープが無効 (非アクティブ) になっており、そのスコープを利用するためにはアクティブに設定する必要がある。スコープをアクティブにするには「set state」コマンドを使う。書式は次のとおり。

 

set state [0 | 1 | 2 | 3]

 

 スコープをアクティブにするにはパラメータに「1」を指定する。「0」を指定した場合は非アクティブになる。非アクティブにすると、スコープを一時的に無効にすることができ、クライアントは既存のリースを引き続き利用することはできるがリースを更新することができなくなる。

 「2」と「3」は「0」と「1」と同等だが、スコープを "切り替えられた" とマークする追加の属性を持っている。これは通常、切り替えられたネットワーク、または単一の物理ネットワークにホストされた複数の論理ネットワークがあるネットワークに使用される。なお、「2」および「3」はWindows Server 2003でのみ指定可能だ。

 「add scope」コマンドでスコープを作成した場合は、デフォルトでアクティブになるので、このコマンドを実行する必要はない。

 現在スコープがアクティブか非アクティブかを確認するには「show state」コマンドを使う。書式は次のとおり。パラメータはない。

 

show state

 

画面4● show stateコマンドで現在のスコープの状態を確認し、set stateコマンドでアクティブに設定し、その結果をshow stateコマンドで確認。

 

---------------------------------------------------------------------------

DHCPサーバー構成のエクスポート/インポート

export/import

---------------------------------------------------------------------------

DHCPサーバー構成をエクスポート/インポートする

 DHCPサーバー構成をファイルにエクスポートすると、それを別のDHCPサーバーにインポートして同じサーバー構成にすることが簡単にできる。もちろんバックアップ/リストアのために使うこともできる。そのためのコマンドが「export」および「import」だ。

 これらのコマンドはWindows Server 2003 (R2を含む) でのみ利用できる。残念ながらWindows 2000 Serverでは利用できない。また、Windows 2000 ServerWindows Server 2003ともに、同様のことをGUI画面から実行することもできない。ただ、Windows 2000 Serverの場合は、リソースキットの「DHCP Database Export Import Tool (dhcpexim)」ユーティリティを使うと同様のことができる。一方、dhcpeximユーティリティはWindows Server 2003では動作しない。

 このことから、Windows 2000 ServerからWindows Server 2003DHCPサーバー構成を移行するためには、Windows 2000 Serverdhcpeximツールを使ってエクスポートし、Windows Server 2003importコマンドでそれをインポートすることで、DHCPサーバーの移行ができることになる。もちろんWindows Server 2003同士で移行するのであれば、export/importコマンドでよい。

 exportコマンドの書式は次のとおり。

 

export FileName ScopeList

 

 パラメータのFileNameには、構成を保存するファイル名を指定する。またScopeListには、保存するスコープのサブネットIPアドレスの一覧を指定する。複数のスコープを保存する場合は、各アドレスをスペースで区切る。すべてのスコープを保存する場合は "all" と指定する。

 例えば、完全なサーバー構成をファイルc:\temp\dhcpdbに保存する場合は、次のように入力する。

export c:\temp\dhcpdb all

 スコープ10.0.0.020.0.0.0に属する構成をファイルc:\temp\dhcpdb2に保存する場合は、次のように入力する。

export c:\temp\dhcpdb2 10.0.0.0 20.0.0.0

 

 Importコマンドの書式は次のとおり。

 

import FileName ScopeList

 

 FileNameには、構成を保存したファイル名を指定する。またScopeListには、インポートするスコープのサブネットIPアドレスの一覧を指定する。すべてのスコープをインポートする場合は "all" と指定する。

 

 exportコマンドおよびimportコマンドはローカルサーバーでのみ機能する。スコープ数が多い場合や、クライアント数が多い場合は、コマンドの実行に長い時間がかかるが、コマンドの実行中はDHCPサービスが停止し、クライアントに応答しなくなるので注意して欲しい。

 

画面5● exportコマンドで構成を保存し、delete scopeコマンドでスコープを削除してから、保存した構成をインポートし、その結果をshow scopeコマンドで確認。

 


netshサブコマンドリファレンス

 

netshサブコマンドは、実行できるコンテキストが異なる。そのため、ダイレクトコマンドモードの場合、-cオプションによって実行可能なコンテキストを指定する必要がある。シェルモードの場合は、実行できるコンテキストに移動してからコマンドを実行するか、コンテキスト名をコマンドといっしょに指定して実行する必要がある。

 

add iprange

スコープで配布するIPアドレスの範囲を設定する

 

[構文]

add iprange StartIP EndIP [ClientType] [MaxBootP]

 

[パラメータ]

StartIP

開始IPアドレスを指定する。

 

EndIP

終了IPアドレスを指定する。

 

ClientType

クライアントの種類を次のいずれかで指定する(省略可能)

DHCPDHCPクライアント (デフォルト)

BOOTPBOOTPクライアント

BOTHDHCPクライアントとBOOTPクライアントの両方

 

MaxBootP

ClientTypeBOOTPの場合、BOOTPクライアントの最大数を指定する (省略可能)

 

[実行できるコンテキスト] dhcp server scope

 

show iprange

スコープで利用可能なIPアドレスの範囲を表示する

 

[構文]

show iprange

 

[パラメータ]

なし

 

[実行できるコンテキスト] dhcp server scope

 

delete iprange

スコープで配布するIPアドレスを削除する

 

[構文]

delete iprange StartIP EndIP

 

[パラメータ]

StartIP

削除する範囲の開始IPアドレスを指定する。

 

EndIP

削除する範囲の終了IPアドレスを指定する。

 

[実行できるコンテキスト] dhcp server scope

 

add excluderange

スコープで配布するIPアドレスから除外する範囲を設定する

 

[構文]

add excluderange StartIP EndIP

 

[パラメータ]

StartIP

除外範囲の開始IPアドレスを指定する。

 

EndIP

除外範囲の終了IPアドレスを指定する。

 

[実行できるコンテキスト] dhcp server scope

 

show excluderange

配布するIPアドレスから除外する範囲を表示する

 

[構文]

show excluderange

 

[パラメータ]

なし

 

[実行できるコンテキスト] dhcp server scope

 

delete excluderange

配布するIPアドレスから除外する範囲を削除する

 

[構文]

delete excluderange StartIP EndIP

 

[パラメータ]

StartIP

削除する範囲の開始IPアドレスを指定する。

 

EndIP

削除する範囲の終了IPアドレスを指定する。

 

[実行できるコンテキスト] dhcp server scope

 

add reservedip

特定のハードウェアに対して配布するIPアドレスを予約する

 

[構文]

add reservedip ReservedIP MAC_Address [ClientName] [ClientComment] [ClientType]

 

[パラメータ]

ReservedIP

予約するIPアドレスを指定する。

 

MAC_Address

予約するMACアドレスを指定する。

 

ClientName

予約するクライアント名を指定する (省略可能)

 

ClientComment

予約するクライアントのコメントを指定する (省略可能)

 

ClientType

クライアントの種類を次のいずれかで指定する(省略可能)

DHCPDHCPクライアント (デフォルト)

BOOTPBOOTPクライアント

BOTHDHCPクライアントとBOOTPクライアントの両方

 

show reservedip

予約されているIPアドレスを表示する

 

[構文]

show reservedip

 

[パラメータ]

なし

 

[実行できるコンテキスト] dhcp server scope

 

delete reservedip

設定されているIPアドレスの予約を削除する

 

[構文]

delete reservedip ReservedIP MAC_Address

 

[パラメータ]

ReservedIP

削除する予約IPアドレスを指定する。

 

MAC_Address

予約を削除するMACアドレスを指定する。

 

[実行できるコンテキスト] dhcp server scope

 

set state

スコープをアクティブまたは非アクティブに設定する

 

[構文]

set state [0 | 1 | 2 | 3]

 

[パラメータ]

0 | 1 | 2 | 3

値が1の場合にアクティブ化する (デフォルト)

値が0の場合は非アクティブ化する。

2301と同等だが、スコープを "切り替えられた" とマークする追加の属性を持っている。これは通常、切り替えられたネットワーク、または単一の物理ネットワークにホストされた複数の論理ネットワークがあるネットワークに使用される。

2および3Windows Server 2003でのみ指定可能。

 

[実行できるコンテキスト] dhcp server scope

 

show state

スコープのアクティブ/非アクティブを表示する

 

[構文]

show state

 

[パラメータ]

なし

 

[実行できるコンテキスト] dhcp server scope

 

export

スコープのサービス構成をファイルに保存する(このコマンドはWindows Server 2003でのみ利用可能)

 

[構文]

export FileName ScopeList

 

[パラメータ]

FileName

サービス構成を保存するファイル名を指定する。

 

ScopeList

保存するスコープのサブネットIPアドレスの一覧。各アドレスはスペースで区切る。

すべてのスコープを保存する場合は "all" と指定する。

 

[実行できるコンテキスト] dhcp serverまたはdhcp server scope

 

import

ファイルに保存したサービス構成を読み込む (このコマンドはWindows Server 2003でのみ利用可能)

 

[構文]

import FileName ScopeList

 

[パラメータ]

FileName

サービス構成が保存されているファイル名を指定する。

 

ScopeList

読み込むスコープのサブネットIPアドレスの一覧。各アドレスはスペースで区切る。

すべてのスコープを読み込む場合は "all" と指定する。

 

[実行できるコンテキスト] dhcp serverまたはdhcp server scope