Last modified: Sat Mar 16 12:59:27 JST 2002

SolarisをDHCP serverにするのこと

初めに

 DHCPとは,Dynamic Host Configuration Protocolの略で,要はネットワークにつなぐマシンの設定を自動的にやってくれる仕組みのことです.
 もちろんこのサーヴィスを受けるためには,そのネットワークにそれを提供してくれるサーヴァマシンがないといけません.その機能は幾つかのメーカーが自社のOSに搭載しています.またUNIXマシン関してはフリーで幾つか出回っています.
 今回はその中でも,Internet Software Consortiumが提供しているISC dhcpdをSolarisで動かしてみたので,その経緯を報告します.

入手先・対応マシン

 このISC dhcpdはhttp://www.fugue.com/dhcp/が配布元で,対応しているOSは です.また でも一部制限がありますが動くようです.
 特にSolarisに関しては,ドキュメントでは2.5でしか動作確認をしていないと書いていますが,少なくとも私のところでは2.4でも動いています.

コンパイル・インストール

 Configure scriptがついてくるのでそれでconfigureしてmakeでおっけーです.Solaris2.4 + gcc ver.2.7.0で問題なくコンパイルできました.本体のデフォルトのインストール先は/usr/sbin/です.

設定ファイル

 設定ファイルはデフォルトでは/etc/dhcpd.confです(起動時のオプションで変えられます).内容はC likeで,文法自体は付属のdhcpd.confを見ればわかると思います.
 その他に/etc/dhcpd.leaseという空ファイルを起動前に作っておく必要があるようです.
 設定ファイルの詳しい書き方は私自身もきちんと把握できてないのでパス.とりあえずずるずると書けばそれなりに動くようです(笑).
 とりあえずちょっとした例を以下に挙げます.

#どうやら頭にこのような行が必要らしい.DHCP serverの名前を記述する.
server-identifier nantokka.kantoka.ac.jp;

#このDHCP serverが管理するサブネット全体についての宣言.
#サブネットの名前(適当で良い)を宣言する.ここでは"BOKURA-NO-SUBNET".
shared-network BOKURA-NO-SUBNET{

    #このDHCP serverは複数のサブネットを管理できるが,
    #それらに共通の設定があったらここの部分に記述する.
    #option subnet-mask 255.255.255.0;
    #option domain-name-servers xxx.yyy.zzz.1; #...


    #それぞれのサブネットを記述する.
    #サブネットアドレスとネットマスクで指定する.
	subnet xxx.yyy.zzz.0 netmask 255.255.255.0{

        #クライアントに渡す設定値.
		option subnet-mask 255.255.255.0;
		option routers xxx.yyy.zzz.1;
		option domain-name-servers xxx.yyy.zzz.1;
		#以下二行分はWindows関係の設定
		option netbios-name-servers xxx.yyy.zzz.4;	#これはいわゆるWINS serverの指定
		option netbios-node-type 8;	#これはnetbiosの名前解決のタイプ.8はh-node.

		#動的割り付けをしないときにはこの記述が必要.
		boot-unknown-clients false;

		#逆に動的割り付けをするときは以下のように設定する.
		#以下の例だとxxx.yyy.zzz.10から126までのアドレスを動的に割り振る.
        #range xxx.yyy.zzz.10 xxx.yyy.zzz.126;

		#ある設定を特定のグループのマシンだけに有効したい場合は,
		#このようにgroup{}で囲んで設定する.
		group{
			#このグループのアドレスの制限時間.単位:秒.
			#この設定はこれを含むgroup{}で囲まれた部分のみで有効
			default-lease-time 86400;
			max-lease-time 604800;

			host HOST1{
				#静的割り当ての場合はこのように
				#MACaddressとIPaddressを設定する.
				hardware ethernet 00:00:00:00:00:00;
				fixed-address xxx.yyy.zzz.12;
			}

			host HOST2{
				hardware ethernet 00:00:00:00:00:00;
				fixed-address xxx.yyy.zzz.13;
			}
				
		}
	}
}

終わりに

 特にはまるようなところもなく,するっとできてしまったので特記するようなことはなく,読んでどうなると言うほどのものでもないですが,Solaris用のdhcp serverソフトというのはあまり知られていないのでその紹介くらいに思ってください.
 UNIX用のdhcp serverソフトとしてはWIDEのそれが有名ですが,これはSoralisには対応していないんですよね.
 ちなみにこのDHCP serverをLinuxで使った体験記もあります.
色々技術メモページに戻る
石田 翼のホームページに戻る

ISHIDA Tsubasa <tbs-i@mtg.biglobe.ne.jp>