|  Linux 
            Tips | 
        
 
          
  | 
 
            
 DHCPサーバを立てるには 
北浦訓行 
              2004/1/8 
 | 
      
 LinuxでDHCPサーバを立てるには、まず設定ファイル(dhcpd.conf)を用意する必要がある。dhcpd.confは/etcディレクトリに置かれるが、初めてDHCPサーバ機能を使う場合は、一から作成する必要がある。
 Red Hat LinuxやTurbolinux、Vine Linuxの場合、dhcpd.conf.sampleというサンプルファイルが用意されているので、そのファイルの場所をlocateコマンドなどで探して、/etcにdhcpd.confという名前でコピーする。Red Hat Linux 9の場合、以下のようになる。
# cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf | 
 /etc/dhcpd.confをテキストエディタで開いて、適切な設定を行う。設定内容は環境によって異なるが、以下のような設定が必要になるだろう。
ddns-update-style interim; 
ignore client-updates; 
 
subnet 192.168.0.0 netmask 255.255.255.0 { 
 
        option routers                  192.168.0.1; ←デフォルトゲートウェイ 
        option subnet-mask              255.255.255.0; ←ネットマスク 
 
        option domain-name              "example.jp"; ←ドメイン名 
        option domain-name-servers      192.168.1.1; ←DNSサーバ 
 
        option time-offset              -18000; # Eastern Standard Time 
 
        range dynamic-bootp 192.168.0.128 192.168.0.255; ←割り当てるIPアドレスの範囲 
        default-lease-time 21600; ←クライアントが期限を求めない場合の割り当て期間(秒) 
        max-lease-time 43200; ←クライアントが期限を求めた場合の最大割り当て期間(秒) 
 
} | 
 次に、dhcpd.leasesというファイルが存在しない場合は、このファイルを作成する(Red Hat Linux、Turbolinux、Vine Linuxではいずれも作成されている)。内容は空でいい。このファイルには、リースされたIPアドレスの情報が保存される。Red Hat LinuxとVine Linuxの場合は/var/lib/dhcpディレクトリに、Turbolinuxの場合は/var/dhcpディレクトリに作成する。
# touch /var/lib/dhcpd/dhcpd.leases | 
 ここまでの作業が終わったら、試しにdhcpdを起動してみる。-fおよび-dオプションを付けて、コマンドラインからdhcpdコマンドを実行すると、dhcpdがデーモンではなくフォアグランドプロセスとして実行される。また、ログが標準出力に出力されるため、dhcpd.confの設定が間違っていた場合は、画面上にエラーメッセージが表示される。
# dhcpd -f -d 
Internet Software Consortium DHCP Server V3.0pl1 
Copyright 1995-2001 Internet Software Consortium. 
All rights reserved. 
For info, please visit http://www.isc.org/products/DHCP 
Address range 192.168.1.128 to 192.168.1.255 not on net 192.168.0.0/255.255.255.0! ←貸し出すIPアドレスの指定が間違っている | 
 設定に問題がないようであれば、[Ctrl]+[C]キーを押してdhcpdを終了させ、デーモンとして起動する。
 dhcpd実行中に/etc/dhcpd.confを変更した場合は、必ずdhcpdを再起動しなければならない。
 システムを再起動してもdhcpdを実行するなら、以下のようにする。
 なお、システムに複数のNICがある場合は、/etc/sysconfig/dhcpdで以下のようにインターフェイス名を指定する必要がある。
# Command line options here 
DHCPDARGS=eth1 | 
|  Linux Squareフォーラム Linux Tipsカテゴリ別インデックス | 
 
	
		Linux & OSS 記事ランキング
		
		
			本日
			月間