クライアントPCのIPアドレスや、その他のTCP/IPパラメータを個別に手作業で設定するのは現実的ではないので、DHCPサーバによる自動構成は必須の機能といえる。

ルータなどのネットワーク機器が内蔵しているDHCPサーバ機能を利用することも多いと思うが、Windowsサーバを稼動させるのであれば、そちらの方がきめ細かい設定が可能なのでお勧めだ。たとえば、クライアントPCのMACアドレスを指定して特定のIPアドレスを固定的に割り当てる予約機能は、コマンド操作によらなくても、GUI画面で容易に設定できる(むしろ、MACアドレスを調べる手間の方が大変だろう)。

DHCPサーバ導入前の注意

DHCPサーバは、単に役割を追加するだけでは利用できず、「承認」と「スコープ作成」の機能が必要になる。前者はWindowsサーバのDHCPサーバ機能に特有のもので、適切な資格情報で承認するまでは、DHCPサーバ機能は動作しない。後者は、DHCPクライアントに割り当てるIPアドレスの範囲や、その他のTCP/IPパラメータを指定するものである。

DHCPスコープを作成する際に、DNSサーバアドレスとWINSサーバアドレスを指定するようになっているので、これらのサーバ機能はDHCPサーバよりも先に稼働させておく必要がある。もっとも当節ではWINSサーバを必要とする場面はほとんどないので、DNSサーバだけでよいだろう。

ところで、ネットワークの規模が大きく、それがルータ、あるいはレイヤー3スイッチで区切られている場合には、区切られたネットワークごとにDHCPサーバを配置するか、ルータやレイヤー3スイッチでDHCPリレーエージェントの機能を動作させる必要がある。

DHCPサーバの導入とスコープの作成

当然ながら、DHCPサーバとして稼動させるコンピュータ自身については固定IPアドレスを割り当てる必要がある。また、DHCPサーバの役割を追加する必要もある。これらの操作については過去に解説してきている内容と重複する部分が多いので割愛して、役割追加が完了したところから話を始める。

Windows Server 2008の場合、役割追加に続いてウィザードが起動してスコープ作成まで一気に行い、その後で「承認」の作業になる。それに対してWindows Server 2012の場合、先に資格情報を指定して「承認」する作業が必要で、その後で改めて、[DHCP]管理ツールでスコープの作成を指示するようになっている。もちろん、Windows Server 2008でも後から[DHCP]管理ツールでスコープを作成できるが、その場合の手順はWindows Server 2008と同じである。

話の流れ上、まずWindows Server 2012における「承認」の話について触れる。

DHCPサーバの役割を追加してからサーバーマネージャに戻ると、コマンドバーの旗アイコンに注意喚起のアイコンが現れるので、それをクリックする。続いて展開するメニューで[DHCP構成を完了する]をクリックする。

コマンドバーの旗アイコンをクリックすると展開するメニューで、[DHCP構成を完了する]をクリック

初期画面に続いて表示する以下の画面で資格情報を指定して[コミット]をクリックすると、承認作業が完了する。

資格情報を指定して[コミット]をクリックする。通常は、既定値の管理者(<ドメイン名>\Administrator)を使えばよいだろう

続いて、[DHCP]管理ツールを使ったスコープ作成の話に移る。[DHCP]管理ツール左側のツリー画面で[DHCP]-[<サーバ名>]-[IPv4]を選択して、[操作]-[新しいスコープ]、あるいは右クリックして[新しいスコープ]を選択する方法が基本だが、Windows Server 2008では、役割追加に続いて実行するウィザードを使う方法もある。

[DHCP]-[<サーバ名>]-[IPv4]を選択して、右クリックメニューで[新しいスコープ]を選択(Windows Server 2012)

ウィザードの内容は、バージョンに関係なく、おおむね共通している。ただし、Windows Server2008で役割追加に続いて実行するウィザードと、[DHCP]管理ツールから実行するウィザードでは内容や順番に違いがある。別々に解説すると煩雑なので、ここでは箇条書きとしてまとめておこう。

  • DHCPサーバの運用に際しての注意事項を表示する。
  • 作成するDHCPスコープの名前と説明を指定する。
  • Windows Server 2008では、対応するネットワーク接続を選択する画面を表示することがある。複数のLANアダプタを装備しているコンピュータでは、この選択に注意する必要がある。
  • スコープで割り当てるIPアドレスの起点と終点、サブネットマスク(ネットワークアドレス長)を指定する。
  • そのIPアドレス範囲の中に除外範囲を設けたい場合には、除外範囲の起点と終点を指定する。ひとつのネットワークアドレスに登録できるスコープはひとつだけなので、同じネットワークアドレスの範囲内で飛び飛びに複数のアドレス範囲をリースする際には、除外設定を利用する。もっとも、あまり複雑怪奇なことはしない方が、後で楽ができる。できるだけ連続させて「穴」を開けない方が好ましい。
  • IPアドレスのリース期間を指定する。既定値は8日。通常、リース期間の半分が経過した時点で、クライアントはDHCPサーバに対してIPアドレスの更新を要求する。
  • リース期間を指定する際に、[サブネットの種類]を選択できる場合がある。[ワイヤード(有線)]と[ワイヤレス(無線)]のいずれかを選択できるが、相違点は既定のリース時間(前者は6日間、後者は8時間)。
  • スコープオプション構成の有無を指定する。ここまでの内容では項目が足りないので、必ず構成する。
  • スコープオプションとして、デフォルトゲートウェイ、ドメイン名(必要なら)、DNSサーバアドレス、WINSサーバアドレス(WINSサーバがある場合)を指定する。
  • Windows Server 2008のDHCPサーバでは、IPv4用のスコープに関する設定を行った後で、IPv6用のDHCPサーバ機能についての取り扱いを指示する画面を表示する(Windows Server 2012では、この画面は現れない)。とりあえずIPv4専用とするのであれば、[このサーバーに対するDHCPv6ステートレス モードを無効にする]を選択して続行すればよい。
  • 最後にスコープをアクティブ化する。アクティブ化しないで、スコープ設定の登録に留めることもできる。

クライアントに割り当てるIPアドレス範囲の起点と終点、それとサブネットマスクの指定は、基本中の基本

スコープオプションとして、デフォルトゲートウェイとともに、DNSサーバアドレス(上の画面)を指定しなければならない。そうしないと、クライアントPCがホスト名を引けなくなる

なお、DNSサーバアドレスとともにドメイン名を指定する必要があるのは、Active Directoryを構成している場合で、そのときにはドメインDNS名を指定する。

こうすると、クライアント側でドメイン名を指定せずにホスト名だけで名前解決を要求したときに、ここで指定したドメイン名を自動的に付加するようになっている。たとえば「olymus.kojii.local」を指定しておけば、ホスト名「helios」を引く際に、自動的に「helios.olymus.kojii.local」とみなしてくれるわけだ。