以前試用したopenDCIMにはIPアドレス管理機能がなかったので、そこだけ補完するツールはないかと探してみたところphpIPAMがあったので使ってみました。バージョンは1.2.1です。
Linux, Apache, MySQL, PHP の古き良き伝統的LAMPです。インストールは既に別の方が書かれた記事がありますのでそこに譲って以下早速使っていきます。
IPアドレス
IPアドレスは、以下の管理単位で管理します。
粒度 | 管理単位の名前 | 備考 |
---|---|---|
大まか | Section | ≒IPリーチャビリティ。作成に管理者権限が必要 |
Folder | ||
Subnet | 例:192.168.0.0/24 | |
細かい | IP address | 例:192.168.0.1 |
Sectionは、大まかにIPリーチャビリティの管理と考えてよいかと思います。Sectionが違えば別のネットワークと見なされますので、IPアドレスが同一でも重複とは見なされず、問題なく登録できます。
同じSectionの中でのIPアドレスの重複はエラーです。ただし、Sectionの設定で、エラーが出ないように規制緩和が可能です。
Folderは、単純に整理のための単位です。Folderを作らず、Sectionの直下にSubnetを並べていくこともできます。また、Folderの下にFolderを作ってネストにすることもできます。
Subnetはネットマスクで区切られたアドレスブロックです。Subnetもネスト化が可能で、この場合は上位Subnetのアドレスブロックが下位Subnetのアドレスブロックを含むように構成しなければなりません。Subnetのネスト機能は計画的に使わないと整合性が破たんして警告メッセージだらけになってしまいがちで、ここは熟練と計画性が物を言うところです。
デバイス
ルータなど、マルチホームのデバイスはDeviceという管理単位を作って管理します。
デバイスを作ると、そこにIP addressを所属させることができます。また、Subnetを所属させることもできます。
シングルホームのデバイスは、わざわざDeviceを作るまでもなく、IP addressのホスト名で管理すれば十分でしょう。
VLAN
VLANは、L2 domainとVLANの2階層で管理し、その下にSubnetを配置します。
粒度 | 管理単位の名前 | 備考 |
---|---|---|
大まか | L2 domain | |
VLAN | VLAN IDで指定する | |
細かい | Subnet | 例:192.168.0.0/24 |
VLAN IDの上限は、デフォルトでは4096です。これは設定で変更できますので、Cisco ISLを使っているとか、既にVLAN ID枯渇に直面してVxLANやNVGREに手を出しているという場合にも、ある程度は応用が効くと思います。もっともMySQLのINT型ですので、符号つき32ビット整数が限界です。また、VLAN同士のネストができないので、QinQの対応は苦しいところです。
考察
多機能!
例えばユーザ認証が6種類もあります(それなのにOAuthがない。。。)。また、phpIPAM settings画面に行くと、デフォルトでOFFになっている機能が7項目もあります。そんなわけで色々と目移りしてしまいますが、全部いっぺんに使う必要はありませんので、必要なものから順に使いこなしていけば十分かと思います。
日本語がない!
チェコ語、ドイツ語、英語、スペイン語、フランス語、オランダ語、ポルトガル語(ブラジル)、スロベニア語が用意されていますが日本語がありません。
誰か翻訳してみませんか。1,673項目ありますので、なかなか根性が要りそうです。
リビジョン管理がない!
これまたISO9000的リビジョン管理機能がありません。この手の仕組みを開発するのが手間なのは分かるんですが、やはり実用上は辛いものがあります。ロールバックできませんので、不注意な人に書き込み権を与えられないし、コミットに決裁や承認手続きが必要な業務フローに乗せにくいんですよね。
Q&A
openDCIM, RackTablesと比べた場合どうか。
openDCIMとは割と相互補完的です。openDCIMとphpIPAMをセットで導入するか、RackTablesを単体で導入するかの選択ではないでしょうか。どちらかというと前者が大きめで複雑な構成、後者が小さめで単純な構成のデータセンター向けかと思います。
改造は必要か。
大量のオーダーの一括処理が必要な場合や、Zabbixなど統合運用監視系のツールとの間で整合性を図る局面では、素の機能だけでは不足という場合が現れてくると思います。そこは改造スキルが問われるところです。
以上!幸運を祈る。
リファレンス
phpIPAM(公式)
http://phpipam.net/
yusukew62 (2016)
IPアドレス管理OSS phpIPAMインストール手順
http://qiita.com/yusukew62/items/9465108a3f18c3cdeeaa
不肖私 (2016)
openDCIMインプレッション(インストール編)
http://qiita.com/n-i-e/items/f4ba15640e58b031d7f6
不肖私 (2016)
openDCIMインプレッション(構成管理編)
http://qiita.com/n-i-e/items/8f7447c6fe274d05829a
不肖私 (2016)
openDCIMインプレッション(ワークフロー編)
http://qiita.com/n-i-e/items/d7f9c3084fb28fdc5af9