OpenDayLight (Carbon 版本) 启动与组件安装
一、实验目的本实验旨在完成 OpenDayLightODL控制器的启动并安装 L2Switch 等关键组件为后续 SDN 网络实验如 OpenFlow 交换机控制、二层转发做准备。二、环境准备系统Linux推荐 Ubuntu 或 CentOS软件OpenDayLight Carbon 版本distribution-karaf-0.6.1-Carbon权限root 或 sudo 权限三、操作步骤1. 进入 root 权限bash运行sudo -i说明切换到 root 用户避免后续操作出现权限不足问题。2. 进入 ODL 安装目录bash运行cd /distribution-karaf-0.6.1-Carbon说明进入 OpenDayLight 的 Karaf 运行目录后续启动和组件安装均在此目录下进行。3. 启动 OpenDayLight Karaf 容器bash运行./bin/karaf预期结果终端会输出启动日志最后进入 Karaf 交互命令行提示符为opendaylight-userroot。等待 1-2 分钟待所有基础组件加载完成后再执行后续安装命令。截图要求截取包含启动日志末尾和opendaylight-userroot提示符的界面。4. 安装 L2Switch 及其他关键组件在 Karaf 交互命令行中依次执行以下feature:install命令安装所需组件bash运行# 安装 RESTCONF 组件提供北向 REST API feature:install odl-restconf # 安装 L2Switch 核心组件实现二层转发功能 feature:install odl-l2switch-switch # 安装 OpenFlow 插件支持 OpenFlow 交换机交互 feature:install odl-openflowplugin-all # 安装 DLux 可视化界面提供 Web 管理控制台 feature:install odl-dlux-all # 安装 MDSAL 数据存储组件ODL 的核心数据模型层 feature:install odl-mdsal-all # 安装 ADSAL 北向接口组件部分版本需依赖 feature:install odl-adsal-northbound说明每个命令执行后会自动下载并安装对应的组件过程中会输出日志等待命令执行完成提示符返回opendaylight-userroot再执行下一条。5. 验证组件安装结果执行以下命令确认所有组件已成功安装bash运行feature:list -i | grep -E odl-restconf|odl-l2switch-switch|odl-openflowplugin-all|odl-dlux-all|odl-mdsal-all|odl-adsal-northbound预期结果输出列表中所有组件的状态均为Installed。截图要求截取上述命令的执行结果确保所有目标组件的状态清晰可见。6. 访问 OpenDayLight Web 管理界面确保 ODL 控制器已启动且组件安装完成。在浏览器中输入以下 URL将[ODL_host_ip]替换为你的 ODL 控制器主机 IPplaintexthttp://[ODL_host_ip]:8181/index.html在登录界面输入默认账号密码用户名admin密码admin登录成功后进入Topology拓扑界面查看初始拓扑此时无交换机 / 主机接入界面为空。截图要求截取登录后的拓扑界面。7. 使用 Mininet 创建线性拓扑并连接 ODL 控制器打开安装了 Mininet 的虚拟机需与 ODL 控制器网络互通执行以下命令创建拓扑bash运行sudo mn --controllerremote,ip127.0.0.1 --topolinear,2 --switchovsk,protocolsOpenFlow13参数说明--controllerremote,ipxxx.xxx.xxx.xxx指定远端控制器 IP替换为你的 ODL 主机 IP。--topolinear,2创建线性拓扑包含 2 个交换机和 2 个主机h1-s1-s2-h2。--switchovsk,protocolsOpenFlow13使用 Open vSwitch指定 OpenFlow 1.3 协议。执行命令后Mininet 会创建虚拟网桥s1、s2和主机h1、h2并自动连接到 ODL 控制器。8. 在 ODL Web 界面查看拓扑变化回到 ODL 的 Web 拓扑界面点击Reload刷新按钮或直接刷新浏览器页面。此时拓扑图会显示两个交换机节点s1、s2和两个主机节点h1、h2以及它们之间的连接关系。截图要求截取显示完整拓扑的界面。9. 通过 RESTCONF 查看交换机端口信息使用浏览器或 Postman 等工具发送 HTTP GET 请求访问以下链接将127.0.0.1替换为你的 ODL 控制器 IP如需查看第二个交换机将openflow:1改为openflow:2plaintexthttp://127.0.0.1:8080/restconf/operational/network-topology:network-topology/topology/flow:1/node/openflow:1预期结果返回 JSON 格式的响应包含交换机openflow:1的端口、连接状态等信息。截图要求截取完整的响应结果。四、常见问题与排查续Mininet 无法连接 ODL 控制器原因控制器 IP 配置错误、防火墙阻止了 6653 端口通信或 OpenFlow 协议版本不匹配。解决检查--controller参数中的 IP 是否正确确保 ODL 主机和 Mininet 虚拟机网络互通。关闭 ODL 主机和 Mininet 虚拟机的防火墙如sudo ufw disable。确认 Mininet 命令中protocolsOpenFlow13与 ODL 控制器支持的版本一致。ODL 拓扑界面不显示交换机 / 主机原因Mininet 未成功连接控制器或组件安装不完整如odl-l2switch-switch、odl-openflowplugin-all未安装成功。解决检查 Mininet 终端输出确认是否有Connected to controller相关日志。重新执行feature:install命令安装缺失的组件重启 ODL 控制器后重试。刷新拓扑界面或点击Reload按钮。RESTCONF 请求返回 404/401 错误原因odl-restconf组件未安装成功或请求路径错误、权限不足。解决确认odl-restconf已安装使用feature:list -i | grep odl-restconf验证。检查请求 URL 中的 IP、端口、路径是否正确部分 ODL 版本需添加http://admin:admin[ODL_host_ip]:8080/...携带认证信息。