Mininet无法连接同主机OpenDaylight控制器,端口6653/6633未监听求助
Mininet与OpenDaylight连接故障排查步骤
1. 确认OpenDaylight的OpenFlow插件已安装启用
OpenDaylight默认不会自动启用OpenFlow相关插件,需手动操作:
- 进入ODL的Karaf控制台(默认端口8181,登录账号密码为admin/admin),执行命令:
feature:list | grep openflow - 若
openflowplugin相关插件状态为uninstalled,执行安装命令:feature:install odl-openflowplugin-all - 安装完成后重启ODL服务,确保插件加载生效。
2. 检查OpenDaylight的端口监听配置
ODL的OpenFlow端口监听需手动开启:
- 查看ODL配置文件(通常路径为
$ODL_HOME/etc/org.opendaylight.openflowplugin.cfg),确认存在以下配置项:openflow.listeners=0.0.0.0:6653,0.0.0.0:6633 - 若缺失则添加该配置,之后重启ODL服务。
- 用以下命令验证端口监听状态:
确认6653/6633端口是否被Java进程(ODL)占用监听。ss -tulpn | grep java
3. 排查系统防火墙与SELinux限制
本地安全策略可能拦截端口:
- 临时关闭防火墙测试:
或永久开放端口:systemctl stop firewalldfirewall-cmd --add-port=6653/tcp --permanent firewall-cmd --add-port=6633/tcp --permanent firewall-cmd --reload - 检查SELinux状态:
若为getenforceEnforcing,临时切换为Permissive测试:
测试通过后再配置永久SELinux规则。setenforce 0
4. 确认Mininet的连接命令正确性
连接命令需匹配ODL的OpenFlow版本与端口:
- 本地连接的正确命令示例(OpenFlow1.3版本,对应端口6653):
sudo mn --controller=remote,ip=127.0.0.1,port=6653 --switch=ovsk,protocols=OpenFlow13 - 若ODL启用的是OpenFlow1.0,需修改为
port=6633和protocols=OpenFlow10,同时确保控制器类型为remote而非其他类型。
5. 检查ODL服务运行状态
确认ODL无异常退出:
- 查看ODL日志文件(通常路径为
$ODL_HOME/logs/karaf.log),搜索openflow或port关键词,排查插件加载失败、端口绑定错误等异常信息。 - 检查Karaf服务状态:
若服务未运行,执行启动命令:systemctl status opendaylightsystemctl start opendaylight
内容的提问来源于stack exchange,提问作者hanucha
相关产品推荐
相关产品推荐

