line-01
line_glay
>
 Welcome!  page:server/dhcp
 odic.ne.jp library DHCP
 by:大阪演劇情報センター+未知座小劇場 更新日:
 home:topへ  server library:top へ
top
line_glay

DHCP

DHCP(Dynamic Host Configuration Protocol)はネットワークに属するPCに動的にホスト情報を割り当てるためのプロトコルです。
実はこれだけで通り過ぎたく、事実通り過ぎていました。こんななか過日、LinuxディストリビューションをTurbolinux S7からTurbolinux W8に移行した際、DHCPの設定で少々戸惑ったものの、なんなく切りぬけることができたので、メモをとること無くそのままにしておきました。
昨日、再びこの状況に遭遇し、一日困惑する始末です。寄る歳にまして、記憶力がどうしようもありません。
結論からいえば、/etc/rc.d/init.d/dhcpスクリプトファイルを一文字書き換えるだけでしたのですが、少々回り道をして、一日潰したというわけです。
そんなわけで、経過とメモを防忘録としました。

Turbolinux S7の/etc/dhcp.confは以下のものでした。

##	dhcpd.conf  --  Dekiru Linux, July 1999
##
server-identifier server;

    subnet 202.224.xxx.xxx netmask 255.255.255.xxx {
    }

shared-network DHCP {
    option subnet-mask 255.255.255.0;

    subnet 192.168.x.x netmask 255.255.255.0 {
	range 192.168.x.xxx 192.168.x.xxx;
	option broadcast-address 192.168.x.255;
	option routers 192.168.x.x;
	option domain-name "odic.ne.jp";
	option domain-name-servers 202.224.xxx.xxx;
	option netbios-name-servers 202.224.xxx.xxx;
	option netbios-node-type 8;
	default-lease-time 21600;
	max-lease-time 43200;
    }
  host tako	{
	hardware ethernet xx:xx:47:84:fe:xx;
	fixed-address	192.168.x.xxx;
	}
}


これをTurbolinux W8の/etc/dhcp.confでは以下に変更しました。

##	dhcpd.conf  --  Dekiru Linux, July 1999
##
server-identifier server;

    subnet 202.224.xxx.xxx netmask 255.255.255.xxx {
    }

    ddns-update-style none;
    deny bootp;

shared-network DHCP-ODB {
    option subnet-mask 255.255.255.0;

    subnet 192.168.x.x netmask 255.255.255.0 {
	range 192.168.x.xxx 192.168.x.xxx;
	option broadcast-address 192.168.x.255;
	option routers 192.168.x.x;
	option domain-name "odic.ne.jp";
	option domain-name-servers 202.224.xxx.xxx;
	option netbios-name-servers 202.224.xxx.xxx;
	option netbios-node-type 8;
	default-lease-time 21600;
	max-lease-time 43200;
    }
  host tako	{
	hardware ethernet xx:xx:47:84:fe:xx;
	fixed-address	192.168.x.xxx;
	}

}


いくら/etc/init.d/dhcp restart してもNGであったDHCPサーバが、上記の赤色部分の追記で再起動するようになりました。
これらバージョンアップでの追記は、サンプルファイルやURLを参考にしました。

さて、DHCPサーバは稼働ということになった、のですが/var/log/messageを見ると次のようにログが出ました。

Apr 29 07:13:45 ns dhcpd: Listening on LPF/eth0/xx:d0:xx:3c:xx:xx/DHCP-ODB
Apr 29 07:13:45 ns dhcpd: Sending on   LPF/eth0/eth0/xx:d0:xx:3c:xx:xx/DHCP-ODB
Apr 29 07:13:45 ns dhcpd: Sending on   Socket/fallback/fallback-net
Apr 29 07:13:45 ns dhcpd: dhcpd startup succeeded

ログから判るように「eth0」のNICがDHCPサービスの対象になっています。筆者の環境では「eth0」がインターネット側、「eth1」がLAN側という設定でIPマスカレードを行っているので、LAN側からはDHCPサービスを利用できません。
試しに/etc/sysconfig/networkファイルに、以下の一行を追加してみました。

DHCPDEV = "eth1"

結果は同じでした。
この段階での対処法は (1) --「eth0」と「eth1」の設定を入れ換える (2) -- DHCPサービスの対象を「eth1」にする、という二点です。当然(2)が楽なので迷わずその作業を選択です。が、解決策を見つけることがだきず、一日を費し、結局(1)でお茶を濁したのでした。
過日どうだったかと思い出してみると、(2)で解決したのでした。この作業が以下です。

/etc/rc.d/init.d/dhcpスクリプトファイルを眺めながら、次の箇所をさわってみました。

if [ -z "$DHCPDDEV" ] ; then
        INTF=eth0

この他の箇所も試してみたのですが、この部位はINTFにeth0を代入すると考えて、

if [ -z "$DHCPDDEV" ] ; then
        INTF=eth1

としました。
(2003.04.29)


補記

《 ■ 参照URL   ※サイト内参照ページ    引用、参照書籍 ■ 》
http://menter.rightstuff.co.jp/~yasu/DHCP/
DHCP and Dynamic DNS構築
『ステップ式サーバ構築入門 はじめてのファイアウォール』 著/内田法道 刊/技術評論社

このページの作成にあたり、上記に掲げたURLや書籍を参考にしました。謝意を表します。具体的な引用については明記しました。内容の間違いや、誤字は筆者の責任であり、関係する参照先の責任ではありません。

top     home:top     server library:top     PHP PostgreSQL MySQL サンプルスクリプト     SiteMap     Open SiteMap