phpIPAM
Introduction
phpIPAM - Open source IP address management.
phpipam is an open-source web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management. It is php-based application with MySQL database backend, using jQuery libraries, ajax and HTML5/CSS3 features.
URLs:
- Home: https://phpipam.net/
- API: https://phpipam.net/api/api_documentation/
- Github: https://github.com/phpipam/
Installation
Requirements
- Apache2 webserver with php support or Nginx with php-fpm
- Mysql server (5.1+)
- PHP:
- version 5.3 supported to phpipam version 1.3.1
- version 5.4
- version 7.2 and higher supported from phpipam release 1.3.2
- PHP modules:
- pdo, pdo_mysql : Adds support for mysql connections
- session : Adds persistent session support
- sockets : Adds sockets support
- openssl : Adds openSSL support
- gmp : Adds support for dev-libs/gmp (GNU MP library) -> to calculate IPv6 networks
- ldap : Adds LDAP support (Lightweight Directory Access Protocol – for AD also)
- crypt : Add support for password encryption
- SimpleXML: Support for SimpleXML (optional, for RIPE queries and if required for API)
- json: Enable JSON support
- gettext: Enables translation
- filter : Adds filtering support
- pcntl : Add support for process creation functions (optional, required for scanning)
- cli : Enable CLI (optional, required for scanning and status checks)
- mbstring : Enable mbstring support
- php PEAR support
You can check which php modules are enabled by issuing php -m
in command line.
API Develop
Enable API and Create new API Key (code)
By default, the API is Disabled, go to Enable it first.
IPAM Web > Administration > Server management > phpIPAM settings > API: ON
IPAM Web > Administration > API > Create API Key
- App id: devappro (自定義 app 名稱)
- App code: <系統自動產生一組密鑰>
- App permissions: Read (依實際需求選擇)
- App security: User token (如果連線協定不想用 HTTPS,這裡必須是 User token)
- Transaction locking: No
- Lock timeout: 0
- Nest custom fields: No
- Show links: No
NOTE:
如果 App security 是 User token,表示 API 連線協定使用不加密的 HTTP,這時系統會提示需要變更
config.php
的參數。$api_allow_unsafe = true;
API Test with curl
API 使用注意
- 第一次連線,需要先登入 IPAM 的帳號/密碼並取得一組 token,預設有效期是 6 小時。
- 每次連線 API 時,必須在 header 內包含一組有效的 token,才能通過認證;否則會顯示 Unauthorized。
- 先前建立的 API Key 與 第一項的 token 兩個是不一樣的東西,用途也不同。基本上 API Client 開發只會用到 token。