1.Mininet安装(以Virtualbox为例,mininet 2.1)
下载mininet镜像,解压得到一个ovf文件和一个vmdk文件。双击ovf导入失败,改为手动添加:virtualbox新建虚拟机,选虚拟硬盘时采用“使用已有虚拟硬盘文件”,选中那个vmdk文件即可。
完成安装,启动虚拟机,用户名和密码都是mininet
2.Mininet网卡配置
网卡1采用NAT方式,网卡2采用Host-only方式。(宿主机器会多一个名为vboxnet0的网卡,IP地址为192.168.56.1)
进入虚拟机以后,ifconfig只能看到lo,这是因为两块网卡还没配置IP等。ifconfig -a可以看到所有网卡,如eth2(NAT模式)和eth3(host-only模式)。
sudo dhclient eth3会动态分配一个IP,我这里是192.168.56.101,这样就和宿主机一个网段,可以通信了。
3.Mininet连接宿主机器的POX控制器
首先,宿主机器启动POX: ./pox.py openflow.of_01 --address=192.168.56.1 py (py是启动命令行)
然后,mininet里连接:sudo mn --controller=remote,ip=192.168.56.1
如果这时报错:Unable to contact the remote controller at ...,则有可能时宿主机器防火墙的问题,sudo iptables -F删除即可。
4.自定义mininet网络拓扑
参考/home/mininet/mininet/custom里的topo-2sw-2host.py拓扑文件。(P.S.可以用scp命令把这个文件拷到宿主机器上修改。mininet自带了ssh,宿主机也要开启ssh服务)
假如自定义了一个网络拓扑,文件名是example.py,而在文件最后topos字典里定义了键值为mytopo:topos = { ‘mytopo‘: ( lambda: MyTopo() ) },则启动该拓扑网络的命令是:
sudo mn --custom ~/mininet/custom/example.py --topo mytopo
未完待续。。。