跳到主要內容
節省工具箱Jason Tools
經驗分享

phpIPAM 安裝流程與使用心得

Jason Cheng 瀏覽 23,747 次
phpIPAM 安裝流程與使用心得
本文目錄
  1. 套件安裝
  2. 系統設定
  3. 使用方式
  4. 結論
  5. 參考資料

為了管理越來越多的 IP 主機數量及機房 Rack 配置,繼昨天試用 NetBox 後,本次選定 phpIPAM。

此文記錄安裝在 Ubuntu 18.04 過程與使用情況。

套件安裝

phpIPAM 採用經典的 LAMP 組合,先以指令安裝需要的套件。

安裝基礎套件

apt-get install apache2 mariadb-server php7.2 php7.2-gmp php7.2-mysql php7.2-ldap php-pear
apt-get install php7.2-pdo php7.2-json php7.2-gettext php7.2-cli php7.2-mbstring
apt-get install php7.2-gd php7.2-curl
apt-get install php7.2-simplexml
apt-get install git

接著採用 git 來下載最新版程式專案。

下載程式專案

git clone https://github.com/phpipam/phpipam.git /var/www/phpipam
cd /var/www/phpipam
git submodule update --init --recursive

[2019/07/24] 補充:

如果安裝過程中找不到 php7.2 與 mariadb-server 套件,請用下列指令補上後再安裝一次:

補上相關套件庫來源

apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"
apt update

系統設定

資料庫帳號與資料結構建立,注意密碼請不要與範例相同。

建立帳號與資料庫

mysql -u root -p
> create database phpipam;
> GRANT ALL on phpipam.* to phpipam@localhost identified by 'password';
> exit;

資料庫結構建立

mysql -u root -p phpipam < db/SCHEMA.sql

系統設定檔建立,由範本檔複製而來。

建立系統設定檔

cp /var/www/phpipam/config.dist.php /var/www/phpipam/config.php

將以下設定修改至 /var/www/phpipam/config.php。

修改系統設定檔

$db['host'] = "localhost";
$db['user'] = "phpipam";
$db['pass'] = "password";
$db['name'] = "phpipam";
define('BASE', "/");

設定 Apache 站台,檔案為 /etc/apache2/sites-enabled/000-default。

設定 sites

DocumentRoot /var/www/phpipam
<Directory /var/www/phpipam>
  Options FollowSymLinks
  AllowOverride all
  Order allow,deny
  Allow from all
</Directory>

設定 rewrite 模組與服務重啟。

開啟 rewrite  

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
a2enmod rewrite
service apache2 restart

至此系統安裝完成,可以進行使用。

使用方式

請使用瀏覽器連至 http://ip/,預設帳號為 admin,預設密碼為 ipamadmin,即可開始登入 phpIPAM 系統。

在 phpIPAM 中,具有機櫃配置的功能,當裝置建立並設定至指定的機櫃編號與位置,即可在總覽畫面中以圖形方式呈現裝置與機櫃擺設的關係。

機櫃總覽畫面
機櫃總覽畫面

在系統中,可以分別定義客戶、網路、位置、機櫃、裝置、電路等項目,這些項目都是可以經由設定全部進行關聯。

舉個例子,我們可以建立電信業者專線為一條電路,記錄電信業者名稱、電路編號、速率等等資訊,並在該電路中指名這是屬於那兩個裝置互相連接使用。

或者,建立多個辦公室的位置,並相該位置所使用的網段與該位置關聯,即可容易查詢位置與 IP 的相對應關係。

在 IP 管理畫面中,可以快速取得這個網段的相關資訊,右上角的圓餅圖會顯示此網段目前已經使用了多少 IP。

IP 網段細節畫面
IP 網段細節畫面

這個頁面往下捲,可以看到這個網段的每一個 IP 使用情況,搭配 phpIPAM 所提供的 scan 功能,可以快速的協助將整個網段中已經被使用的 IP,以及目前的連線情況以燈號顯示;若該 IP 能夠被反解到 FQDN,也會自動出現在欄位中。

IP 列表畫面
IP 列表畫面

再往下捲,還有一個快速的網段 IP 使用顯示器,點亮的部份即表示已在使用中,非常易懂,點選每一格還可以進去設定或是新增對應的裝置。

IP 使用顯示器
IP 使用顯示器

點進裝置細節頁面,可以查看更多的 IP、MAC、位置、連線、異動記錄等資訊,也會以圖形方式呈現這個裝置在那一個 Rack 的第幾個位置。

裝置細節頁面
裝置細節頁面

在登入驗證部份,支援了許多主流的方式,例如 AD、LDAP、Radius...等,更支援了兩階段驗證的進階安全機制。

整合外部驗證方式
整合外部驗證方式

可以將現有的電路資料建立起來,輸入電路編號、頻寬、業者、連繫窗口、連接點的資訊等,可以方便做為管理與日後的調閱。

以我的使用情況來說,有許多的外點辦公室都有各自的線路,甚至有一些是協助客戶申請的線路資訊需要保存,透過 phpIPAM 就有一個相當良好的集中管理方式。

電路列表畫面
電路列表畫面

結論

經過測試,這套 phpIPAM 雖然沒有過於華麗的介面功能,但是在基本 IP 管理功能上著實不錯,符合我使用上需求,讓我確定會繼續使用它,並且將它與 LibreNMS 進行整合,提升使用能力。

奇怪的是,我在系統上有看到語言切換功能,系統上也確實有繁體中文的語系檔,但是怎麼切換都沒有生效(包含切成其他語言也是),這部份我還在研究中,初步懷疑可能是我用的版本是 1.5 Beta 而非 1.4 Release 版。

參考資料

延伸閱讀