IPAM 随笔

需求和 IPAM 纵览

随着企业内部业务的增长,硬件资源和IP地址等资源也急速增长,我们这时候就需要能够有效的规划和使用IP资源,最好有合适的方法去规划、管理和运营。我期待的 IPAM 能够满足以下条件:

  • 轻量级的,容易上手;
  • 开源的,成本低;
  • 能够自动发现;
  • 具有使用情况报告;
  • 通知机制;
  • 方便的权限管理;
  • API, 方便集成

经过查找和询问朋友,有以下平台可以直接或者间接的满足以上需求:

1)solarwinds IPAM
官方介绍如下:
<1> 自动化的IP地址管理
<2> 集成了DHCP和DNS服务器
<3> IP地址告警、排障和报告
<4> 划分区域管理
<5> IP地址明细和追踪
这里写图片描述
等等企业级的Feature, 非常完备,官网也提供了online Demo, 感觉很不错。但是目前公司不太可能投入太多财力去采。

2)ManageEngine IPAM

M家的产品也挺不错的,IPAM 是OpUtils 产品的部分功能, OpUtils 主要是交换机端口和IP地址管理,主要有IP地址管理,交换机端口管理,带宽监控,网络设备配置备份等等功能吧。同样也提供了Online Demo 比较合适网络工程师。
这里写图片描述

3)其他商业IPAM, 比如Infoblox, Microsoft 等等,也没有去做更多的了解,去采的可能性比较小。然后就比较关注开源方案。

4) GestióIP 官方介绍gestioip 是自动化的,基于WEB的IPAM, 具体强大的IP自动发现、过滤、权限控制等等功能。这个我也部署了进行测试。
这里写图片描述
这里写图片描述
试用了几天之后,感觉不是特别美观,操作也不是太方便,就废弃这个方案了。

5)接下来就是今天的主角 phpipam ,显然是用php 开发的IPAM。官方介绍包含以下feature:

IPv4/IPv6 IP address management
Section / Subnet management
Automatic free space display for subnets
Visual subnet display
Automatic subnet scanning for new hosts
Automatic status checks
Changelogs
Domain authentication (AD, LDAP)
Per-group section/subnet permissions
Device / device types management
RIPE subnets import
XLS / CVS subnets import
IP request module
API
VLAN management
VRF management
IPv4 / IPv6 calculator
IP database search
E-mail notifications
Custom fields support
Translations

部署过程

接下来记一下部署过程。首先是环境的依赖,官方介绍如下:

Apache2 webserver with php support
Mysql server (5.1+)
php version 5.3 or later with following php modules enabled:
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)
php PEAR support

CentOS 6 安装相关依赖

yum install mysql mysql-server php php-gmp php-pear php-mysql l httpd fping
php-mysql php-pear php-gmp php-curl php-ldap php-mcrypt php-gettext php-soap php-gd php-pdo php-openssl php-json php-filter php-pcntl php-cli

下载和安装phpipam

cp -r phpipam  /var/www/html/ 
cd /var/www/html/phpipam/
cp config.dist.php config.php

vi config.php

define('BASE', "/phpipam/");

配置数据库

[root@phpipam ~]# mysql -u root -p
Enter password:

mysql> create database phpipam;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL on phpipam.* to phpipam@localhost identified by ‘******’;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

Once this is in place, you can import SCHEMA.sql file with following command:
mysql -u root -p phpipam < db/SCHEMA.sql

创建自动备份任务

# Backup IP address table, remove backups older than 10 days
20 1 * * * /usr/bin/mysqldump -uphpipam -p****** phpipam  > /data/sqlbak/phpipam_bkp_$(date +"\%y\%m\%d").db
20 1 * * * /usr/bin/find /data/sqlbak -ctime +30 -exec rm {} \;

[可选]配置https 和定时扫描任务

安装依赖:
yum install mod_ssl openssl -y

首先,生成2048位的加密私钥:
openssl genrsa -out ca.key 2048

然后生成证书签名请求(CSR):
openssl req -new -key ca.key -out ca.csr

生成类型为X509的自签名证书:
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

创建证书后,将文件复制到对应的目录:
cp ca.crt /etc/pki/tls/certs/
cp ca.key /etc/pki/tls/private/
cp ca.csr /etc/pki/tls/private/

修改httpd配置:
vim /etc/httpd/conf.d/ssl.conf

### overwrite the following parameters ###
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
SSLCertificateChainFile /etc/pki/tls/certs/example.com.ca-bundle

配置虚拟主机:
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    <Directory /var/www/html/phpipam/>
        AllowOverride All
    </Directory>
    ServerAdmin admin@example.com
DocumentRoot /var/www/html/phpipam/
ServerName ipam.example.com
</VirtualHost>

然后重新启动httpd服务使更改生效:
service httpd restart

配置定时扫描任务:
# update host statuses exery 15 minutes
*/15 * * * * /usr/bin/php /var/www/html/phpipam/functions/scripts/pingCheck.php
*/15 * * * * /usr/bin/php /var/www/html/phpipam/functions/scripts/discoveryCheck.php

后记

部署完成之后,就是录入系统的数据,我们现在管理有20多个C,配置了邮件的自动通知功能,使用一段时候之后,比较满意。
这里写图片描述

这里写图片描述

登录页面和IP请求:
这里写图片描述
这里写图片描述

然后就是LDAP目前还没有成功的接入;规模增加之后,可能需要部署一些agent 进行扫描,并且划分不同的区域和权限; 扫描要是能够支持nmap 就更好了。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Windows IPAM是Windows服务器操作系统中的一个功能,全称为IP地址管理(IP Address Management)。它主要用于帮助管理员有效地管理和监控网络中的IP地址。 Windows IPAM提供了一套用户友好的界面和一系列的功能,帮助管理员更加轻松地进行IP地址的分配、追踪、监控和管理。首先,Windows IPAM可以帮助管理员自动化IP地址的分配过程,减少分配错误和冲突。管理员可以根据需要设置IP地址池,定义地址的使用范围和租约期限,也可以设置预留地址用于特定用途。 其次,Windows IPAM可以帮助管理员实时监控和跟踪网络中的IP地址使用情况。它能够自动扫描网络中的设备和主机,收集并展示可用IP地址的状态和分配情况。管理员可以清晰地了解网络中各个地址段的利用率情况,及时发现并解决IP地址冲突和不合理分配的问题。 此外,Windows IPAM还有一些其他有用的功能。比如,管理员可以通过IPAM集成DNS和DHCP服务器,通过集中化管理来简化配置和管理过程。管理员还可以设置警报和通知规则,及时得知IP地址资源的变动和异常。另外,Windows IPAM还提供了报表和日志功能,帮助管理员进行网络分析和故障排查。 总的来说,Windows IPAM是一款非常实用的工具,能够有效地提升管理员的工作效率和网络管理的可靠性。它可以帮助管理员更好地掌控IP地址资源,减少网络故障和冲突的发生,提高网络的稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值