1.概要
aqua にDHCPサーバを構築して、各講義室でDHCPを使用できるようにします。
この作業の前に、IPマスカレードが正常に動くことを確認してください。 正常に動いていることが確認できたら以下の作業に移ります。
aqua にDHCPサーバを構築して、各講義室でDHCPを使用できるようにします。
この作業の前に、IPマスカレードが正常に動くことを確認してください。 正常に動いていることが確認できたら以下の作業に移ります。
まずはDHCPパッケージをインストールしてください。
# apt-get install dhcp
(もちろん dselect など他の方法でインストールしてもらっても構いませんが)
IPマスカレードでも行ったように、設定ファイルを編集することで DHCPを使用できるようにします。
まず、/etc/dhcpd.conf の編集を行いますが、その前に、オリジナルの ファイルのバックアップとして /etc/dhcpd.conf.bk をとっておきましょう。
# cp /etc/dhcpd.conf /etc/dhcpd.conf.bk
バックアップを取り終わったら、いったん /etc/dhcpd.conf ファイルの中身を 全部消して、以下のものを書き込んでください。
default-lease-time 6000; max-lease-time 72000; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option domain-name-servers 133.87.45.70, 133.87.45.66, 133.87.1.11; option domain-name "ep.sci.hokudai.ac.jp"; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.130 192.168.0.254; }
各行の意味は次の通りです。
DHCP では動的にIPアドレスを振ることが出来ますが、 特定の PC に固定のIPアドレスを割り振ることも可能です。 情報実験機(電脳大飯店)などには固定のIPアドレスを割り振ります。 なお、PC を特定するのには MACアドレス(ネットワークカード固有の番号) を使用します。
なお、ここに書いてあることはあくまで参考なので、 この段階で固定プライベートアドレスを設定する必要はありません。
例:
「00:90:cc:a2:f4:e8
」という MACアドレスを持つ
情報実験機13番 に IPアドレス「192.168.0.113
」
を割り振るためには以下の行を /etc/dhcpd.conf に書き加えます。
host joho13 { hardware ethernet 00:90:cc:a2:f4:e8; fixed-address 192.168.0.113; }
書式は
host ホスト名 { hardware ethernet MACアドレス ; fixed-address IPアドレス ; }
となっています。これは PC 一つ一つを個々に設定する必要があります。 また、動的アドレスと重ならないようにIPアドレスを設定してください。 (「ホスト名」に関しては、便宜上分かりやすいものをつけているだけで、 何を書き込んでも動作はします。)
一度dhcpd(DHCPサーバとして機能するためのdaemon) を起動した後に 設定変更をするためには /etc/dhcpd.conf を書き換える必要があります。 しかし、書き換えただけでは設定は反映されません。 反映するためには dhcpd を再起動する必要があります。 再起動の方法は こちら を見てください。
/etc/init.d/dhcp の編集を行いますが、こちらもその前にオリジナルのファイルの バックアップを /etc/init.d/dhcp.bkとして取っておきます。
# cp /etc/init.d/dhcp /etc/init.d/dhcp.bk
バックアップを取り終わったら、いったん /etc/init.d/dhcp ファイルの中身を 全部消して、以下のものを書き込んでください。
#!/bin/sh # Start or stop dhcpd daemon test -x /usr/sbin/dhcpd || exit 0 DHCPDPID=/var/run/dhcpd.pid case "$1" in start) start-stop-daemon --start --verbose --pidfile $DHCPDPID \ --exec /usr/sbin/dhcpd -- -cf /etc/dhcpd.conf eth1 ;; stop) start-stop-daemon --stop --verbose --pidfile $DHCPDPID ;; restart) start-stop-daemon --stop --verbose --pidfile $DHCPDPID sleep 2 start-stop-daemon --start --verbose --pidfile $DHCPDPID \ --exec /usr/sbin/dhcpd -- -cf /etc/dhcpd.conf eth1 ;; *) echo "Usage: /etc/init.d/dhcp {start|stop|restart}" exit 1 esac exit 0
先ほど編集した、/etc/init.d/dhcpの各行の意味は次の通りです。 (空白行は飛ばして数えています)
/usr/sbin/dhcpd
というファイルが無ければ、
この段階で実行中止
DHCPDPID
という変数に/var/run/dhcp.pid
の中身を引用する。
(/var/run/dhcp.pid
にはdhcpのdaemonの
プロセス番号が書き込まれている)
DHCPDPID
のプロセスがあることを確認し、
詳しい参考情報を出力する。(→次の行へ続く)
/usr/sbin/dhcpd
を実行する。
なお、実行の際には、設定ファイルの/etc/dhcpd.conf
を読み込む。また、
内部ネット用のネットワークカード(eth1)でdhcpdを動かす。
DHCPDPID
のプロセスを停止させる。
詳細な参考情報も出力される。
Usage: /etc/init.d/dhcp {start|stop|restart}
」と出力
なお、このファイルに書いてある内容の詳細については start-stop-daemon や dhcpd の man を見るか、 関連書籍を参考にするなどして下さい。
$ man start-stop-daemon![]()
$ man dhcpd
今編集した /etc/init.d/dhcp は実行ファイルです。 これは、dhcpdというDHCPサーバとしての役割を果たす daemon を動かすのに使用するファイルなので、 パーミッションを調べて実行権限があるかどうか調べてください。 もしなければ、実行権限を付けてください。 また、/etc/init.d/dhcp.bk はバックアップファイルなので このファイルの実行権限ははずしておいてください。
# chmod 755 /etc/init.d/dhcp
# chmod 644 /etc/init.d/dhcp.bk
/etc/network/interfaces に次の一行を追加してください
route add -host 255.255.255.255 dev eth1
設定した dhcp を起動・停止させる方法はいくつかありますが、 まずは、先ほどの実行ファイルを使わずにそれを行ってみます。
まず、起動させるには以下のコマンドを入力します。 すると、その下の文字群が出てきて、dhcpdが起動されます。
# /usr/sbin/dhcpd -cf /etc/dhcpd.conf eth1 |
後ろの「-cf /etc/dhcpd.conf
」は設定ファイルを参照
することを指定しています。
また「eth1
」は、このDHCPサーバの機能を内部ネット用の
ネットワークカード(eth1)で稼動させることを指定しています。
停止させるには、まずdhcpdのプロセス番号を調べ、そのプロセスを 「kill」コマンドで停止させます。
# ps aux | grep dhcp |
これで、dhcpdは停止されます。
他にも、パソコン自体を再起動してしまう方法もあります。 ただし、少々時間はかかります。
# reboot
こうすると、自動的にdhcpdは停止、そして再起動されます。
今度は少々賢く、/etc/init.d/dhcp を使用して起動・停止を行ってみます。
まず、起動させるには以下のコマンドを入力します。 すると、その下の文字群が出てきて、dhcpdが起動されます。
# /etc/init.d/dhcp start |
コマンドが何を意味するのかは /etc/init.d/dhcp の解説 を参照してください。 (実際にはさきほどの起動方法と変わらないことをやっています。)
/etc/init.d/dhcp でdhcpd のプロセス番号を自動的に探し出してくれるので 以下のコマンドでdhcpdを停止できます。
# /etc/init.d/dhcp stop |
これで、dhcpdは停止されます。
起動・停止をいっぺんに行うこともできます。
# /etc/init.d/dhcp restart |
こうして、自動的にdhcpdは停止、そして再起動されます。
以上のどれかの方法を用い、dhcpdを起動させてください。 起動したらサーバ側の準備はOKです。次はクライアント側の 設定に移ります。
Debian GNU/Linux でDHCPを使用する際には、 クライアント側もそれに応じたパッケージをインストールする必要があります。
DHCPのクライアントになるにはクライアント側もそのための パッケージ dhcpcd をインストールする必要があります。
# apt-get install dhcpcd
このパッケージはインストールと同時に設定もしてくれるはずなので、 インストールが終了したらケーブルを接続して再起動してください。 (ケーブルの接続はIPマスカレードのときと同じで構いません。)
再起動を確認したらちゃんとDHCPで動いているのか確認してみましょう。
$ /sbin/ifconfig -a
こうすると、
eth0 Link encap:Ethernet HWaddr 00:90:CC:A2:F7:BA inet addr:192.168.0.130 Bcast:192.168.0.255 Mask:255.255.255.0 ・・・・・ |
上のような表示がずらずら出てくると思います。 この中で問題なのが「 inet addr 」です。これはそのパソコンに割り振られた IPアドレスです。これが「 192.168.0.130 〜 192.168.0.254」のいずれかとなっていればOKです。 ルータ側の /etc/dhcpd.conf の編集 で 「192.168.0.130から192.168.0.254までのIPアドレスを貸し出す 」としましたよね?
以上でDHCPの設定は終了です。
Windows では Linux のように新たにインストールする必要はありません。 こちらの設定はIPマスカレードでおこなったのと同じ場所を書き換える事になります。
こんどはDHCP用に以下のように設定値を書き換えてください。
設定タグ | 詳細項目 | 答え方 |
---|---|---|
IP アドレス | IP アドレス | 「IPアドレスを自動的に取得」にチェックをつけてください。 |
ネットマスク | ||
ゲートウェイ | ゲートウェイ | 不要です。 |
DNS設定 | ホスト名 | 「DNSを使わない」にチェックをつけてください。 |
ドメイン名 | ||
DNS サーバ |
こちらでもDHCPでネットワークに接続できているのか、確認します。
![]() |
「ファイル名を指定して実行」を選び, winipcfg と打鍵してください。 |
IPアドレスの欄の所に「 192.168.0.130 〜 192.168.0.254」 のいずれかであれば、DHCPでの接続ができています。
以上でDHCPの設定は終了です。
最終更新日: 2001/09/02(森川靖大) | Copyright © 2001 EPnetFan |