为了管好IP我上了一套开源的IP管理系统phpIPAM

文章目录

通常,网络或系统管理员会使用一个电子表格来记录IP地址的分配信息,然而,随着网络中的设备越来越多依赖于电子表格并不方便,十分容易出错,想管理好这些加入网络中的设备,就得有个更方便的工具。就我家里的网络而言,接入的设备就已经接近40个了,亟需找这么一个工具来记录和管理这些IP,目前找到的比较好用又轻量化的IP管理工具就是phpIPAM。

一、什么是phpIPAM

phpIPAM(PHP IP Address Manager)是一个开源的网络 IP 地址管理工具,其目标是提供轻松,现代和有用的IP地址管理。它是基于php的应用程序,带有MySQL数据库后端,使用jQuery库,ajax和HTML5 / CSS3功能。主要用于企业级 IP 地址空间的规划、管理和跟踪。

为什么要用phpIPAM

问题场景无 phpIPAM有 phpIPAM
IP分配冲突人工记录 Excel,容易重复系统自动管理,避免冲突
查找可用 IP手动测试多个 IP一键查找空闲 IP
网络规划凭经验划分,不精确可视化规划,最优利用
故障排查不知道 IP 使用者快速定位设备负责人

phpIPAM核心功能如下:

[图片]

官网:
https://www.phpipam.net/
https://hub.docker.com/r/phpipam/phpipam-www/

二、安装phpIPAM

安装phpIPAM可以用docker方式快速安装,根据官网的docker-compose.yml稍微做了优化,主要是加了mysql的健康检查,因为在安装的过程中数据库没有就绪或容器启动顺序有问题会导致安装失败。
docker-compose.yml文件内容如下:

version: '3.8' services: phpipam-web: image: phpipam/phpipam-www:latest ports: - "8488:80" environment: - TZ=Asia/Shanghai - IPAM_DATABASE_HOST=phpipam-db - IPAM_DATABASE_PASS=12345678 depends_on: - phpipam-db restart: unless-stopped phpipam-cron: image: phpipam/phpipam-cron:latest environment: - TZ=Asia/Shanghai - IPAM_DATABASE_HOST=phpipam-db - IPAM_DATABASE_PASS=12345678 - SCAN_INTERVAL=1h depends_on: phpipam-db: condition: service_healthy restart: unless-stopped phpipam-db: image: mariadb:10.5 environment: - MYSQL_ROOT_PASSWORD=12345678 - MYSQL_DATABASE=phpipam - MYSQL_USER=phpipam - MYSQL_PASSWORD=12345678 volumes: - db_data:/var/lib/mysql restart: unless-stopped healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 5 volumes: db_data: 

将docker-compose.yml文件考到安装目录如/home/app/phpipam
执行docker compose up -d 就可以顺利安装完成
安装完成后通过 docker compose ps 查看 phpipam的几个容器是否都正常启动了。

可以通过docker compose logs查看日志

三、初始化phpIPAM

因为在docker-compose.yml文件中映射的宿主机的端口是8488
在浏览器中输入 http://服务器IP:8488/
1.选择新的phpipam安装

[图片]


2.安装pfpipam数据库

安装pfpipam数据库


3.设置数据库

设置数据库

4.提示数据库安装成功

数据库安装成功

5.设置管理员密码

设置管理员密码

6.用前面设置的管理员密码进行登录

用户名密码登录

7.可以在用户的账户详情中选择语言为“Chinese(zh_CN.UTF-8)”切换成中文

设置成中文

四、使用phpIPAM

典型的IP管理流程如下:

[图片]

1.添加子网

添加子网


2.添加子网信息,注意可以将Check hosts status、Discover new hosts、Resolve DNS name都打开。

添加子网信息

3.在子网管理界面点击“Scan subnet for new hosts” 扫描子网的主机

扫描子网

4.点击“Scan subnet”
phpIPAM就会通过Ping scan的方式探测子网内存活的主机

扫描子网

在子网的管理界面就可以看到子网内存活的IP和空闲的IP

子网管理界面

IP列表

IP列表

子网的可视化界面,可以很直观的看到子网内在用的IP和空闲的IP

子网可视化界面

总的来说,phpIPAM安装简单使用方便,是个不错的IP管理工具。phpIPAM 本质上是一个 “网络的 CMDB”,让无形的 IP 地址变得可视、可控、可管理。对于任何有一定规模网络环境,它都是提升管理效率和规范性的重要工具。


作者博客:http://xiejava.ishareread.com/

Read more

Flutter for OpenHarmony: Flutter 三方库 simple_logger 为鸿蒙系统开发打造最纯粹的日志调试体验(极简主义者的首选)

Flutter for OpenHarmony: Flutter 三方库 simple_logger 为鸿蒙系统开发打造最纯粹的日志调试体验(极简主义者的首选)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 应用调试时,虽然控制台有原始的 print,但在处理复杂的异步流、网络状态变更或多层级渲染时,简单的打印往往会导致信息洪流,难以寻找重点。如果你不需要像 talker 或 logger 那么繁重的全家桶方案,只想在控制台中看到一点色彩和清晰的层级,那么这个库就是为你准备的。 simple_logger 完美诠释了“大道至简”。它不依赖任何原生 C++ 接口,纯 Dart 实现,能在鸿蒙设备上以极低的资源占用提供带有级别过滤(Level Filtering)和漂亮格式的日志输出。 一、日志过滤层级模型 simple_logger 允许你根据开发阶段动态调整输出强度。 只打印 INFO 及以上 日志级别 (Level) FINE (调试详情) INFO (常规业务)

By Ne0inhk
【Linux】Linux 系统的目录结构详解

【Linux】Linux 系统的目录结构详解

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Linux这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * 【Linux】Linux 系统的目录结构详解 📁 * 1. Linux 目录结构概述 🌐 * 2. 根目录 (/) —— 系统的起点 🚩 * 3. /bin —— 基本命令的家 🛠️ * 4. /sbin —— 系统管理员的工具箱 🛠️ * 5. /lib 和 /lib64 —— 系统库的家园 📦 * 6. /etc —— 系统配置的中枢 📝 * 7. /home —— 用户的私人天地 🏠 * 8. /usr —— 用户程序的宝库 📚 * 9. /var —— 变化的数据中心 🔄 * 10. /dev —— 设备的入口 🖥️ * 11. /proc —— 进程的虚拟文件系统

By Ne0inhk
【MySQL数据库基础】(一)保姆级 MySQL 环境配置教程!CentOS 7+Ubuntu 双系统全覆盖

【MySQL数据库基础】(一)保姆级 MySQL 环境配置教程!CentOS 7+Ubuntu 双系统全覆盖

前言         作为后端开发、数据库学习的入门必备,MySQL 的环境配置是很多小伙伴的第一道 “小关卡”。尤其是不同 Linux 发行版(CentOS 7、Ubuntu)的安装步骤差异,再加上系统自带 MariaDB 的干扰、密码策略限制、中文编码等坑,很容易让人踩雷卡壳。         这篇博客就带来保姆级 MySQL 环境配置指南,不仅详细拆解 CentOS 7 下的完整安装步骤(从卸载冲突环境到配置优化),还补充了 Ubuntu 系统的安装流程,全程命令可直接复制,新手也能一步到位搞定 MySQL 环境,告别配置报错的烦恼!下面就让我们正式开始吧! 一、前置知识:为什么要先处理 MariaDB?         MySQL 被 Oracle 收购后,很多 Linux 发行版(比如 CentOS 7、

By Ne0inhk
Flutter for OpenHarmony:lpinyin 汉字转拼音的高效方案(通讯录排序与搜索优化) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:lpinyin 汉字转拼音的高效方案(通讯录排序与搜索优化) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在开发中文应用时,汉字转拼音是一个绕不开的高频需求。 最典型的场景包括: * 通讯录排序:将“张三”排在 ‘Z’ 组,将“李四”排在 ‘L’ 组。 * 拼音搜索:用户输入 “wx” 就能搜到 “微信” (Weixin)。 lpinyin 是 Dart 社区中广泛使用的一个汉字转拼音库。它基于庞大的字典库,支持多音字处理、声调转换,且性能优秀。 对于 OpenHarmony 应用,由于系统底层 API(如 Intl)对中文拼音的支持可能存在差异或版本限制,引入一个纯 Dart 实现的拼音库能保证跨平台行为的一致性,确保你的鸿蒙应用在处理中文数据时准确无误。 一、核心原理 lpinyin 的工作原理非常直观:

By Ne0inhk