xserver
Home クッキー及びWeb ビーコンについて



DHCPサーバーの構築

DHCPサーバーの概要

 DHCPとは、IPアドレスを動的に更新するためのプロトコルのことで、クライアントマシンからの要求があれば、動的にIPアドレスを配布したり、ネームサーバーなどの情報を提供してくれます。DHCPサーバーはLAN内にあるクライアントマシンの台数が増えれば増えるほど効力を発揮し、手動IPアドレス設定によるIPアドレスの重複といった人為的なミスを減らすことができます。DHCPサーバーの導入によって、IPアドレスの管理が非常に楽になり、LANケーブルをPCに挿し込むだけでネットワークに接続することができるようになります。尚、LAN内 にルータがある場合は、通常、ルータが簡易DHCPサーバーとしての機能を果たしています。同一サブネットワーク内 にDHCPサーバーが2つ以上あると動作に支障をきたすなどのトラブルを招きかねないので、導入する際には予めルータのDHCP機能を停止させておいてください。




■DHCPサーバーのインストール

$ rpm -q dhcpd
パッケージ dhcpd はインストールされていません
$ su -
# rpm -ivh dhcp-3.0pl1-9.i386.rpm

■自動起動の設定

 ランレベル3と5でdhcpdが自動起動するように設定します。

# chkconfig --level 35 dhcpd on
# chkconfig --list dhcpd

dhcpd 0:オフ 1:オフ 2:オフ 3:オン 4:オフ 5:オン 6:オフ



■設定ファイルを記述する

 それでは、dhcpdサービスを行っていくにあたって、以下のような環境を想定して設定していきます。

ネットワークアドレス 172.16.50.0
サブネットマスク 255.255.255.224
デフォルトゲートウェイ 172.16.50.1
DNSサーバー 172.16.50.2
ドメイン名 kororo.jp



■設定ファイル(dhcpd.conf)のコピー

 dhcpd の設定ファイルはデフォルトではインストールされませんので、サンプルファイルをコピーし、それを修正していく形で進めていきます。サンプルファイルは、/usr/share/doc/dhcp-3.0pl1配下に置かれています。

# cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf

■dhcpd.confの編集

 それでは実際に、dhcpd.confの設定を行っていきます。

ddns-update-style interim;
ignore client-updates;

subnet 172.16.50.0 netmask 255.255.255.224 {

# --- default gateway
option routers 172.16.50.1;
option subnet-mask 255.255.255.224;

#option nis-domain "domain.org";
option domain-name "kororo.jp";
option domain-name-servers ns1.kororo.jp;

option time-offset -18000; # Eastern Standard Time
option ntp-servers 172.16.50.2;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;

range dynamic-bootp 172.16.50.0 172.16.50.31;
default-lease-time 21600;
max-lease-time 43200;

# we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
}

 なお、実際には下記のように整理して記述しておいた方がわかりやすいでしょう。

subnet 172.16.50.0 netmask 255.255.255.224 { 
          option routers 172.16.50.1;
          option subnet-mask 255.255.255.224; 
          option domain-name "kororo.jp";
          option domain-name-servers ns1.kororo.jp; 
          option ntp-servers 172.16.50.2;
          range dynamic-bootp 172.16.50.0 172.16.50.31;
          default-lease-time 21600;
          max-lease-time 43200; 
}

⇒ddns-update-style interim
 このパラメータでは、DynamicDNS(動的DNS)情報の更新方法について指定します。値には、「interim、ad-hoc、none」を指定することができます。ここでは、DHCPとDynamicDNSとの連携を行う場合は、interimを指定します。ad-hocは旧バージョンのdhcpdとの互換性を維持する目的の場合に指定します。

⇒ignore client-updates
 クライアントからのDNS更新要求時に、ドメイン名を無視し、ホスト名だけを用います。仮に自ドメインが「example.com」であり、あるクライアントから「foo.exmaple.jp」というFQDNで更新要求をしてきた場合に、「example.jp」を無視し、「foo」というホスト名だけを用います。「example.com」ゾーンのPTRレコードとAレコードには共に、「foo.example.com」レコードが追加されるようになります。尚、有効にするには、「allow client-updates」と指定します。有効にした場合、FQDN で登録されることになり、上記の例では、「foo.exmaple.jp」がそのままレコードに追加されるようになります。よくわからない方は、「BINDによるDNSサーバーの構築 」を参照してください。

⇒subnet ~ netmask
 ネットワークアドレスとサブネットワークを設定します。{ } の間でひとつのサブネットに対する設定を行います。複数のサブネットに対してDHCPサービスを行うには以下のようにします。

◎複数サブネットの例
subnet 192.168.0.1 netmask 255.255.255.0{
省略
}
subnet 192.168.1.1 netmask 255.255.255.0{
省略
}

⇒shared-network name
 ひとつの物理ネットワークに複数のサブネットがある場合、shared-network宣言を用います。name はデバッグメッセージとして表示されます(下記参照)。

$ tail /var/log/messages
Jan 5 13:50:07 ns1 1月 5 13:50:07 dhcpd: Sending on LPF/eth0/30:40:a4:be:ea:b5/homelan

◎shared-networkの例

option domain-name "kororo.jp";
option domain-name-servers ns1.kororo.jp;

default-lease-time 21600;
max-lease-time 43200;

shared-network HomeLan {
 subnet 10.0.0.0 netmask 255.0.0.0 {
  option broadcast-address 10.255.255.255;
  option routers 10.0.0.1;
 }
 subnet 172.16.0.0 netmask 255.255.0.0 {
  option broadcast-address 172.16.255.255;
  option routers 172.16.0.1;
 }
 subnet 192.168.0.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.0.32 192.168.0.63
  option broadcast-address 192.168.0.63;
  option routers 192.168.0.1;
 }
}


⇒option routers
 ルータのIPアドレスを記述します。

⇒option subnet-mask
 サブネットマスク値を記述します。

⇒option domain-name
 所属するドメイン名を記述します。

⇒option domain-name-servers
DNSサーバーのホスト名、もしくはIPアドレスを記述します。

⇒option ntp-servers
 NTPサーバーがあれば、NTPサーバーのホスト名、もしくはIPアドレスを記述します。

⇒option netbios-name-servers
 WINSサーバーがあれば、WINSサーバーのホスト名、もしくはIPアドレスを記述します。

⇒range dynamic-bootp
 動的に割り当てるIPアドレスの範囲を指定します。

⇒default-lease-time
 IPアドレスの貸し出し期限(秒単位)を指定します。クライアントからのDHCP要求(DHCPDISCOVER)がない場合は、ここで指定した時間を超えると自動的にIPアドレスは解放されます。デフォルトでは21600秒(21600÷60÷60÷24=0.25=6時間)となっています。

⇒max-lease-time
 IPアドレスの最大の貸し出し時間(秒単位)を指定します。ここで指定した時間以上はIPアドレスを貸し出しません。デフォルトでは43200秒(43200÷60÷60÷24=0.5=12時間)となっています。つまり、クライアントからのIPアドレスの延長要求があろうとも、12時間を越えたらIPアドレスは解放されることになります。

■特定のIPアドレスを割り当てる

 DHCPで特定のIPアドレスを割り当てるには、以下のようにします。個々のマシンがもっているMACアドレスによって、そのマシンを特定し、dhcpd.conf で指定されたIPアドレスを割り当てる仕組みになっています。

host koro {
hardware ethernet 08:00:46:5D:DD:XX;
fixed-address 172.16.50.8;
}

■DHCPの再起動

 dhcpd.confを編集し終えたら、設定を有効にするためにDHCPを再起動してください。この時、/etc/dhcpd.conf あるいは、/var/lib/dhcpd/dhcpd.leasesファイルが存在しない場合、dhcpdは起動しないので注意してください。正常に起動しない場合、コマンドを実行してもコンソール上では無反応になります。また、/etc/dhcpd.conf 自体に構文ミスがあると、エラーメッセージが表示されますので修正後、再度、起動してください。

# /etc/init.d/dhcpd restart
dhcpdを停止中: [ OK ]
dhcpdを起動中: [ OK ]

 ここまで終えたら、実際にクライアントマシンからIPアドレスの配布が行われるか確認してみてください。Windowsクライアントの場合は、TCP/IPのプロパティで「IPアドレスを自動的に取得する」にチェックを入れてください。次に、コマンドプロンプトで「ipconfig /release」でIPアドレスをリリースした後、「ipconfig /renew」でIPアドレスがきちんと割り当てられたら成功です。確認事項として「ipconfig /all」を実行し、「DHCP Server」欄がDHCPサーバーのアドレスになっていることを確認します。もし他にDHCPサーバー(ルータなど)が同一ネットワーク内に存在する場合、アドレス欄はすでに使用していたDHCPサーバーのアドレスになってしまうので、ルータ等のDHCPサーバー機能を停止させてからもう一度ipconfigコマンドを実行してみてください。

◎Windowsクライアントでのコマンド実行例
C:\>ipconfig /release
#現在のIPアドレスを開放する

Windows IP Configuration

Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 0.0.0.0
Subnet Mask . . . . . . . . . . . : 0.0.0.0
Default Gateway . . . . . . . . . :


C:\>ipconfig /renew
#IPアドレスを再取得する(DHCPDISCOVER)

Windows IP Configuration

Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . : kororo.jp
#dhcpd.confファイルのoption domain-nameで指定したドメイン名が表示される

IP Address. . . . . . . . . . . . : 172.16.50.13
Subnet Mask . . . . . . . . . . . : 255.255.255.224
Default Gateway . . . . . . . . . : 172.16.50.1


C:\>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : SNOOPY
Primary Dns Suffix . . . . . . . : kororo.jp
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : kororo.jp


Ethernet adapter ローカル エリア接続:

Connection-specific DNS Suffix . : kororo.jp
Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connecti
on
Physical Address. . . . . . . . . : 08-00-46-5D-03-XX
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 172.16.50.13
Subnet Mask . . . . . . . . . . . : 255.255.255.224
Default Gateway . . . . . . . . . : 172.16.50.1
DHCP Server . . . . . . . . . . . : 172.16.50.2
DNS Servers . . . . . . . . . . . : 172.16.50.1
Lease Obtained. . . . . . . . . . : 2003年12月10日 4:22:39
#dhcpd.conf のmax-lease-timeで指定したIPアドレスの貸し出し期限の最大値の時間が表示される。このコマンドは12月9日4時22分に実行したものであるので、IPアドレスの最大貸し出し期限は翌日の10日4時22分と表示される。

Lease Expires . . . . . . . . . . : 2003年12月10日 10:22:39
#dhcpd.conf のdefault-lease-timeで指定した値が表示される。dhcpd.conf では21600秒(6時間)と設定したので、クライアントからの要求がない限りは、6時間後の10時22分にIPアドレスは解放される。







TOPに戻る

Sponcerd Link


Search
 
Web サイト内
Rental Server

【レンタルサーバのXbit】 低価格・高品質のビジネスクオリティー。300メガ1,050円~30分で サービススタート可能!


容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。
さくらのレンタルサーバ



当サイトはLinux自宅サーバーの構築を目的としたサイトです。
当サイトに関するご意見、ご要望等は、こちらのメールアドレスよりお願いします。
Beginning | Introduction | Installation | Server |
Security | Tips | Related-Sites
Copyright©2003-2006 KORO All Rights Reserved.
総計:
今日:
昨日: