mind_nmap 项目使用教程
1. 项目目录结构及介绍
mind_nmap/
├── MindMaps/
│ ├── Devices/
│ ├── images/
│ └── testbeds/
├── LICENSE
├── NOTICE
├── README.md
├── usecase.md
└── ...
- MindMaps/: 包含生成的网络拓扑图文件,包括设备信息和测试床配置。
- Devices/: 存放每个设备的Markdown文件。
- images/: 存放项目相关的图片文件。
- testbeds/: 存放测试床配置文件。
- LICENSE: 项目的开源许可证文件。
- NOTICE: 项目相关的通知文件。
- README.md: 项目的介绍和使用说明。
- usecase.md: 项目的使用案例说明。
2. 项目启动文件介绍
项目的启动文件是 MindMaps/MindMap_job.py
。该文件用于运行网络拓扑图生成任务。
启动步骤
-
进入项目目录:
cd mind_nmap
-
进入
MindMaps
目录:cd MindMaps
-
运行启动文件:
pyats run job MindMap_job.py --testbed-file /testbeds/testbed_MindMap.yml
3. 项目配置文件介绍
项目的配置文件主要位于 testbeds/
目录下,例如 testbed_MindMap.yml
。该文件定义了网络设备的连接信息和认证信息。
配置文件示例
*** TOPOLOGY ***
devices:
Core:
alias: 'Core'
type: 'router'
os: 'iosxe'
role: dist
platform: c9600
credentials:
default:
username: admin
password: [[password]]
connections:
cli:
protocol: ssh
ip: "192.168.1.1"
arguments:
connection_timeout: 360
Dist:
alias: 'Dist'
type: 'router'
os: 'iosxe'
role: dist
platform: cat4500
credentials:
default:
username: admin
password: [[password]]
connections:
cli:
protocol: ssh
ip: "192.168.1.5"
arguments:
connection_timeout: 360
Access:
alias: 'Access'
type: 'router'
os: 'iosxe'
role: access
platform: cat9300
credentials:
default:
username: admin
password: [[password]]
connections:
cli:
protocol: ssh
ip: "192.168.1.10"
arguments:
connection_timeout: 360
配置文件说明
- devices: 定义网络设备的信息。
- alias: 设备的别名。
- type: 设备的类型(如路由器、交换机)。
- os: 设备的操作系统。
- role: 设备在网络中的角色(如核心、分布、接入)。
- platform: 设备的硬件平台。
- credentials: 设备的认证信息。
- connections: 设备的连接信息,包括协议和IP地址。
通过以上配置文件,项目可以自动生成网络拓扑图,并将其保存为Markdown和HTML格式。