holist-ix / miru
一个用于与IXP Manager配合使用并带来全面互联网交换功能的软件包
Requires
- php: ^8.0
README
Miru设计为互联网交换点的网络图绘制和规划工具。它是作为HolistIX项目的一部分的绘图工具。Miru是IXP Manager的扩展,允许操作员绘制其内部网络,并基于此生成网络配置。
Miru与Athos交互,在将网络配置部署到HolistIX的SDN控制器Cerberus之前对其进行测试。
需求
Ubuntu <= 20.04 IXP Manager <= 6.0 docker <= 19.0
请注意,由于IXP Manager v6的变化,早期版本不兼容。
安装过程
IXP Manager
本指南将基于并遵循IXP Manager安装说明。安装说明使用以下默认安装位置,根据需要更改
IXPROOT=/srv/ixpmanager MY_WWW_USER=www-data
Miru
- 在
${IXPROOT}
中运行composer require holist-ix/miru
- 编辑
$IXPROOT/.env
取消注释并更改VIEW_SKIN=miru
软件包已安装,但我们还需要执行几个步骤,以便我们可以在IXP Manager中访问它。现在我们需要将软件包中包含的皮肤添加到IXP Manager中,以便能够使用Miru软件包。
以下脚本将在IXP Manager的皮肤文件夹内设置一个软链接,这有助于在Miru更新时保持相关部分的更新。
ln -s ${IXPROOT}/vendor/holist-ix/miru/src/skins/miru ${IXPROOT}/resources/skins/miru cp ${IXPROOT}/vendor/holist-ix/miru/src/config/custom.php ${IXPROOT}/config/custom.php ln -s ${IXPROOT}/vendor/holist-ix/miru/src/js/mxgraph ${IXPROOT}/public/mxgraph # Ensure that our user still has permision to work with everything chown -R $MY_WWW_USER: ${IXPROOT}/resources/skins/miru chmod -R ug+rw ${IXPROOT}/resources/skins/miru
默认安装期望Athos安装在/athos
。要将此更改为不同的目录,请更改${IXPROOT}/config/custom.php
。默认配置还包括示例选项,如果您打算使用,例如Cerberus的API端点。
用法
IXP Manager需要设置至少1个基础设施、设施、机架和交换机才能使用。
初始设置过程完成后,您可以从左侧侧边栏的底部访问Miru。
第一次打开Miru时,您将看到一个空白画布,Miru会添加IXP Manager中找到的所有交换机。交换机对象将包含与IXP Manager中关联的所有信息,包括名称、环回地址、主机名、连接到交换机的所有成员以及所有被指定为交换机之间内部链路“核心”端口的端口。可以将这些交换机对象拖放到画布上。
注意:目前,在IXP Manager中没有声明数据路径ID(dpids)的方法。如果您打算直接在生产中使用生成的配置,请右键单击画布上的交换机对象,选择
编辑数据...
->添加属性
,并添加一个键为“dpid”的属性,其值为交换机的dpid。
可以通过将鼠标悬停在交换机对象上,单击并拖动出现的箭头之一并将其连接到另一个交换机来连接交换机。Miru将在两个交换机上找到可用端口并将它们关联起来作为链接。如果链接返回为undefined
,请确保每个交换机至少有1个设置为core
并且当前未被其他链接使用的端口。
如果您想更改Miru选择的端口,您可以在链接上右键单击并选择 编辑交换机之间的链接
,然后从可用端口中选择。如果您想要的端口不在列表中,请检查它是否分配给了另一个链接,如果没有,请确保在IXP Manager中已将其指定为 核心
端口。
一旦您拥有代表您网络的拓扑结构,您可以从 文件
-> 开始测试
生成和测试配置。Miru将继续生成拓扑表示并将其存储在custom.php
中声明的athos目录中。这将模拟Miru中绘制的网络并测试所有主机之间的连通性,然后报告结果。更多信息请参阅athos代码库。
注意:如果此步骤失败,最可能的原因是权限问题。请确保
$MY_WWW_USER
有权限在$ATHOSROOT
中读取和写入。Athos的未来更新将移除此要求。