ネットワークコマンドで管理が変わる!
第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]
パラメータのClientTypeとMaxBootPは省略できるので、通常は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.12のIPアドレスを00-0C-29-9E-EF-18のMACアドレスを持つネットワークカードのマシンに予約するならば、
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 Server、Windows Server 2003ともに、同様のことをGUI画面から実行することもできない。ただ、Windows 2000 Serverの場合は、リソースキットの「DHCP Database Export Import Tool (dhcpexim)」ユーティリティを使うと同様のことができる。一方、dhcpeximユーティリティはWindows Server 2003では動作しない。
このことから、Windows 2000 ServerからWindows Server 2003にDHCPサーバー構成を移行するためには、Windows 2000 Serverでdhcpeximツールを使ってエクスポートし、Windows Server 2003のimportコマンドでそれをインポートすることで、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.0と20.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
クライアントの種類を次のいずれかで指定する(省略可能)。
DHCP:DHCPクライアント (デフォルト)
BOOTP:BOOTPクライアント
BOTH:DHCPクライアントとBOOTPクライアントの両方
MaxBootP
ClientTypeがBOOTPの場合、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
クライアントの種類を次のいずれかで指定する(省略可能)。
DHCP:DHCPクライアント (デフォルト)
BOOTP:BOOTPクライアント
BOTH:DHCPクライアントと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の場合は非アクティブ化する。
値2と3は0と1と同等だが、スコープを "切り替えられた" とマークする追加の属性を持っている。これは通常、切り替えられたネットワーク、または単一の物理ネットワークにホストされた複数の論理ネットワークがあるネットワークに使用される。
2および3はWindows 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