每当我想在 mininet 中运行 sshd.py 示例或我自己编写的一些客户代码时,我都会得到
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2 h3 h4 h5
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1) (h3, s1) (h4, s1) (h5, s1)
*** Configuring hosts
h1 h2 h3 h4 h5
*** Starting controller
Cannot find required executable controller.
Please make sure that it is installed and available in your $PATH:
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
虽然
$ sudo mn --test pingall
工作得很好!
我想我应该找到开放流控制器可执行文件并将其添加到路径中,但我不知道它位于哪里。但测试创建了一个控制器并且工作正常!
我尝试用
重新安装mininet$ ~/mininet/util/install.sh -a or [-fnv]
在 Ubuntu 上使用 mininet 时偶然发现了同样的问题。 构建 Mininet 对象时尝试显式指定控制器类,例如而不是
net = Mininet(topo)
做
from mininet.node import OVSController
net = Mininet(topo = topo, controller = OVSController)
这解决了我的问题。
在 OVS 的最新版本中,ovs-controller 已重命名为 test-controller。
如果尚未安装 openvswitch-testcontroller,请使用以下命令:
sudo apt-get install openvswitch-testcontroller
其次,创建到测试控制器的符号链接:
sudo ln /usr/bin/ovs-testcontroller /usr/bin/controller
这对我有用。
您也可以查看此链接:http://installfights.blogspot.com.co/2016/09/cannot-find-required-executable.html
我希望这条消息是这样的
找不到所需的可执行“控制器”。
无论如何,只要你安装了ovs-controller,例如由类似 debian 平台上的“openvswitch-controller”包提供,您所要做的就是
sudo ln /usr/bin/ovs-controller /usr/bin/controller
据我所知,安装存在问题。我尝试了 mininet 虚拟机,一切正常。
我遇到了同样的问题,我通过安装新版本的 mininet (2.1.0) 解决了它。使用 2.0.0 版本我什么也做不了。
ubuntu@ubuntu:~$ cd mininet/examples
ubuntu@ubuntu:~/mininet/examples$ dir
baresshd.py hwintf.py multipoll.py scratchnetuser.py
consoles.py limit.py multitest.py simpleperf.py
controllers2.py linearbandwidth.py popenpoll.py sshd.py
controllers.py milsontest.py popen.py tree1024.py
cpu.py miniedit.py README treeping64.py
emptynet.py multiping.py scratchnet.py
ubuntu@ubuntu:~/mininet/examples$ nano sshd.py
ubuntu@ubuntu:~/mininet/examples$ sudo python sshd.py
你试过这个吗?
或者,如果您使用 sudo mn 命令,请尝试:
sudo mn --controller=remote
我遇到了同样的问题,所以我删除了 mininet,然后使用“apt-get install mininet”再次安装,我下载了源代码并安装了 Mininet VM 中包含的所有内容。这解决了问题。
只需查看网站上的“选项 2:从源代码本机安装”: http://mininet.org/download/#option-1-mininet-vm-installation-easy-recommended
刚刚在运行 MiniEdit 时在“SDN Hub 教程 VM 64 位与 Docker”(Ubuntu 14.04)上遇到了这个问题。奇怪的是,当我从这个伟大的tutorial运行我的第一个MiniEdit拓扑时没有出现任何问题。
但是当我关闭 MiniEdit、关闭 Mininet 客户端并继续运行另一个拓扑时,我收到“Mininet 找不到所需的可执行控制器”错误。
我会注意到,在使用 MiniEdit 时,Mininet 客户端明确指出:
NOTE: PLEASE REMEMBER TO EXIT THE CLI BEFORE YOU PRESS THE STOP BUTTON. Not exiting will prevent MiniEdit from quitting and will prevent you from starting the network again during this sessoin.
在此 SDN Hub 教程虚拟机中,我使用的控制器文件是
/usr/bin/ovs-vsctl
。我需要创建一个指向名为 ln
的文件的软链接 /usr/bin/controller
,以便 MiniNet 查找控制器配置。我用命令做到了这一点:
sudo ln /usr/bin/ovs-vsctl /usr/bin/controller
最后,如果由于现有/剩余拓扑配置而出现错误,Mininet cleanup 是一个有用的命令。
sudo mn -c