サマリー
サーバーの仮想化も進み、単に箱があればIPアドレスが1つと言うことも少なくなりました。
そのため、IPアドレスの割り当て管理を記憶やExcelシートに頼ることも負担になってきました。
IPアドレス管理のためのソフトウェアと言えばWikipediaにいくつか載っていますね。
IP address management - Wikipedia
出来ればDNSとの連携もしたいので、phpIPAMを選択してみました。
まずは単にIPアドレス払い出し帳簿として使えそうか見てみます。
インストール
phpIPAMは、言っても普通のLAMP構成。
CentOS 7.3 minimalに入れてみましょう。
手順のベースはこちら: https://phpipam.net/phpipam-installation-on-centos-7/
まずは基本パッケージを入れます。
|
|
httpdとmariadbを起動、DBの初期化。パスワードは適当に。
|
|
Firewallの設定。
|
|
gitからVersion 1.3を取得してくる。ついでにSELinuxの対応もしておく。
|
|
インストールが完了したら http://<ip-address>/phpipam/ にアクセスして、phpipamの初回インストール画面へ行けるようになります。
画面操作
インストール画面
1. New phpipam installation を選択。

1. Automatic database installation を選択。

(DB操作権限があれば誰でもいいけど、ここでは)rootユーザーで Install phpipam database そして Continue。

Webインターフェースのadminアカウントのパスワード設定をして Save settings そして Proceed to login。

初期インストールはここまで。
ログイン画面からサブネット作成まで
引き続き、ログイン画面。

はい、ダッシュボードだよ。

まずは、右上のAdministrationからSectionsを選択。

+ Add section からセクションを追加します。
セクションにはユーザーごとの権限を設定することができるので、編集が可能な管理者と、参照だけ可能なゲストといった設定が可能です。

セクションを追加すると、そのセクションにサブネットを追加できるようになります。
ここでは Subnets -> example.com で example.com セクションにサブネットを追加しに行きます。

+ Add subnet からサブネットを追加します。

Check hosts statusとDiscover new hostsをYesにしておくと、後で設定するホストの死活監視とオートディスカバリの対象サブネットにできるよ。- 基本的にサブネットは(/24の中に/25を2つ作る場合などでは)親子関係があり、子サブネットを作ると継承されます。変に対象を増やしたくない場合はNoでも良いです。
サブネットが追加されました。

サブネットの情報は、設定内容とIPアドレスのマップが表示されるようになります。

ホストの登録
IPを1つずつ登録しても良いですけど、既存のサーバーが複数ある場合はスキャン出来ると使い勝手が良いでしょう。
歯車アイコンから、サブネットを指定したスキャンが行えます。

Scan subnet でスキャンするぞー。

(´ω`)ミツカラナイ…

どうせhttpdからping打とうとしてSELinuxに止められてるんでしょ?
ログでも確認するか、と見てみると、こんな風にhttpd_tからpingコマンド打てないよ、って言われています
|
|
同じような問い合わせが多いのか、公式の対応策があります: https://phpipam.net/news/selinux-policy-for-icmp-checks/
コマンドにするとこんな感じです。
|
|
終わったら、もう一度スキャンしてみる。ほいきた。

- ちなみに、IPv6のスキャン機能は未実装です。(2017/07/17時点)
DescriptionとHostnameを埋めたら"+ Add discovered hosts"で追加しよう。

ホストの追加が終わると、こんな感じ。見やすい!(個人の感想です)

これでアドレス、ホスト名の一覧を一覧性良く管理することができるようになりました。
ちなみに、この情報はExcelとして出力することができます。
この辺のボタンから、

出力内容を選択してExport。

結果はこんな感じです。

死活監視とオートディスカバリー
登録したホストは、最初は"Address is alive"として緑色のアイコンなのだけど、時間がたつと黄色、赤に遷移してしまいます。

これは、単に死活監視、オートディスカバリーのためのスクリプトがデフォルトでは動いていないからです。
ホストの死活監視は自動的に行われるわけではないので、Scan agentにlocalhostを選んでいる場合は以下のようにcronの設定を追加します。
sudo vi /etc/cron.d/phpipam でcronの設定を追加しておきます。
|
|
これで、裏で登録したホストの死活監視と、対象サブネットのオートディスカバリーが動作するようになります。
オートディスカバリーでホストが見つかると、下図のように -- autodiscovered -- として登録されます。

おしまい
まずはごく基本的なサブネットとホスト登録までを確認しました。
理想的にはDNS、DHCPサーバーと連携できると良いですよね。
phpIPAMはPowerDNS(のDBに直接差し込む形で)連携が出来るので、あとで時間があればそちらも見ていきましょう。
今日はここまでじゃよ。