暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一款开源好用的:IP地址管理平台

1442

院长简介

作者:院长

职位:运维开发工程师

官网:https://deanit.cn

博客:https://blog.deanit.cn

擅长:

【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】

项目地址

https://github.com/kiraster/IPA_VIEW_v0.1_Beta?tab=readme-ov-file

项目简介

Flask 框架组装的IP地址管理平台

项目特色

首页:没有首页的首页 

IP地址表:显示IP地址使用情况,可在页面进行增、删、改、导出到Excel表格 

分组:按分组 + 网段显示目录树,右侧显示所选择查看网段的饼图,方块表和网段IP地址表 

设置:查看定时任务执行情况和轮询参数

项目结构

|   app.py  # 没什么用装个样子
|   manage.py  # 应用入口文件
|   README.md
|   requirements.txt  # 安装库
|   
+---app
|   |   commands.py  # 自定义插入组命令
|   |   config.py  # 配置文件
|   |   models.py  # 数据模型类代码
|   |   task.py  # 定时任务代码
|   |   test_data.py  # 导入测试数据
|   |   __init__.py
|   |   
|   +---admin
|   |   |   lib.py  # 可复用功能函数代码
|   |   |   views.py  # 视图函数代码
|   |   |   __init__.py
|   |           
|   +---static  # CSS JS 插件
|   |           
|   +---templates  # 被渲染的html模板
|   |   |   404.html  # 404 页面
|   |   |   
|   |   \---admin
|   |           about.html
|   |           base.html
|   |           index.html
|   |           ipgroup.html
|   |           ipshow.html
|   |           settings.html
|              
|           
+---instance  # flask db 命令自动生成的文件夹
|       db.sqlite3  # sqlite3数据库文件
|       
+---migrations  # flask db 命令自动生成的文件夹

部署安装

下载软件

# git
git clone https://github.com/kiraster/IPA_VIEW_v0.1_Beta.git

# ZIP
https://github.com/kiraster/IPA_VIEW_v0.1_Beta  ->>  Code  –>> Download ZIP

虚拟环境

# 创建虚拟环境
python -m venv venv
# 进入虚拟环境
.\venv\Scripts\activate

修改配置

# 定义flask代码中的配置项
class FlaskConfig:
    HOST = '127.0.0.1'  # 设置主机地址,'0.0.0.0' 表示监听所有可用的网络接口
    PORT = 80  # 设置端口号,一般情况下使用默认的 5000 端口
    # 开启调试模式
    DEBUG = True
    # 数据库连接URI
    SQLALCHEMY_DATABASE_URI = 'sqlite:///db.sqlite3'
    # SQLALCHEMY_TRACK_MODIFICATIONS当设置为True时,SQLAlchemy会在对数据库进行修改操作(如添加、更新、删除记录)后发出信号,
    # 以便其他组件(如Flask-Migrate)能够捕获这些变化并生成相应的数据库迁移脚本。
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    # 定义SECRET_KEY,CSRF保护需要一个密钥来安全地对令牌进行签名。
    # 默认情况下,这将使用Flask应用程序的SECRET_KEY。如果想使用单独的令牌,可以设置WTF_CSRF_SECRET_KEY
    SECRET_KEY = '21caf73529034bf8ad2d04e820dc2f1d'


# APScheduler配置参数
class APSchedulerConfig:
    # 开启API查询接口
    SCHEDULER_API_ENABLED = True
    job1_name = '定时轮询ARP表'
    job2_name = '定时更新没有轮询到ARP表项的IP地址状态'
    job1_seconds = 30
    job2_seconds = 30
    # 最大定时任务实例数
    SCHEDULER_MAX_INSTANCES = 66


class SNMPConfig:
    # 当超过30分钟没有updated_at值更新,则available值置为False
    REFRESH_TIME = 1
    SNMP_DATA = [
        {'snmp_host''192.168.56.10''snmp_community''public'},
        {'snmp_host''192.168.56.20''snmp_community''xswl_public'},
    ]

安装库

pip install -r requirements.txt
# 网络不行用下面这个
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/  -r requirements.txt

运行项目

# 创建当前版本的数据迁移脚本
flask db init
# 数据迁移脚本
flask db migrate
# 创建数据库
flask db upgrade

# 在IPGroup表创建一个默认组
# 输入以下命令,填写默认组组,回车使用默认值“Default”,默认组名称随意起都可
flask insert group
Name [default]: 

# 可选,导入测试数据
 python .\app\test_data.py

# 启动应用
python manage.py

flask run

访问Web页面


招贤纳士

欢迎👏关注《院长技术》,只做原创,干货~~~

      

更多技术干货持续输出中......

欢迎👏加院长助理,邀请微信群:《烦请关注公众号》

欢迎加入QQ-2群:【1群已满

推荐阅读

K8s命令行交互运维神器

院长带你玩转K8s证书续签

Nginx配置SSL证书及跳转特别配置

Docker自建轻量监控系统


欢迎关注我的公众号“院长技术”,原创技术文章第一时间推送。

文章转载自戏说数据那点事,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论