DHCPサーバ


さて、今回はDHCPサーバのお話です。
DHCPサーバってなに?  なんて事は聞かないで下さいませ(爆)
でも、簡単に説明を・・・。

  DHCP(Dynamic Host Configuration Pro-tocol)

  普通、ネットワーク(特にインターネット)はTCP/IPと言うプロトコル(
コンピュータの方言)で情報のやり取りを行います。
  でも、このコンピュータは何処のだれそれさんだと言う住所(名前)が必
要です。
  この住所(名前)がIPアドレスと言う物なのですが、3桁の数字の4配列
なので、全世界のコンピュータの数には足りませんです。
  そこで考えられたのが・・・普段使わないパソコン(常時起動では無い)
にも、IPアドレスをフルに割り当てするのでは無く、使う時だけ割れ当てれ
ば良い・・・と言う事です。
  では、割り当てる方(サーバ)だけがIPアドレス管理をすれば良いので、
サーバソフトを開発しようと、考えられて作られたのが、DHCPサーバです。
  UNIXの世界ではフリーソフトの「wide-dhcp-1.3b.tgz」が有名ですので、
此方の簡単な解説をば。


  FreeBSD の「2.2.*」 以後ではポートファイル化されているので、「make
」一発でインストールは出来ます。
  インストールはとても簡単ですが、設定がチト面倒です(汗)
弄るファイルは以下に。

  /etc/dhcpdb.pool
  /etc/dhcpdb.relay


ターゲットは「/etc/dhcpdb.pool」です。
普通に「wide-dhcp-1.3b.tgz」をインストールすると、「/usr/local/share
/dhcp」 にサンプルである「dhcpdb.pool.sample」があるので、コピーして
使いましょう。
  「cp /usr/local/share/dhcp/dhcpdb.pool.sample /etc/dhcpdb.pool」
  で、書き換えます。
(注)「dhcp.pool」の場合もあります。
  「ee /etc/dhcpdb.pool」もしくは
  「vi /etc/dhcpdb.pool」


  global:!snmk=255.255.255.0:tmof=32400:
# 此れは、字の如しでネットマスクです。
# 私の様にOCNエコノミー自前ドメインの場合は、「255.255.255.240」
# です、普通のCクラスIPを割り当ての場合は表記の通りでOKです。
# 「tmof」はグリニッジ時間と日本時間の差分秒の9時間の事です。

  subnet0:tblc=global:rout=210.145.169.161:dht1=500:dht2=850:|
	 :brda=210.145.169.176:|
	 :dnsv=210.145.169.162:dnsd="toride.com"
# 此処は、サーバやルータの指定です。
# 書き方によっては、処理が重くなるそうなので、気を付けましょう(爆)
# 「rout」はルーターの指定です。
# 「dht1」はdhcpクライアントの割り当て有効期限の延長要求の開始時期を
# 指定しています。
# 「dht2」も大体は、同じ意味です。
# 「brda」は、ブロードキャストアドレスを書き込みます。

  0165	 :ipad=210.145.169.165:dfll=7200:tblc=subnet0:
  0166   :ipad=210.145.169.166:dfll=7200:tblc=subnet0:
  0167   :ipad=210.145.169.167:dfll=7200:tblc=subnet0:
# クライアントに割り当てるIPアドレスの用意です。
# 「ipad」で割り当てるアドレスを指定します。
# 「dfll」で期間を指定します。


  その他の詳細設定に拘りたい人の為に「dhcpdb.pool」 用のフィールドを
用意します。

ipad・・・・クライアントに割り当てる、IPアドレス。
maxl・・・・割り当てアドレスの最長有効期限(秒)
dfll・・・・クライアントからの要求が無い場合の有効期限。
snmk・・・・割り当てするIPアドレスのネットマスク。
rout・・・・デフォルトゲートウェイ・アドレス。
dnsv・・・・DNSサーバのアドレス。
hstn・・・・クライアントホスト名。
dnsd・・・・DNSドメイン名。
brda・・・・ネットワーク・ブロード・キャスト。
strt・・・・静的ルーティング用、宛先&ゲートウェイの組みアドレス。
nisd・・・・NISドメイン名。
nisv・・・・NISサーバのIPアドレス。


  後は、「/etc/dhcpdb.relay」と「/etc/dhcpdb.server」 がありますがリ
レーエージェントを使用しない限りは、必要ありません。
  但し、「/etc/dhcpdb.relay」 は空ファイルを入れて置かなくては、サー
バの調子が悪くなるので、下記の様に作成しましょう。

  touch /etc/dhcpdb.relay

  それと、先回言い忘れたデバイスファイルの用意も・・・。

  cd /dev
  ./MAKEDEV bpf1 bpf2 bpf3
と、元々あった「bpf0」と合わせて、4つは用意して下さい。


あっと、忘れる所でした(汗)
「wide-dhcp-1.3b.tgz」をインストールすると、警告が出たと思います。
「カーネルに何らかが、入っていない!」見たいな感じな警告です。
言われた通りに、カーネルを構築しなおしましょう。

AT互換機の場合は、  「/usr/src/sys/i386/conf/GENERIC」。
98シリーズの場合は、「/usr/src/sys/pc98/conf/GENERIC」。
を別名にコピーして使用します。

上記のディレクトリに移動して。
  「cp GENERIC AYASII」とか(爆)
で、エディタで別名コピーしたファイルを開きます。
  「ee AYASII」 とか・・・。
それで、「pseudo-device		bpfilter4」 を追加します。
さて、コンパイルしましょう。
  「config AYASII」終わったら、指定のディレクトリに移動して。
  「cd ../../compile/AYASII」
メークしましょう。
  「make depend」
  「make」
無事、メーク終わったら新しいカーネルをインストールしましょう。
  「make install」
さて、リブートしましょう。
  「reboot」


後は、確認です。
環境ファイルを確認しましょう。
ターゲットは「/etc/services」です。

「/etc/services」 は内容の確認だけで済むはずです。
「/etc/services」 に下記の内容があるか、確認して無ければ、追加して下
さい。

  bootps	67/udp	dhcps
  bootpc	68/udp	dhcpc



次は、自動起動です。
ターゲットファイルは、「/etc/rc.local」です。
難しい事は解らないで、良いです(汗)
下記を追加して下さい。

# DHCP server
 if [ -f /etc/dhcpdb.pool ]; then
         /usr/local/sbin/dhcps ed1
 fi

  書き換えたら、リブートしましょう。

  やっと、DHCPサーバのインストールが終わりました。
  話しが前後していましましたが、DHCPサーバを動かすには、DNSサ
ーバが動いている状態で行って下さいね(爆)



パソコン研究室