DHCP ServerでMACアドレスフィルタリングを行う

Windows Server 2008で提供されているDHCPサーバーではMACアドレスによるフィルタリングはサポートされていません。これはNTの時代から変わっていませんね。

実際問題、私がSEをしていた頃に登録したMACアドレスにしかIPアドレスの配布をしたくないというお客様がいて、サードパーティ製のDHCPサーバーを購入して対応した記憶があります。

先日Windows Server 使い倒し塾のブログを見ていたら、なんとフリーのツールを使用することによってWindows Server 2003以降(2008も含む)のDHCPサーバーでMACアドレスフィルタリングを使用できるようなんです。

そのツールとはCallout DLLというものです。Microsoft Windows DHCP Team Blogにて紹介がされています。

CallOutHP

そして、さらにリンクがあり、Connect The Worldをクリックします。

CallOutHP1

そして一番下にDownloadのリンクがありますのでそこからツールをダウンロードします。

そして32ビットと64ビット版がありますので使用する方をダウンロードしてDHCPサーバーに対してインストールします。見た目は全くかわりませんね~

変わる場所はレジストリになります。

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesDHCPServerParameters

この中のパラメータがCallOut DLLに影響を及ぼすようです。

  • CalloutDlls:ツールのパス
  • CalloutEnabled:1の場合は起動で、0にすればロードされません
  • CalloutErrorLogFile:ログファイルのパス
  • CalloutInfoLogFile:情報ファイルのパス
  • CalloutMACAddressListFile:これが肝のアクセス制御ファイルのパス

デフォルトではc:WindowsSystem32dhcp 配下に設定されていることがregeditから確認できます。

reg  File

そして実際の操作に関しては次の2通りがあります。

  • 許可リスト:DHCPを使用する全ての端末MACを登録する
  • 拒否リスト:DHCPを使用させない端末のMACを登録する

このリストの記載方法は次の通り

#MACList.txt
MAC_ACTION = {ALLOW / DENY}
#List of MAC Addresses:
000a0c0d1254 #lab-server1
000d0c4a6723 #lab-server2

これはREADMEに記載してあるものなんですが、先頭に#があるのはコメントですね。そしてMAC_ACTIONに許可もしくは拒否を設定する。そこでちょっとはまったのが、その書き方なんです。これって

MAC_ACTION = ALLOW

でうまくいくと思ったんですが、何度やってもうまくいきませんでした。試しに

MAC_ACTION = {ALLOW}

としたらうまくいきました。

あとは、クライアントのMACアドレスを登録すればうまく動きます。いや~、これはこれで便利ですね。

まとめ

今までこのような機能のニーズはあったにも関わらず、マイクロソフトのDHCPではサポートしていませんでした。が、Windows Server 2008 R2 のDHCPサーバーはMACアドレスフィルターをサポートするようです。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*