DHCP |
ネットワーク上のコンピュータに動的にIPを割り振るプログラム |
Port | 67/UDP |
Daemon Program | /usr/sbin/dhcpd |
ダウンロード先 (RPM版) |
http://www.redhat.com/swr/i386/dhcp-2.0pl5-4.i386.html |
(tar.gz版) | http://www.isc.org/products/DHCP/dhcp-prerelease.html |
Install |
(RPMの場合) |
実行方法 | /etc/init.d/dhcpd start |
備考 | 環境 eth0(グローバルIP) eth1(ローカルIP) 今回、ローカル内のみでIP発行をする。 名前解決を行わなければいけないので、DNSは、動いてる事を前提とする。 |
|
|
苦情・訂正・校正など・・ | tomoyo@kmr.homeip.net なんでもくれ・・ |
設定前の確認
|
eth1 Link encap:Ethernet HWaddr 00:90:CC:0D:6D:10 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3067259 errors:0 dropped:0 overruns:0 frame:0 TX packets:7484576 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:2123913013 (2025.5 Mb) TX bytes:4242219301 (4045.6 Mb) Interrupt:5 Base address:0x3000 |
上記のように、MULTICASTとなっていれば、大丈夫だがなってない場合には、カーネルの再構築を行って、MULTICASTが使えるように構築しなおさなければならない。 |
routeの設定
|
route add -host 255.255.255.255 dev eth1 |
上記のコマンドを打って、 |
route all-ones * 255.255.255.255 UH 0 0 0 eth1 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 |
このように表示されていれば成功。クライアントからの要求でDHCPからIPアドレスをもらうには、255.255.255.255の IP パケットを送ることができるようになっている必要がある。 |
しかし毎回、起動するたびに同じ事打ちこむのも面倒なんで、/etc/init.d/dhcpd に書きこむと楽なので以下にその書きこむ部分を書く |
start() { # Start daemons. echo -n $"Starting $prog: " route add -host 255.255.255.255 dev eth1 daemon /usr/sbin/dhcpd ${DHCPDARGS} RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dhcpd return $RETVAL } stop() { |
/etc/dhcpd.conf を編集する
|
|
説明 |
|
server-identifier dns1.kanae.moe; | ・・#1 | DHCP サーバー自身のホスト名または IP アドレス. |
shared-network DHCP-NET { | ・・#2 | 任意の名前を設定しログ参照時に確認しやすくする. |
subnet 192.168.1.0 netmask 255.255.255.0 { | ・・#3 | サブネットブロックの開始く |
option domain-name-servers dns1.kanae.moe; | ・・#4 | DNSサーバアドレスを指定する。','で分けて複数指定する事も出来る。またIPアドレスでの指定も可能。 |
option domain-name "kanae.moe" | ・・#5 | ドメインを指定する |
option netbios-name-servers 192.168.1.1; | ・・#6 | NetBIOSネームサーバのアドレスを指定 |
option netbios-dd-server 192.168.1.1; | ・・#7 | Samba関連 |
option netbios-scope ""; | ・・#8 | WindowsからLinuxマシンのHDDをネットワークコンピュータとして見るための設定らしい・・;; |
option netbios-node-type 8; | ・・#9 | NetBIOSノードタイプ指定 |
option subnet-mask 255.255.255.0; | ・・#10 | サブネットマスクを指定する |
option broadcast-address 192.168.1.255; | ・・#11 | ブロードキャストアドレス指定 この場合255.255.255.255でも可だと思う |
option routers 192.168.1.1; | ・・#12 | デフォルトルートのアドレス |
option ip-forwarding on; | ・・#13 | |
option ntp-servers 192.168.1.1; | ・・#14 | NTP serverのアドレスを指定する。 |
range 192.168.1.2 192.168.1.250; | ・・#15 | リースするIPアドレスの範囲を指定する |
} |
||
クライアントのリースデータベースを作成
|
touch /var/lib/dhcpd.leases |
上記のコマンドを打ちこめば作成される。またサーバを起動した後は、新しいデータべすを作成しない方が良いらしい。 |
起動・・運用 ローカル側内のみだけで、運用するので、/etc/sysconfig/dhcpdの中身をかえてやる必要がある。 # Command line options here |
注意点
ファイヤフォールの内側で、IPアドレスを発行してもらうには、67/UDPのデータを通してやる必要がある。 |