点击上方网络技术干货圈,选择设为星标
优质文章,及时送达
Cisco IOS On Linux(IOL)是 Cisco IOS-XE 的简化版,它是 Cisco IOS 的一种轻量级实现。IOL 并不需要完整的虚拟机(Virtual Machine, VM)环境,可以直接在 Linux 上运行,极大地减少了对系统资源的需求。IOL 节点通过更精简的方式提供了 Cisco IOS 功能,适合构建实验室、测试网络协议和验证网络设计。
相比于 Cisco 的其他模拟器(如 GNS3 或者 CML),IOL 以其轻量和易用性著称,同时,Cisco 的官方实验平台 Cisco Modeling Labs(CML)也包含了 IOL 映像文件,因此使用 CML 的用户可以很容易获取所需的映像。
Containerlab 是一个用于在容器化环境中管理网络拓扑的工具,支持多种网络设备的容器化运行。与传统网络模拟器不同,Containerlab 专注于容器化的方式,在单一主机上管理和创建复杂的网络拓扑,不仅支持 Linux 平台,还支持其他基于容器的网络设备。
https://containerlab.dev/
Containerlab 的优势包括:
资源利用率高:相比 VM,容器对 CPU 和内存的消耗更少,适合在个人电脑或服务器上部署大规模拓扑。 轻松拓展和管理:Containerlab 支持用 YAML 文件来定义拓扑,管理和自动化都非常便利。 多种设备支持:支持 Cisco、Juniper 等设备,并通过 vrnetlab 适配其他网络设备。
部署 Cisco IOL 设备的准备工作
在开始之前,确保您已具备以下条件:
Containerlab v0.58.0 或更高版本:支持 Cisco IOL 映像。 Cisco IOL 映像文件:通过 Cisco CML 2.7 或更高版本获取。 Docker 和 Vrnetlab:Vrnetlab 是一个开源工具,用于将 Cisco IOL 映像文件转换为 Docker 容器格式。
在 Containerlab 中运行 Cisco IOL 设备的详细步骤
下载并准备 Cisco IOL 映像
首先,从 Cisco CML 中下载您需要的 IOL 映像文件(通常为 .bin 文件),将其放置在方便操作的目录下,比如 ~/Downloads
。假设我们需要两个映像文件:
x86_64_crb_linux-adventerprisek9-ms
(L3 映像)x86_64_crb_linux_l2-adventerprisek9-ms.bin
(L2 映像)
克隆 Vrnetlab 仓库
为了将 IOL 映像文件转换为 Docker 容器,我们需要使用 Vrnetlab 工具。首先,将 Vrnetlab 仓库克隆到本地:
git clone https://github.com/hellt/vrnetlab.git
移动并重命名 IOL 映像文件
将下载的 IOL 映像文件移动到 vrnetlab/cisco/iol
目录下,并按以下格式重命名:
注意:将文件名中的版本号替换为实际版本,以便于后续管理。
生成 Docker 容器映像
进入 vrnetlab/cisco/iol
目录,运行以下命令生成 Docker 映像:
cd vrnetlab/cisco/iol
make docker-image
这个过程会创建适用于 Docker 的 IOL 容器映像。使用 docker images
命令可以查看生成的映像:
docker images
此时应该可以看到 vrnetlab/cisco_iol
的映像列表,例如:
编写 Containerlab 拓扑文件
接下来,通过编写 Containerlab 的拓扑文件来定义网络结构。在项目根目录下新建一个 .yaml
文件(如 multicast_01.yaml
),文件内容如下:
在上述拓扑文件中,我们定义了三个 IOL 设备:
iol-1 和 iol-2 使用 L3 映像文件。 iol-3 使用 L2 映像文件,并指定 type: l2
以便运行 L2 功能。
启动 Containerlab 拓扑
编写完拓扑文件后,通过以下命令启动 Containerlab:
containerlab deploy -t multicast_01.yaml
Containerlab 将依据 YAML 文件中的拓扑定义创建并启动网络节点,初始化完成后,您可以通过 docker ps
命令查看当前正在运行的容器。
访问和验证 IOL 设备
Containerlab 启动完成后,可以通过 SSH 访问 IOL 节点。默认 SSH 账号密码为 admin/admin
。在命令行输入以下命令,登录到 IOL 节点进行版本检查:
ssh [email protected]
执行 show version
命令确认设备信息:
---END--- 重磅!网络技术干货圈-技术交流群已成立 扫码可添加小编微信,申请进群。 一定要备注:工种+地点+学校/公司+昵称(如网络工程师+南京+苏宁+猪八戒),根据格式备注,可更快被通过且邀请进群 ▲长按加群
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...