オープンソース

サーバー構築のデージーネットTOP > OSS情報 > デージーネットのOSS > DHCPadmin

next up previous contents
Next: 5. 使い方 Up: DHCPadmin Previous: 3. 計画


4. 設定

4.1 postLDAPadminのインストール

DHCPadminを使用するためには、postLDAPadminのインストールが必要となります。
postLDAPadminは、postLDAPadminプロジェクトのダウンロードページから入手することが できます。

http://osdn.jp/projects/postldapadmin/

以下のファイルをダウンロードしてください。

postLDAPadmin_frame-VERSION.tar.gz
postLDAPadmin_admin-VERSION.tar.gz
postLDAPadmin_lib-VERSION.tar.gz

postLDAPadminのインストール実行例

# tar xzf postLDAPadmin_frame-VERSION.tar.gz -C /usr/local
# tar xzf postLDAPadmin_admin-VERSION.tar.gz -C /usr/local/postldapadmin/htdocs/admin
# tar xzf postLDAPadmin_lib-VERSION.tar.gz -C /usr/local/postldapadmin/lib

4.2 postLDAPadminの設定

postLDAPadminの設定ファイルを作成します。

4.2.1 web.confの作成

web.confの作成例

# cd /usr/local/postldapadmin/etc
# mkdir [管理する仮想ドメイン]
# chown apache:apache [管理する仮想ドメイン]
# cp web.conf.sample [管理する仮想ドメイン]/web.conf
# chown apache:apache [管理する仮想ドメイン]/web.conf

※ web.confの設定内容は4.3.5節に記述されています。

4.2.1.1 tab.confの作成

次のディレクトリにtab.confのサンプルが用意されています。

[展開ディレクトリ]/postldapadmin/etc/tab.conf.sample

以下のようにコピーしてください。

# cp tab.conf.sample [管理する仮想ドメイン]/tab.conf

※ tab.confの設定内容は4.3.6節に記述されています。

4.2.1.2 admin.keyの作成

admin.keyの作成例

# cat /dev/urandom | base64 | head -n1 | cut -c1-8 > [管理する仮想ドメイン]/admin.key

4.2.1.3 msg_fileの作成

次のディレクトリにmsg_fileのサンプルが用意されています。

[展開ディレクトリ]/postldapadmin/etc/msg_file.sample

以下のようにコピーしてください。

# cp msg_file.sample [管理する仮想ドメイン]/msg_file

※ msg_fileの設定内容は4.3.7節に記述されています。

4.3 DHCPサーバの基本設定

DHCPサーバの設定のために、dhcpd.conf及びdhcpd6.confを/etc/dhcp/ディレクトリ配下に作成し、DHCPサーバ全体に影響するパラメータの設定を行います。
この時点で、それ以外のパラメータを設定する必要はありません。
IPv4、IPv6の一方だけを利用する場合でも、両方の設定ファイルが必要になります。
IPv4のDHCPクライアントがDHCPサーバを判別するために、dhcpd.confに少なくとも以下の2つの設定が必要です。

  • DHCPサーバのIPアドレス
  • DDNSの更新方式の設定
※注意
subnetオプションの設定を手動で行うと、DHCPadminは正常に動作しません。
次はDHCPサーバのIPアドレスを、192.168.0.1に設定した場合の例です。

dhcpd.conf設定例
server-identifier 192.168.0.1;
ddns-update-style interim;

IPv6のDHCPサーバのために、dhcpd6.confに以下を設定します。

  • DDNSの更新方式の設定
※注意
subnetオプションの設定を手動で行うと、DHCPadminは正常に動作しません。

dhcpd6.conf設定例
ddns-update-style interim;

4.4 DHCPadminのインストール

DHCPadminを使用するために、インストール作業を行う必要があります。
以下の設定を行います。

  • DHCPadminの入手と展開
  • dhcpd.confとdhcpd6.confの移動とシンボリックリンクの作成
  • ディレクトリ権限の変更
  • ファイルの権限変更
  • web.confの編集
  • tab.confの編集
  • msg_fileの編集

4.4.1 DHCPadminの入手と展開

DHCPadminのインストールを行います。
まずDHCPadminアーカイブを、下記のDHCPadminプロジェクトのダウンロードページから入手します。
http://sourceforge.jp/projects/dhcpadmin/

次に、ダウンロードしたDHCPadminアーカイブを、postLDAPadminが展開されているディレクトリへ展開します。
展開されるディレクトリはWEBサーバから参照可能である必要があります。 次はpostLDAPadminが/usr/local/配下へ展開されている場合の例です。


展開例
# tar xzvf DHCPadmin-[バージョン].tar.gz -C /usr/local/postldapadmin

上記のように展開した場合、展開後のディレクトリ構成は、以下の表のようになります。


表: 展開後のディレクトリ構成例
/usr/local/postldapadmin/htdocs/admin/dhcpadmin/ Webインタフェースに関するファイルを格納するディレクトリ
/usr/local/postldapadmin/etc 設定ファイルを格納するディレクトリ
/usr/local/postldapadmin/lib ライブラリを格納するディレクトリ
/usr/local/postldapadmin/tmpl htmlテンプレートを格納するディレクトリ
/usr/local/postldapadmin/tmpl/selinux/dhcpadmin DHCPadminのSELinuxポリシールール(RHEL7以前用)
/usr/local/postldapadmin/tmpl/selinux/dhcpadmin-rhel7 DHCPadminのSELinuxポリシールール(RHEL7用)

4.4.2 dhcpd.confとdhcpd6.confの移動

DHCPadminのデフォルト設定では、DHCPサーバの設定を行う際に、「postldapadmin/etc/dhcp/」ディレクトリ配下にあるDHCPサーバ設定ファイル(dhcpd.conf, dhcpd6.conf)を編集します。
そのため、もとあるDHCPサーバ設定ファイルを移動する必要があります。
次はDHCPサーバ設定ファイルを/usr/local/postLDAPadmin/etc/dhcp/配下に移動する例です。


# mkdir /usr/local/postldapadmin/etc/dhcp/
# mv /etc/dhcp/dhcpd.conf /usr/local/postldapadmin/etc/dhcp/
# mv /etc/dhcp/dhcpd6.conf /usr/local/postldapadmin/etc/dhcp/

DHCPサーバ設定ファイルを移動した場合、DHCPサーバがDHCPサーバ設定ファイルを参照できなくなります。 そのため、DHCPサーバがDHCPサーバ設定ファイルを参照できるように、シンボリックリンクを作成する必要があります。
次は/etc/配下にシンボリックリンクを作成する例です。


# ln -s /usr/local/postldapadmin/etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf
# ln -s /usr/local/postldapadmin/etc/dhcp/dhcpd6.conf /etc/dhcp/dhcpd6.conf

4.4.3 ディレクトリの作成

DHCPadminはセッションのためのロックファイルをWebサーバから作成します。
そのため、ロックファイルを格納するディレクトリをvarディレクトリ配下にドメイン名で作成する必要があります。


ディレクトリ作成例
# mkdir -p /usr/local/postldapadmin/var/[管理する仮想ドメイン]

また、Webサーバからロックファイルを作成するために、ディレクトリの権限を変更する必要があります。
次はWebサーバの実行ユーザが「apache」である場合の例です。


ディレクトリ権限変更例
# chown apache:apache /usr/local/postldapadmin/var/[管理する仮想ドメイン]/

4.4.4 ディレクトリとファイルの権限変更

DHCPadminはWebサーバからファイルの編集を行います。
そのため、編集するファイルが格納されているディレクトリの権限を変更する必要があります。

4.4.4.1 ディレクトリの権限変更

DHCPサーバ設定ファイルの含まれるディレクトリを、Webサーバの実行ユーザの権限に変更する必要があります。
次はWebサーバの実行ユーザが「apache」である場合の例です。


ディレクトリ権限変更例
# chown apache:apache /usr/local/postldapadmin/etc/dhcp/

4.4.4.2 ファイルの権限変更

「dhcpd.conf」ファイルと「dhcpd6.conf」を、Webサーバから書き換えが行えるように権限を変更する必要があります。
次はWebサーバの実行ユーザが「apache」である場合の例です。


ファイル権限変更例
# chown apache:apache /usr/local/postldapadmin/etc/dhcp/dhcpd*.conf

4.4.4.3 SELinuxのポリシー作成

使用しているシステムでSELinuxが有効(Enforce)になっている場合、以下の理由でDHCPadminが動作しません。

・httpd_tドメインからDHCPサーバを起動できないため
・httpd_tドメインからDHCPadmin関連ファイルの参照ができないため
・httpd_tドメインからDHCPサーバの設定ファイルの参照ができないため

上記理由のため、SELinuxが有効(Enforce)な環境では、SELinuxポリシーを作成してインストールする必要があります。
なおSELinuxポリシーの作成前に、以下のソフトウェアをインストールしてください。

・selinux-policy
・selinux-policy-devel (RHEL7以前の場合不要)
・policycoreutils
・policycoreutils-python
・makeコマンド

SELinuxのポリシー作成は以下のように行います。
DHCPadminを展開したディレクトリ配下にSELinuxポリシーが配置してあります。
RHEL7の場合は、systemctlを使うためSELinuxポリシーが異なります。
自身の環境に合わせて該当箇所に移動します。

[RHEL7以前の場合]

$ cd /usr/local/postldapadmin/tmpl/selinux/dhcpadmin

[RHEL7の場合]

$ cd /usr/local/postldapadmin/tmpl/selinux/dhcpadmin-rhel7

以下のファイルに記載されたパスをインストールディレクトリに合わせて変更してください。

$ vi dhcpadmin.fc
/usr/local/postldapadmin(/.*)?                        system_u:object_r:httpd_sys_content_t:s0
/usr/local/postldapadmin/etc/dhcp(/.*)?               system_u:object_r:dhcp_etc_t:s0
/usr/local/postldapadmin/var(/.*)?                    system_u:object_r:httpd_tmp_t:s0

次にSELinuxポリシーをmakeします。

$ make -f /usr/share/selinux/devel/Makefile 
Compiling targeted dhcpadmin module
/usr/bin/checkmodule:  loading policy configuration from tmp/dhcpadmin.tmp
/usr/bin/checkmodule:  policy configuration loaded
/usr/bin/checkmodule:  writing binary representation (version 10) to tmp/dhcpadmin.mod
Creating targeted dhcpadmin.pp policy package
rm tmp/dhcpadmin.mod tmp/dhcpadmin.mod.fc

rootユーザで、作成されたポリシーのインストールを行います。

# semodule -i dhcpadmin.pp

次にファイルコンテキストの再設定を行います。

# restorecon -R /usr/local/postldapadmin

以上でSELinuxポリシーの設定は完了です。

4.4.5 web.confの設定

DHCPadminを動作させるために、postLDAPadminの設定ファイル(web.conf)に設定を追加します。
管理する仮想ドメインのweb.confファイル内に新たに [dhcpadmin] セクションを作成し、設定項目を追加します。
DHCPadmin用の設定項目のサンプルとして、次のファイルが用意されています。
RHEL7の場合、systemctlを使用するためDHCPサービスコマンドの設定が異なります。

[RHEL7以前の場合]
[展開ディレクトリ]/postldapadmin/etc/web.conf.dhcpadmin


web.confの設定例 (RHEL7以前の場合)
 :
[dhcpadmin]
DhcpdConfPath=/usr/local/postldapadmin/etc/dhcp/dhcpd.conf
Dhcpd6ConfPath=/usr/local/postldapadmin/etc/dhcp/dhcpd6.conf
DhcpdLeasesPath=/var/lib/dhcpd/dhcpd.leases
Dhcpd6LeasesPath=/var/lib/dhcpd/dhcpd6.leases
LockTime=600
LeasesListNum=20
DefLeaseTime=21600
DefMaxLeaseTime=43200
DhcpdRestartCom=/usr/bin/sudo /etc/init.d/dhcpd restart
Dhcpd6RestartCom=/usr/bin/sudo /etc/init.d/dhcpd6 restart
DhcpdCheckCom=/usr/bin/sudo /etc/init.d/dhcpd status
Dhcpd6CheckCom=/usr/bin/sudo /etc/init.d/dhcpd6 status
DhcpdConfTestCom=/usr/bin/sudo /etc/init.d/dhcpd configtest
Dhcpd6ConfTestCom=/usr/bin/sudo /etc/init.d/dhcpd6 configtest

[RHEL7の場合]
[展開ディレクトリ]/postldapadmin/etc/web.conf.dhcpadmin-rhel7


web.confの設定例 (RHEL7の場合)
 :
[dhcpadmin]
DhcpdConfPath=/usr/local/postldapadmin/etc/dhcp/dhcpd.conf
Dhcpd6ConfPath=/usr/local/postldapadmin/etc/dhcp/dhcpd6.conf
DhcpdLeasesPath=/var/lib/dhcpd/dhcpd.leases
Dhcpd6LeasesPath=/var/lib/dhcpd/dhcpd6.leases
LockTime=600
LeasesListNum=20
DefDomain=domainname
DefLeaseTime=21600
DefMaxLeaseTime=43200
DhcpdRestartCom=/usr/bin/sudo /usr/bin/systemctl restart dhcpd
Dhcpd6RestartCom=/usr/bin/sudo /usr/bin/systemctl restart dhcpd6
DhcpdCheckCom=/usr/bin/sudo /usr/bin/systemctl status dhcpd
Dhcpd6CheckCom=/usr/bin/sudo /usr/bin/systemctl status dhcpd6
DhcpdConfTestCom=/usr/bin/sudo /usr/sbin/dhcpd -cf /etc/dhcp/dhcpd.conf -t
Dhcpd6ConfTestCom=/usr/bin/sudo /usr/sbin/dhcpd -6 -cf /etc/dhcp/dhcpd6.conf -t

  • IPv4、IPv6の設定項目
    DHCPadminを利用するには、web.confへのIPv4、IPv6の設定項目が両方とも必須になります。どちらかを使用しない場合でも、両方の項目の設定を行ってください。

  • 再起動コマンドの設定(DhcpdRestartCom, Dhcpd6RestartCom)
    DHCPadminは、DHCPサーバの設定の適用を行う際に、DHCPサーバの再起動コマンドを実行します。 そのため、DHCPサービスの再起動コマンドを設定する必要があります。
    再起動コマンドは絶対パスで設定してください。
    ※注意
    DHCPサーバとWebサーバの実行ユーザが異なる場合、sudoの設定が必要になります。
    DHCPadminでは、Webサーバの実行ユーザがDHCPサーバの再起動を行います。そのため、sudoの設定が必要となります。
    次は、Webサーバの実行ユーザが「apache」の場合の設定例です。
    RHEL7の場合、systemctlを使用するためsudoの設定が異なります。


    sudoの設定例 (RHEL7以前の場合)
    apache  ALL=(ALL)       NOPASSWD: /etc/init.d/dhcpd
    apache  ALL=(ALL)       NOPASSWD: /etc/init.d/dhcpd6
    


    sudoの設定例 (RHEL7の場合)
    apache  ALL=(ALL)       NOPASSWD: /usr/bin/systemctl
    apache  ALL=(ALL)       NOPASSWD: /usr/sbin/dhcpd
    

  • チェックコマンド、ステータスコマンドの設定(DhcpdCheckCom, Dhcpd6CheckCom, DhcpdConfTestCom, Dhcpd6ConfTestCom)
    DHCPadminは、DHCPサーバの動作状況を確認したり、dhcpd.confの書式チェックを行うために、DHCPサーバのチェックコマンドを実行します。 そのため、DHCPサービスのチェックコマンドを設定する必要があります。
    チェックコマンドは絶対パスで設定してください。

  • リースファイルの設定(DhcpLeasesPath, Dhcp6LeasesPath)
    DHCPadminは、DHCPサーバがリースしているIPアドレスの検索を行う場合、リースファイルを参照します。
    リースファイルの場所は、Linuxのディストリビューションによって変化するため、DHCPサーバのリースファイルの場所を明示的に設定する必要があります。
    リースファイルの場所は、絶対パスで設定してください。
    設定例は、リースファイルが/var/lib/dhcpd/dhcpd.leases(dhcpd6.leases)の場合の例です。

その他の設定については、詳細設定(web.conf)[*]を参考に設定を行ってください。

4.4.6 タブファイル(tab.conf)の設定

postLDAPadminの管理画面に、DHCPadminの管理ページが表示されるようにタブファイルを編集します。
タブファイル設定項目のサンプルとして次のファイルが用意されています。
[展開ディレクトリ]/postldapadmin/etc/tab.conf.dhcpadmin

管理する仮想ドメインのtab.confに設定項目を追加してください。
もしくは、postLDAPadminの機能を使用せず、DHCPadminの機能のみを利用するのであれば、設定ファイルをサンプルで上書きしてしまっても構いません。

次は設定例です。


管理者用タブファイル(tab.conf)の設定例(追加行)
dhcpadmin/network:ネットワーク設定
dhcpadmin/network/sn:Shared-network管理
dhcpadmin/network/subnet:サブネット管理
dhcpadmin/client:クライアント設定
dhcpadmin/search:貸出情報検索
dhcpadmin/reload:設定適用
dhcpadmin/v6network:IPv6 ネットワーク設定
dhcpadmin/v6network/sn:IPv6 Shared-network管理
dhcpadmin/v6network/subnet:IPv6 サブネット管理
dhcpadmin/v6client:IPv6 クライアント設定
dhcpadmin/v6search:IPv6 貸出情報検索
dhcpadmin/v6reload:IPv6 設定適用

4.4.7 メッセージファイル(msg_file)の設定

DHCPadminの管理画面で表示されるメッセージ群を、postLDAPadminのメッセージファイルに追加します。
DHCPadminのメッセージ設定ファイルとして、次のファイルが用意されています。
[展開ディレクトリ]/postldapadmin/etc/msg_file.dhcpadmin

次はpostLDAPadminが/usr/local/へ展開されている場合の例です。


メッセージファイル設定例
# cat /usr/local/postldapadmin/etc/msg_file.dhcpadmin >> /usr/local/postldapadmin/etc/[管理する仮想ドメイン]/msg_file

4.5 Webサーバの設定

DHCPadminのウェブインタフェースを使用するための設定を行います。

httpd.confの設定例
Alias /postldapadmin/ /usr/local/postldapadmin/htdocs/

SetEnv LOGNAME [管理するドメイン]
SetEnv DOMAIN [管理するドメイン]

<Directory "/usr/local/postldapadmin/htdocs">
    DirectoryIndex index.html index.php
    require all granted
    PHP_value include_path ".:/usr/local/postldapadmin/"
</Directory>

また、DHCPadminだけでなくpostLDAPadminやpostLDAPadminのプラグイン (SyLAS, ILUKA, SaMMAadmin等)の機能も使用する場合は、 URL書き換えの設定が必要になるため、下記のように設定を行います。

Alias /postldapadmin/ /usr/local/postldapadmin/htdocs/

SetEnv LOGNAME [管理するドメイン]
SetEnv DOMAIN [管理するドメイン]

<Directory "/usr/local/postldapadmin/htdocs">
    DirectoryIndex index.php index.php
    require all granted
    PHP_value include_path ".:/usr/local/postldapadmin/"
    RewriteEngine On
    RewriteRule ^admin/logout.php$  /postldapadmin/admin/dhcpadmin_logout.php [L]
</Directory>

4.6 管理者の設定

DHCPadminへのログインは、postLDAPadminにおける管理者アカウントで行います。
詳しくはpostLDAPadminのマニュアルを参照してください。

4.7 DHCPサーバ(IPv4)の起動確認

DHCPadminが正常に動作するか確認するために、DHCPadminインターフェースからDHCPサーバの起動を行います。この節ではIPv4サーバについての設定を行います。
DHCPサーバを起動するためには、少なくともサーバのIPアドレスを含むサブネットを登録する必要があります。

4.7.1 ログイン

DHCPサーバを起動するために必要な設定を行うために、DHCPadminにログインします。 ログインは管理ユーザで行います。 ログインの手順は以下になります。

  1. 以下のURLにアクセスします。
    • http://[ホスト名]/postldapadmin/
  2. アクセスが成功すると、認証画面が表示されるので、以下の項目を入力します。
    • admin
    • パスワード

4.7.2 サブネットの登録

サブネットの登録は以下の手順で行います。
  1. [ネットワーク設定] のタブをクリックします。
  2. サブネット管理のアイコンをクリックします。
  3. サブネット管理画面の入力欄に、サブネットとネットマスクを入力します。
  4. [追加]ボタンをクリックします。サブネットとネットマスクの書式が正しければ、サブネット編集画面が表示されます。
  5. サブネット編集画面で以下の情報を入力します。
    • ルータ
    • ドメイン名
    • 標準リース時間
    • 最大リース時間
    • DNSサーバアドレス
  6. [登録]ボタンをクリックします。
※注意
dhcpd.confには、必ずDHCPサーバのIPアドレスを含むサブネットが必要となります。ここで登録するサブネットはその範囲のものにして下さい。

サブネットの登録が成功すると、サブネット管理画面に、追加したサブネットとネットマスクが表示されます。 サブネットの登録についての詳細は、「サブネットを追加するには」の項目[*]を参考にしてください。

4.7.3 DHCPサーバの起動

以上の設定を行うと、DHCPadminインターフェースからDHCPサーバが起動できます。 DHCPサーバの起動手順は以下になります。
  1. DHCPadminにログインし、[設定適用]タブをクリックします。
  2. 設定適用画面が表示されたら、[再起動]ボタンをクリックします。

[再起動]ボタンをクリックすると、DHCPサーバに設定が適用され、DHCPサーバが起動します。 起動が成功すると、設定適用画面に「起動中」のメッセージが表示されます。 設定適用ついての詳細は、「設定を適用するには」の項目[*]を参考にしてください。

4.8 DHCPサーバ(IPv6)の起動確認

DHCPadminが正常に動作するか確認するために、DHCPadminインターフェースからDHCPv6サーバの起動を行います。この節ではIPv6サーバについての設定を行います。 DHCPv6サーバを起動するためには、少なくともサーバのIPv6アドレスを含むサブネットを登録する必要があります。

4.8.1 ログイン

DHCPv6サーバを起動するために必要な設定を行うために、DHCPadminにログインします。 ログインは管理ユーザで行います。 ログインの手順は以下になります。

  1. 以下のURLにアクセスします。
    • http://[ホスト名]/postldapadmin/
  2. アクセスが成功すると、認証画面が表示されるので、以下の項目を入力します。
    • admin
    • パスワード

4.8.2 IPv6サブネットの登録

サブネットの登録は以下の手順で行います。
  1. [IPv6ネットワーク設定]タブをクリックします。
  2. IPv6サブネット管理のアイコンをクリックします。
  3. IPv6サブネット管理画面の入力欄に、サブネットとプレフィックスを入力します。
  4. [追加]ボタンをクリックします。サブネットとプレフィックスの書式が正しければ、IPv6サブネット編集画面が表示されます。
  5. IPv6サブネット編集画面で以下の情報を入力します。
    • ドメイン名
    • 標準リース時間
    • 最大リース時間
    • DNSサーバアドレス
  6. [登録]ボタンをクリックします。
※注意
dhcpd6.confには、必ずDHCPv6サーバのIPv6アドレスを含むサブネットが必要となります。ここで登録するサブネットはその範囲のものにして下さい。

サブネットの登録が成功すると、IPv6サブネット管理画面に、追加したサブネットとプレフィックスが表示されます。 IPv6サブネットの登録についての詳細は、「サブネットを追加するには(v6)」の項目[*]を参考にしてください。

4.8.3 DHCPv6サーバの起動

以上の設定を行うと、DHCPadminインターフェースからDHCPv6サーバが起動できます。 DHCPv6サーバの起動手順は以下になります。
  1. DHCPadminにログインし、[IPv6設定適用]タブをクリックします。
  2. IPv6設定適用画面が表示されたら、[再起動]ボタンをクリックします。

[再起動]ボタンをクリックすると、DHCPv6サーバに設定が適用され、DHCPv6サーバが起動します。 起動が成功すると、設定適用画面に「起動中」のメッセージが表示されます。 設定適用ついての詳細は、「設定を適用するには(IPv6)」の項目[*]を参考にしてください。


next up previous contents
Next: 5. 使い方 Up: DHCPadmin Previous: 3. 計画
29年11月02日