网络配置代理

一个基于AI的模块化网络配置代理,用于管理GNS3模拟环境中的网络设备。

  • by Abellache-Rabah
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 Abellache-Rabah/ai-network-engineer

使用说明

LLM网络代理-模块化AI驱动的网络配置代理

一个充当AI代理的AI代理 网络工程师,使用 MCP(模型上下文协议)服务器的模块化架构。根据您的特定需求添加或删除MCP服务器。

🎯 它做什么

通过AI代理使用自然语言命令在GNS3仿真环境中配置和管理网络设备(思科路由器、Linux主机)。

例子: “将PC3的IP地址更改为10.0.0.15/24”→ 代理通过IPAM分配IP→ 更新库存→ 部署配置→ 验证连接

🏗️ 建筑

7台MCP服务器协同工作:

  • 图书管理员 -真相来源(investigation.yaml)
  • ipad -IP地址管理
  • 验证器 -部署前验证
  • 部署者 -配置部署
  • 观察者 -网络监控
  • 审计员 -安全合规性
  • TrafficGen -流量测试

[!重要] 在GNS3中更改网络拓扑(添加/删除设备或链接)时,您必须 手动修改 shared/inventory.yaml 以匹配新拓扑。

📋 需求

  • 码头工人 (必填)
  • GNS3 仿真环境
  • Cisco IOS路由器映像 (对于GNS3,您需要提供此项)
  • Gemini CLI 或Claude Desktop(用于AI集成)
  • Node.js/npm (适用于Gemini CLI)

🚀 快速开始

1.运行安装脚本

chmod +x setup.sh
./setup.sh

此脚本将:

  • ✅ 检查Docker安装
  • ✅ 安装Gemini CLI(如果需要)
  • ✅ 构建并启动Docker容器
  • ✅ 使用所有MCP服务器生成Gemini设置

2.导入GNS3项目

  1. 打开GNS3
  2. 导入 Test_project.gns3project
  3. 确保你有一个 Cisco IOS路由器映像 在GNS3中配置
  4. 启动拓扑

3.配置AI客户端

双子座: 安装脚本会自动创建 ~/.gemini/settings.json 所有MCP服务器。

对于Claude Desktop: 将MCP服务器配置从生成的设置复制到您的Claude配置:

  • 雨衣: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

4.开始使用

gemini

重要提示: CLI启动时,键入 @GEMINI.md 加载系统提示和代理规则。

尝试: “显示网络中的所有设备” 或 “将PC1 IP更改为192.168.1.10/24”

🎥 视频演示

结账 demonstration.mp4 了解系统运行的完整演练。

⚠️ 故障排除

如果MCP服务器不工作:

  1. 检查Gemini设置: 确保 ~/.gemini/settings.json 已配置所有7台MCP服务器
  2. 验证Docker: 跑 docker ps 并确认 mcp-toolbox 容器正在运行
  3. 重新启动Gemini: 退出并重新启动Gemini CLI
  4. 检查日志: 跑 docker logs mcp-toolbox

如果setup.sh失败:

# Manually install Docker first
sudo apt-get update && sudo apt-get install docker.io docker-compose

# Then run setup.sh again
./setup.sh

📚 文档

  • 双子座.md -AI代理系统提示和工作流程
  • MCP_SERVERS_GUIDE.md -每个MCP服务器的详细指南

🏛️ 项目结构

.
├── servers/           # 7 MCP servers
│   ├── librarian/
│   ├── ipam/
│   ├── deployer/
│   ├── verifier/
│   ├── observer/
│   ├── auditor/
│   └── traffic_gen/
├── shared/            # Common utilities & inventory
│   ├── inventory.yaml
│   ├── gns3_utils.py
│   └── topology_physical.yaml
├── setup.sh           # Automated setup
└── docker-compose.yml

🤝 贡献

该项目展示了人工智能驱动的网络自动化。您可以通过添加额外的MCP服务器或与其他网络仿真平台集成来扩展它。

👥 作者

  • 阿伯拉赫·拉巴 - abellache.rabah@outlook.com
  • 萨布丽娜·萨胡利 -sabrinasahouli2001@gmail.com

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件


⚠️ 免责声明

本项目仅用于教育和示范目的。

这是一个模拟/演示项目 未在生产环境中进行测试 并且是 不建议用于生产。它仅用于学习、研究和演示人工智能驱动的网络自动化概念。