|
|
NTP SSH DHCPサーバーの構築
|
NTPサーバーについてntpdの設定(WBEL3,CentOS3)ntpdの設定(WBEL4,CentOS4)ntpdの設定(CentOS5)ntpdのコントロールntpdの動作チェックSSHサーバーについてsshdの設定(WBEL3,CentOS3)sshdの設定(WBEL4,CentOS4)sshdの設定(CentOS5)sshdのコントロールsshdの動作チェックポートフォワーディングの設定DHCPサーバーについてDHCPのインストールと設定DHCPのコントロールDHCPの動作チェック |
DHCPサーバーのインストールこの コンテンツ に従って普通に WBEL や CentOS を インストール すると、 構築中のLinuxサーバー には DHCPサーバー アプリケーション はインストールされていないはずです。 そこでまずDHCPをインストールします。 WBELやCentOSに標準でインストールされる DHCP は、インストール CD にも収録されていますから、これを利用してインストールを行うこともできます。
しかし既に
yum
が利用可能になっているのであれば
まず、
サブネット
内の適当な
クライアント機
から
SSHクライアント
で
構築中のLinuxサーバー
に
ログイン
します
それから su コマンド で ユーザーアカウント を "root" に変更し、yumコマンドでDHCPのインストールを行います。
これでDHCPのインストール作業は終了です。
|
|||||||||
DHCPの構築に必要なファイルyum や WBEL 及び CentOS の標準的な方法で 構築中のLinuxサーバー に インストール された DHCP とその設定に必要なファイルを以下に示します。
DHCPの必要ファイル一覧 DHCPの本体プログラムは"/usr/sbin/dhcpd"ですが、これを直接呼び出すことはまずありません。 実際にはこの"/usr/sbin/dhcpd"を用いて、起動や終了を容易にコントロールできるように記述された スクリプト である "/etc/rc.d/init.d/dhcpd" を用います。 また"/etc/rc.d/init.d/"の シンボリックリンク が"/etc/init.d/"になっていますので、スクリプトは "/etc/init.d/dhcpd" でも呼び出すことができます。 例えば、 |
||||||||||
"/etc/rc.d/init.d/"
には
パス
が通っていません
から、パスを省略して実行することはできません。
|
"/etc/init.d/dhcpd start" →DHCPの起動 "/etc/init.d/dhcpd stop" →DHCPの停止 という使い方になります。 DHCPの設定ファイルは "/etc/dhcpd.conf" です。 DHCPはほとんどの動作についてこの"/etc/dhcpd.conf"の内容を参照しますから、設定に関して書き換えが必要なファイルはこの"/etc/dhcpd.conf"だけだと思ってよいでしょう。
またDHCPは、
クライアント
に割り当てた
ノード
の情報を
"/var/lib/dhcp/dhcpd.leases"
という
テキスト
ファイルに記録しますので、このファイルの内容を参照することで
IPアドレス
の割り当て状況を確認することができるようになっています
|
|||||||||
"/etc/dhcpd.conf"の編集WBEL3 、 CentOS3 、WBEL4、CentOS4では、 DHCP の設定ファイル "/etc/dhcpd.conf" は デフォルト では存在しません。 CentOS5の場合は予め "/etc/dhcpd.conf" が準備されていますがその内容は、
と、ただの注釈文になっています。 |
||||||||||
| "x.x.x" の部分はDHCPのバージョン番号になっているはずです。 |
そこで初めてDHCPを設定するときはそのテンプレートファイルである "/usr/share/doc/dhcp-x.x.x/dhcpd.conf.sample" をコピーして "/etc/dhcpd.conf" 作成する必要があります。 |
|||||||||
|
|
まず、
サブネット
内の適当な
クライアント機
から
SSHクライアント
で
構築中のLinuxサーバー
に
ログイン
します
それから su コマンド で ユーザーアカウント を "root" に変更し、 cp コマンドで設定ファイルを作成します。 CentOS5ではコピー先に同名のファイル "/etc/dhcpd.conf" が存在するため、上書きの確認メッセージが出ますから y → Enter でコピーを続行します。
その後、
nano
エディタで
"/etc/dhcpd.conf"
を開きます
↓
nanoで"/etc/dhcpd.conf"を開く "/etc/dhcpd.conf" は、DHCPが動作中でも自由に書き換えることができます。 ただし、 WBEL や CentOS の サーバー アプリケーション は通常、設定ファイルを保存しただけでは設定は反映されません。もちろんDHCPも例外ではありません。 サーバーアプリケーションの設定ファイルは、通常サーバーアプリケーションの起動時に参照されて読み込まれますから、設定ファイルの保存後にサーバーアプリケーションの再起動を行うか、設定ファイルの再読み込みのコマンドを実行しなければ、設定ファイルの修正は有効になりませんので注意してください。 またDHCPは クライアント からの ノード の割り当ての要請がなければ具体的な動作しません。 そのため、 サーバー 側の設定を変更し、設定を反映させてもすぐにはクライアントのノード情報は変更されません。 具体的にはクライアントの接続をやり直すか、ノード情報のリース期限が切れて再度ノードの割り当てが実行されるまではクライアント側の情報は変更になりませんので注意してください。
DHCPの再起動、設定ファイルの再読み込みについては、
|
|||||||||
"/etc/dhcpd.conf"の編集以下に編集前の"/etc/dhcpd.conf"の内容を示します。
サンプルの "/etc/dhcpd.conf" はこのように非常に簡単な内容になっていますが、実際には MACアドレス などを基準にして クライアント をグループ化して管理するなど、非常に柔軟で複雑な設定が可能です。 |
||||||||||
|
|
ただし今回はあくまで自宅内のネットワークを管理するためのDHCPサーバーの構築ですから、これに必要な部分だけに絞って説明します。 なお、 "#" で始まる行はコメント行として無視されますので適宜注釈文などの挿入に利用してください。 1. 「ノード情報を割り当てるネットワークの設定。」この設定は以後に記述する設定の基本情報を決めるもので、平たく言えば、 DHCPサーバー の管轄の設定になります。 現在使用中の ネットワークアドレス と サブネットマスク値 で単純に、
と書き換えてください。 最後の "{" は設定ファイルの最後の "}" とペアになっていますので削除しないようにしてください。 2. 「ゲートウェイアドレスの設定。」クライアントに設定する ゲートウェイアドレス を設定します。 ルーター に割り当てている IPアドレス と サブネットマスク値 で、
と書き換えてください。 3. 「クライアントに設定するドメイン名の設定。」DHCPサーバー から ノード 情報を割り当てる クライアント に対して ドメイン名 を割り当てる設定です。 この設定により、 ホスト名 が設定されているクライアントに対して一括してドメイン名を付加し、 FQDN を設定することができるようになります。 ただしこの設定は 「クライアントの識別情報をFQDNで行う。」 という運用スタイルをとる場合にしか意味を持ちません。 例えば通常 LAN 内では、 WindowsOS の標準 プロトコル である NetBIOS over TCP/IP や、 MacintoshOS のAppleTalk over TCP/IPなどでファイル共有を行っているはずですが、これらは識別情報にFQDNを使うことはありません。 従って通常ここでの設定はほとんど意味を持たないことになります。 実際のところ、DHCPでノード情報を割り当てるクライアント機にサーバー機能を持たせ、それを 公開サーバー として稼動させるような 特殊な 場合に限り意味を持つ設定といえます。 従って通常は、
のようにコメントアウトして設定を無効にするか、
のように "option domain-name" にだけ自分で運用しているドメイン名を設定します。 "option nis-domain" のほうは NIS に関する設定ですが、これはまず利用することはないのでコメントアウトしてください。
4. 「クライアントに利用させるDNSサーバーの設定。」DHCPサーバー から ノード 情報を与えられた クライアント は、ここで設定された DNSサーバー で 名前解決 を行うようになります。 ただし、クライアントの多くはDHCPサーバーの設定に係わらず、独自に参照するDNSサーバーを設定できます。もちろんその場合にはクライアント個々の設定が優先されますから、この部分設定はクライアントに対して絶対的な拘束力をもっているわけではないことを覚えておいてください。 もしも 構築中のLinuxサーバー に自前のDNSサーバーを設置しない場合は、回線を契約している ISP 指定のDNSサーバーの IPアドレス を、
のように "," で区切って優先順に記述します。
また、
ルーター
の
「DNSリカーシブ機能」
と設定します。 そして、 構築中のLinuxサーバー に自前のDNSサーバーを構築し、これを参照させる場合には
5. DHCPで割り当てるIPアドレスの予約範囲の設定。ここで設定した範囲が DHCPサーバー で割り当てる IPアドレス として予約され、重複しないように クライアント に設定されることになります。この範囲のことを一般に "DHCPスコープ" と呼びます。 例えば、
と設定すると、 "192.168.100.101〜192.168.100.116" の16個のIPアドレスがプールされますから、最大で16台の クライアント をDHCPで賄うことができるようになります。 DHCPスコープの先頭のIPアドレスの記述と末尾のIPアドレスの記述の間は スペース で区切ってください。 もっとも、家庭内の LAN 扱うクライアントの数がそんなに多いはずはありませんから、必要なければもっと範囲を狭くしても構いません。 しかし ネットワーククラス C で構築された一般的なLANでも、合計254ものノードを設定できるわけですから、むしろ余裕をもって範囲を設定しておいたほうが後々面倒がありません。 サーバー機 で構築する DHCPサーバー は ルーター のDHCP機能よりも遥かに性能が良いので、ここで広い範囲を設定してもトラブルが起こることはまずあり得ませんので、安心して大きめに設定範囲を決めてください。 6. デフォルトのノード情報リース時間の設定。DHCPサーバー から クライアント に割り当てられた ノード 情報は、いつまでも有効になるわけではありません。 DHCPサーバーによって設定されたノード情報は一定時間を経過すると一度クリアされ、クライアントが再び サブネット に認識されたときに改めてDHCPサーバーからノードを割り当ててもらうような仕組みになっています。 ここでは、同じノード情報を維持する時間(リース時間)を "秒" で設定します。 デフォルト の設定は、
となっていますから、リース時間は "21600/60/60=6時間" です。 |
|||||||||
| 正確にいうと、リース時間を越えてから初めて通信が途絶えたとき、が更新のタイミングになります。 |
つまり、クライアント機が6時間以上動きっぱなしでも、ノード情報が割り当てられてから6時間後には必ず情報が更新されることになります。 ここで極端に短い時間(例えば数分)を設定するとDHCPサーバーは頻繁に更新作業を行わなければならなくなりますが、接続しているクライアントが数台程度であれば大した負荷にはなりません。 |
|||||||||
|
|
逆に極端に長い時間(例えば数日)を設定すると、一度リースされたノード情報がいつまでも開放されないため、場合によっては割り当てるIPアドレスの数が不足するかもしれません。ただしこの場合でも、接続しているクライアントが数台に限られていれば問題はありません。 実際のところここの部分の設定は、一般に1時間(3600)以上2日間(172800)以下であれば、実用上はあまり大きな差はないと考えてください。 というわけですからここは デフォルトのままでOKです 。 蛇足ですが、例えばパソコン教室のように「台数は多いが接続するパソコンは決まっている。」という環境の場合は、この値を大きめにしてサーバーの負荷を減らしたほうがベターです。 逆に公共ネットワークなどで不特定多数のユーザーが自分のパソコンを持ち込んで接続するような環境では、この値を小さめにして使わなくなったノードを早く開放したほうが効率よく運用できるようになります。 いずれにせよ自宅内の LAN では、あまり真剣に考えるべきパラメータではありません。 7. ノード情報の最大リース時間の設定。一般にはあまり利用されることはありませんが、 DHCP では クライアント 側から、リース時間を指定できるものがあります。 ただ、非常識に長いリース時間を設定されては困ることがありますので、そういう場合でもこの設定でサーバー側で上限を定めることができます。 通常は上で設定した "default-lease-time" の2倍程度の値を設定しておけばOKですから、 "default-lease-time" をデフォルトのまま使用する場合にはここも、
とデフォルトでOKです。 8. 特定のMACアドレスへの固定のIPアドレスの設定。DHCPサーバー は、管理可能な サブネット 内の NIC に対して特定の ノード 情報を設定することができます。 設定すべきNICを特定するには、通常DHCPサーバーはそのNICの MACアドレス を利用します。 この仕組みを利用すると、例えば自分のノートパソコンを常に DHCP の クライアント に設定したままで、 「外出先では接続先のDHCPサーバーに応じてノード情報をもらい、自宅の LAN に接続した場合は常に同じIPアドレス設定させる。」 という特殊な運用が可能になります。 |
|||||||||
| ポートフォワーディングを設定するには、設定対象の ホスト の プライベートIPアドレス が固定されている必要があるからですね。 |
これはそのノートパソコンを自宅の LAN 内に接続した場合に限って ポートフォワーディング を設定したいような場合に便利な設定です。 例えばネットワーク対戦ゲームを楽しむ場合や、特定の業者と提携して映像のストリーミング再生のサービスを受ける場合などに有効な設定といえます。 しかしながらこの設定は「常時稼動の自宅サーバーの構築を支援する」というこの コンテンツ の主旨とは少し離れてしまいますのでここでの説明は割愛します。 興味のある方はインターネット上の情報などを参考にチャレンジしてみてください。 というわけで、通常は該当する設定部分を、
のようにすべてコメントアウトしてください。
|
|
|
DHCPサーバーについて
<<Previous
|
Next>>
DHCPのコントロール
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |