連載
» 2005年03月19日 05時00分 UPDATE

Tech TIPS:WindowsのDHCPサーバーで固定IPアドレスを設定する

DHCPサービスによって割り当てられるIPドレスは通常、固定ではなく、毎回異なるものになる可能性がある。特定のコンピュータに固定IPアドレスを割り当てたければ、DHCPサーバの予約機能を利用する。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000 Server/Windows Server 2003



解説

 DHCPサービスを利用すると、クライアント・コンピュータに対するIPアドレスネットマスクといった、TCP/IPに関するパラメータの設定を完全に自動化することができる。あらかじめDHCPサーバ側に設定しておいたIPアドレス群(IPアドレス・プールという)から未使用のものが選ばれ、それがクライアントに一定期間「貸し出される」のである。

 このときに各クライアントに割り当てられるIPアドレスは、デフォルトでは、先着順にアドレス・プールの先頭の方から割り当てられる。そのため、コンピュータごとにどれが割り当てられるかは事前には分からないし、次回起動したときにまた同じIPアドレスが割り当てられるかどうかも分からない。1度割り当てられたIPアドレスは、リース期間内ならばずっと継続的に利用できるが、その後は別のIPアドレスに変更されることもある(Windows Server OSのDHCPサーバでは、リース期間終了後もなるべく同じIPアドレスを継続して割り当てるようになっている)。

 このようにDHCP環境では、クライアント・コンピュータのIPアドレスは毎回変更される可能性があるが、場合によってはこのような運用方法は望ましくないことがある。管理者の立場からすると、サーバ的な用途のコンピュータではIPアドレスはなるべく変更されずに、ずっと同じである方が望ましいだろうし(IPアドレスが変わると、クライアントからの接続が切れる可能性がある)、ファイアウォールや管理ソフトウェアなどの設定の都合を考えると、各クライアントのIPアドレスを固定しておいた方が望ましい場合もある。

 DHCPサーバの予約機能を利用することにより、各クライアント・コンピュータごとに、あらかじめ決められた固定的なIPアドレスを割り当てることができる。

 ただし新しいIPアドレスの使用を予約しても、その結果がすぐにクライアント・コンピュータに反映されるわけではない。再起動などで次にIPアドレスが更新されるときに割り当てられるからだ。また、予約しようとしてるIPアドレスが、すでに別のコンピュータに割り当てられている場合は、そのコンピュータがIPアドレスを解放しない限り、使用することはできない。

 このようなトラブルを避けるため、IPアドレスのプールを定義する場合は、予約する予定のIPアドレス範囲を、あらかじめDHCPのスコープから「除外」して定義しておくとよいだろう。例えば、クライアント・コンピュータに割り当て可能なIPアドレス全体の範囲が10.20.2.100〜10.20.2.199で、そのうち固定的に割り当てたい領域が10.20.2.100〜10.20.2.149だとすると、その部分をあらかじめ「除外範囲」として定義しておく。これにより、固定で50個分のIPアドレスと、自由割り当て可能な50個分のIPアドレス領域が確保できる。その後、除外範囲に含まれるIPアドレスを順番に予約クライアントとして定義していけばよい。

操作方法

 IPアドレスを特定のクライアント・コンピュータに予約割り当てするには、まず各クライアントのMACアドレス情報を収集しなければならない。(イーサネットや無線LANの)MACアドレス情報は、コンピュータ本体やネットワーク・インターフェイス・カード上に記入されていることが多いので、それをいちいちメモしてもよいし、1度DHCPでIPアドレスを割り当てさせてから、その値を調査してもよい。サーバ側から調査するにはarpコマンドを利用したり、DHCPサーバ管理ツールの「アドレスのリース」で調べることもできるが、確実なのは、クライアント側のコンピュータ上で直接調査することである。サーバ側から見えるコンピュータ名とクライアント側で実際に定義しているはずのコンピュータ名が違っているかもしれないので(間違って別のコンピュータの情報を調べているかもしれないから)、できる限りクライアント側で調査するのがよい。コマンド・プロンプトを開いて「ipconfig /all」で表示させてもよいし、コントロール・パネルのネットワーク・アイコンをクリックして、各インターフェイスの[詳細状態]を表示させてもよいだろう。Windows 9x/Me系の場合はWINIPCFG.EXEというコマンドも利用できる。

 MACアドレスは16進数で12桁(6bytes)の数字であるが、これを以下のようにして、「新しい予約」として定義する。

 まずDHCPの管理ツールで目的のスコープを表示させ、さらに[予約]項目を右クリックして、ポップアップ・メニューから[新しい予約]を実行する。

新しい予約項目を定義する 新しい予約項目を定義する
[スタート]メニューの[管理ツール]−[DHCP]でDHCPの管理ツールを実行し、IPアドレスとMACアドレスの対応情報を新しく予約する。
  (1)新しく予約したいスコープを選択する。
  (2)すでにクライアント・コンピュータに割り当てられたIPアドレスとそのMACアドレス情報をここで調査することもできる。
  (3)予約の定義。デフォルトでは何も予約されていない。これを右クリックして、ポップアップ・メニューを表示させる。
  (4)これを選択する。

 すると、新しく予約するIPアドレスとMACアドレスを入力するダイアログが表示される。

DHCPの予約設定 DHCPの予約設定
各クライアントごとに、IPアドレスとMACアドレスの対応を定義しておく。
  (1)予約名。コンピュータ名をセットしておくとよい。ただしDHCPでIPアドレスを割り当てると、そのコンピュータに付けられている実際のコンピュータ名がここにセットされることがある(DNSサーバとDHCPサーバが連携するように設定されている場合)。
  (2)割り当てるIPアドレス。スコープの範囲内のIPアドレスにすること。
  (3)MACアドレス。このように12桁の16進数を区切り文字なしで続けて記述する(つまり11:22:33:aa:bb:ccではなく112233aabbccのように指定する)。
  (4)コメント。
  (5)サポートするクライアントがDHCPかBOOTPかの選択。BOOTPはDHCPの前身のプロトコルであり、BOOTPしか利用できないネットワーク機器はもうほとんど使われていないと思われる。

 [予約名]には、コンピュータの名前とドメイン名(FQDN名)を指定するが、Windows OSの場合はこの値は特に意味がない。コンピュータ名がこの予約名になることはなく、逆に、現在のコンピュータ名がここに反映されることがある(DNSサーバとDHCPサーバが連携するように設定されている場合)。

■関連記事(Windows Server Insider)


「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。