E-NetDev 模拟器:IOL 镜像 FTP 上传指南


前言

IOL(IOS on Linux)是思科网络设备的轻量级模拟镜像,广泛用于路由交换实验。E-NetDev 模拟器支持通过 FTP 方式上传 IOL 镜像,实现快速部署和批量管理。本文详细介绍完整的 FTP 上传流程。


第一章:IOL 镜像基础

1.1 IOL 镜像类型

类型文件标识功能说明
IOLi86bi-linux-l3-xxx三层路由镜像(支持路由协议)
IOLL2i86bi-linux-l2-xxx二层交换镜像(支持交换功能)
IOL-L3i86bi-linux-l3-adventerprise高级企业版路由功能

1.2 文件命名规范

IOL 镜像文件名需符合特定格式才能被系统识别:

正确示例:
i86bi-linux-l3-adventerprisek9-15.4.1T.bin
i86bi-linux-l2-ipbasek9-15.2d.bin

关键要素:
- i86bi-linux-l3/l2 前缀(标识层级)
- 功能集标识(ipbase/adventerprise)
- 版本号(15.4.1T)
- .bin 后缀

第二章:FTP 上传前准备

2.1 确认 FTP 服务状态

通过 SSH 登录 E-NetDev 服务器,检查 FTP 服务:

# 检查 vsftpd 服务状态
systemctl status vsftpd

# 如未运行,启动服务
systemctl start vsftpd
systemctl enable vsftpd

2.2 确认目标目录

镜像类型存放路径权限要求
IOL 镜像/opt/unetlab/addons/iol/bin/root:unl 755
IOL 配置文件/opt/unetlab/addons/iol/自动生成

2.3 准备上传工具

操作系统推荐工具
WindowsFileZilla、WinSCP、FlashFXP
macOSFileZilla、Transmit、命令行 ftp
Linuxlftp、FileZilla、命令行 ftp

第三章:FTP 上传步骤

步骤一:连接 FTP 服务器

使用 FileZilla 图形界面:

  1. 打开 FileZilla → 站点管理器
  2. 新建站点,填写连接信息:
参数示例值
主机192.168.1.100(E-NetDev 服务器 IP)
端口21(默认 FTP 端口)
协议FTP – 文件传输协议
加密使用明文 FTP(或使用 FTPS)
登录类型正常
用户root(或具有写入权限的用户)
密码服务器 root 密码
  1. 点击连接

步骤二:导航至目标目录

连接成功后,在远程站点面板导航至:

/opt/unetlab/addons/iol/bin/

若目录不存在,手动创建:

mkdir -p /opt/unetlab/addons/iol/bin/
chown root:unl /opt/unetlab/addons/iol/bin/
chmod 755 /opt/unetlab/addons/iol/bin/

步骤三:上传 IOL 镜像文件

拖拽上传方式:

  1. 在本地站点找到 IOL 镜像文件(.bin
  2. 选中文件,拖拽至远程站点的 /opt/unetlab/addons/iol/bin/ 目录
  3. 等待上传完成(进度条显示 100%)

批量上传:

选中多个 .bin 文件,一次性拖拽上传,适合批量部署场景。


步骤四:验证文件完整性

上传完成后,通过 SSH 检查文件:

# 列出已上传的 IOL 镜像
ls -la /opt/unetlab/addons/iol/bin/

# 预期输出:
-rwxr-xr-x 1 root unl 104857600 May  8 00:15 i86bi-linux-l3-adventerprisek9-15.4.1T.bin
-rwxr-xr-x 1 root unl  89128960 May  8 00:16 i86bi-linux-l2-ipbasek9-15.2d.bin

确保文件权限为 755(所有者可读写执行,组和其他用户可读执行),属主为 root:unl


第四章:生成 IOL 配置

4.1 运行配置生成脚本

E-NetDev 提供自动配置生成工具,根据上传的镜像自动生成运行参数:

# 进入 IOL 配置目录
cd /opt/unetlab/addons/iol/

# 运行配置生成脚本
python3 /opt/unetlab/scripts/iol_generator.py

# 或执行系统自带修复命令
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

4.2 检查生成的配置文件

配置生成后,检查以下文件:

# 查看 IOL 配置文件
cat /opt/unetlab/addons/iol/iourc

# 内容示例:

[iol]

license = xxxx-xxxx-xxxx-xxxx type = 0

iourc 文件包含 IOL 运行所需的授权信息,由系统自动生成或需手动配置。


4.3 修复权限(关键步骤)

每次上传新镜像后必须执行:

# 命令行修复
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

# 或 Web 界面修复
# System → System Settings → Fix Permissions

此操作确保:

  • 文件权限正确(root:unl 755
  • 系统数据库更新镜像列表
  • Web 界面可识别新上传的 IOL 镜像

第五章:Web 界面验证

5.1 刷新镜像列表

  1. 登录 E-NetDev Web 界面
  2. 进入任意实验室编辑页面
  3. 右键点击画布 → Add Node(添加节点)
  4. 在设备类型列表中查找 IOL 设备

5.2 确认镜像可用

检查项预期结果
设备列表显示出现 “IOL” 或 “Cisco IOL” 分类
镜像版本显示列出已上传的版本号(如 15.4.1T)
节点添加测试成功添加节点并启动运行

第六章:高级技巧与故障排查

6.1 命令行 FTP 上传(无图形界面场景)

# 连接 FTP 服务器
ftp 192.168.1.100

# 登录
Name: root
Password: [输入密码]

# 切换至二进制模式(防止文件损坏)
ftp> binary

# 导航至目标目录
ftp> cd /opt/unetlab/addons/iol/bin/

# 上传文件
ftp> put /本地路径/i86bi-linux-l3-adventerprisek9-15.4.1T.bin

# 退出
ftp> quit

# 修复权限
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

6.2 FTPS 安全传输

若服务器启用 FTPS,使用 lftp 工具:

lftp -u root ftps://192.168.1.100
set ssl:verify-certificate no
cd /opt/unetlab/addons/iol/bin/
put i86bi-linux-l3-adventerprisek9-15.4.1T.bin
bye

6.3 常见问题排查

问题现象可能原因解决方案
FTP 连接失败服务未启动systemctl start vsftpd
上传权限拒绝目录权限不足chmod 755 /opt/unetlab/addons/iol/bin/
Web 界面不显示镜像未修复权限执行 unl_wrapper -a fixpermissions
镜像启动报错文件传输模式错误重新以 binary 模式 上传
版本号识别错误文件名不规范i86bi-linux-lx-功能集-版本.bin 格式重命名
IOL 授权失败iourc 文件缺失运行配置生成脚本或手动创建

第七章:IOL 与 QEMU 镜像对比

特性IOL 镜像QEMU 镜像
文件大小较小(50-150MB)较大(500MB-数GB)
启动速度快(秒级)较慢(分钟级)
功能完整度基础路由交换完整设备功能
资源占用低(CPU/内存少)高(需分配更多资源)
适用场景大规模拓扑、快速测试复杂功能验证、生产模拟
上传方式FTP 直接上传FTP/SFTP/ishare 均可

文件路径速查表

用途绝对路径
IOL 镜像存放/opt/unetlab/addons/iol/bin/
IOL 配置文件/opt/unetlab/addons/iol/iourc
权限修复命令/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
配置生成脚本/opt/unetlab/scripts/iol_generator.py

E-NetDev 模拟器的 IOL 镜像 FTP 上传遵循”连接 → 上传 → 修复权限 → 验证”四步流程。FTP 方式传输效率高、操作直观,特别适合批量镜像的快速部署场景。


© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享