opendaylight - 192.168.56.3 无法联系遥控器
问题描述
早上好,
我想在 VirtualBox 中设置 OpenDayLight SDN 控制器和 Mininet。到目前为止,我都安装了它们并让它们运行。我的接口是:
- 1 个 NAT
- 1 个仅主机适配器
对于这两个虚拟机。仅主机适配器的 IP 地址为 192.168.56.1。OpenDayLight VM 接收 192.168.56.3,Mininet VM 接收 192.168.56.4。
我能够 ping 两个虚拟机。我不能做的是使用以下命令创建一个简单的测试拓扑:
sudo mn --topo linear,3 --mac --controller=remote,ip=192.168.56.3,port=6633 --switch ovs,protocols=OpenFlow13
事实上,运行它会导致这个错误:
mininet@mininet-vm:~$ sudo mn --topo linear,3 --mac --controller=remote,ip=192.168.56.3,port=6633 --switch ovs,protocols=OpenFlow13
*** Creating network
*** Adding controller
Unable to contact the remote controller at 192.168.56.3:6633
*** Adding hosts:
h1 h2 h3
*** Adding switches:
s1 s2 s3
*** Adding links:
(h1, s1) (h2, s2) (h3, s3) (s2, s1) (s3, s2)
*** Configuring hosts
h1 h2 h3
*** Starting controller
c0
*** Starting 3 switches
s1 s2 s3 ...
*** Starting CLI:
mininet>
从主站点:
重要的故障排除 - 如果您在运行控制器的同一主机/桌面上运行 VirtualBox,并尝试在 Mininet VM 上启动虚拟网络会产生此错误:“无法在 ... 联系远程控制器”,那么以下解决问题:
在 VirtualBox 中,转到 File-Preferences-Network 并确保您至少有一个定义为 Host-Only 的接口。假设它的名字是 vboxnet0
在 VirtualBox - Mininet Vm - Settings - Network 中,检查适配器是否为 Host only 类型,并已连接到第 1 项 (vboxnet0) 的接口
在运行控制器和 VirtualBox 的主机上,执行“ifconfig”命令以显示机器上的所有网络接口。
搜索第 1 项中的接口(在我们的示例中为 vboxnet0)获取那里指定的 IP 地址(很可能是 192.168.56.1 - 默认值),这是在 mininet vm 中启动虚拟网络时使用的正确远程控制器 IP 地址在上面的示例中说明 (--controller=remote,ip=192.168.56.1) 。
如果您仍然无法连接,您可能需要考虑暂时禁用运行控制器的主机上的防火墙(例如,在 Linux 上,iptables -F 将完成这项工作)
有时,您启动 mininet 的方式有问题,它不会出错,但不会连接到远程服务器。这是一个错误的例子:
sudo mn --topo=tree,3 --mac --switch=ovsk --controller=remote, ip=192.168.16.10
下面是正确的例子:
sudo mn --topo=tree,3 --mac --switch=ovsk --controller=remote,ip=192.168.16.10
区别在于“remote”和“ip”之间的“SPACE”。
我看不到我想念什么。
先感谢您,
戴维德
解决方案
我终于设法解决了这个问题。
sudo ufw disable
mininet 和 ODL 都解决了这个问题。再次感谢 jamo 的提示。
推荐阅读
- python - 定期检查 gpu 内存并在空闲时运行脚本
- r - 在ggplot2中对图例的项目进行排序并手动为它们着色
- api - 将非 ssl 请求重定向到 ssl 版本的站点是否安全?
- python - Sublime 3 - 如何像在 Matlab 的“工作区”中一样查看 Sublime 中存储的变量
- c++ - How to fix an "no instance of constructor matches argument list" error in C++?
- sql - 根据 where 子句向临时表添加附加列
- arrays - Matlab在没有循环的情况下创建新的值数组
- sql - 按每个月的最后一天分组——低效运行
- scala - 在 scala 无形库中,是否有一种将产品类型(HList/Generic/NamedGeneric)转换为与其数量相等的 int 单例类型的本地方法?
- scala - Circe 无法解码包含列表的 JSON