使用phpipam记录和管理ip地址

ip地址作为一种资源,需要被合理规划和使用,避免资源冲突和浪费。资源管理原则:1)我有哪些资源 2)资源按照什么维度分配 3)各资源区域使用情况(已分配、未分配、在线、离线)

背景

一直在寻找静态ip管理工具,记录网络规划和使用情况,使用excel能记录一些情况,但是ip在线情况无法知道,ip回收忘更新等情况导致excel信息不准确。phpipam是一个开源的ip管理工具,试用了一下demo,效果不错,着手实践。

安装

安装过程参考官方文档 phpIPAM installation on CentOS 7

准备LAMP环境

1.设置区域

1
2
3
[root@localhost ~]# more /etc/environment
LC_ALL=en_US.utf-8
LANG=en_US.utf-8

2.安装apache、mariadb-server、php及php扩展

1
sudo yum install httpd mariadb-server php php-cli php-gd php-common php-ldap php-pdo php-pear php-snmp php-xml php-mysql php-mbstring git

3 配置和运行apache sudo vi /etc/httpd/conf/httpd.conf,修改后配置类似

1
2
3
4
5
6
7
ServerName locahost:80
<Directory "/var/www/html">
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>

设置php时区

1
2
3
4
[root@localhost html]# grep timezone /etc/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

运行并设置为开机启动

1
2
sudo service httpd start
sudo chkconfig httpd on

4.配置mariadb

1
2
3
sudo service mariadb start
sudo chkconfig mariadb on
sudo mysql_secure_installation #设置root密码即可

安装phpipam

1
2
3
4
5
[root@ipam /]# GIT clone https://github.com/phpipam/phpipam.git /var/www/html/
[root@ipam /var/www]# cd /var/www/html
[root@ipam /var/www/html]# git checkout 1.3
sudo chown apache:apache -R /var/www/html/
sudo chcon -t httpd_sys_content_t /data/www/html/ –R

web浏览器登录phpipam地址http://192.168.x.x 选择第一个自动数据库安装,输入mariadb 的root信息即可。

使用

网络分为sections、subnets、ip,第一步是创建一个子网,自动发现子网ip及更新ip状态
1 创建一个子网

2 在web端“administration-phpIPAM-ICMP settings”中,输入ping命令和fping命令正确的目录。
3 在子网页面”scan subnet“可以扫描出子网中存活的主机,可以选择discovery,将discovery的主机添加到子网中。
4 设置定时任务,每15分钟执行一次主机状态检测和主机发现。

1
2
3
[app@localhost log]$ crontab -l
*/15 * * * * /usr/bin/php /var/www/html/functions/scripts/pingCheck.php
*/15 * * * * /usr/bin/php /var/www/html/functions/scripts/discoveryCheck.php

参考

https://phpipam.net/news/phpipam-installation-on-centos-7/
https://phpipam.net/news/automatic-host-availability-check/
http://m.2cto.com/os/201608/541196.html