摘要:
这里给出了Mininet在ubuntu 12.04 KVM (qemu 1.0)的环境下测试
提前准备:宿主机ubuntu + 虚拟机KVM(官方给出的镜像是vmdk vmware格式,教程中给出了vmdk到KVM镜像qcow2装换)
操作系统:ubuntu server amd64
安装完成后设置宿主机网络为
ubuntu@node2:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.12
gateway 192.168.1.1
netmask 255.255.255.0
auto eth1
iface eth1 inet manual
auto br0
iface br0 inet static
address 192.168.1.18
gateway 192.168.1.1
netmask 255.255.255.0
bridge_ports eth1
bridge_stp on
bridge_maxwait 0
重启网络服务,出现 br0网桥,这里假设有双网卡。单网卡也可以见后文。
然后安装 KVM
apt-get install -y kvm libvirt-bin
添加用户到libvirtd组
useradd $USER libvirtd
virsh net-destroy virtbr0 && virsh net-undefine virbr0
然后重启libvirt-bin
service libvirt-bin restart
对于单网卡使用KVM桥接方式的的用户
brctl addbr br0
ifup br0
ifconfig br0 promisc
ifconfig br0 192.168.1.100 netmask 255.55.255.0 dev br0
就可以使用KVM桥接方式网桥br0
下载 mininet vmware镜像
wget https://github.com/downloads/mininet/mininet/mininet-2.0.0-113012-amd64-ovf.zip
转化镜像 vmware 格式到 kvm支持的格式
如果使用的是vmware workstation 略过
使用KVM 并且 qemu-img 版本1.0 报错
qemu-img convert -O qcow2 mininet-vm-disk1.vmdk mininet-vm-disk1.qcow2
报错
ubuntu@node2:~/vmimg/mininet-ovf$ qemu-img convert -O qcow2 mininet-vm-disk1.vmdk mininet-vm-disk1.qcow2
qemu-img: error while reading sector 131072: Invalid argument
ubuntu@node2:~/vmimg/mininet-ovf$ qemu-img convert -f vmdk -O qcow2 mininet-vm-disk1.vmdk mininet-vm-disk1.qcow2
qemu-img: error while reading sector 131072: Invalid argument
ubuntu@node2:~/vmimg/mininet-ovf$
conversion of a VMDK image with qemu-img failed with “error while reading sector 131072: Invalid argument”解决办法http://serverfault.com/questions/429478/conversion-of-a-vmdk-image-with-qemu-img-failed-with-error-while-reading-sector
原因是qemu的版本太低需要大于1. x
cd /tmp
apt-get install apt-get install libglib2.0-dev
wget http://wiki.qemu.org/download/qemu-1.2.0.tar.bz2
tar xf qemu-1.2.0.tar.bz2
cd qemu-1.2.0 && ./configure && make -j16 (时间较长)
在/etc/libvirt/qemu/下创建mininet.xml(xml文件格式定义KVM镜像配置具体google "qemu syntax")
sudo cat mininet.xml
[sudo] password for ubuntu:
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit mininet
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>mininet</name>
<uuid>3245e642-05dc-bd23-6d0e-e7582dc00660</uuid>
<memory>4194304</memory>
<currentMemory>4194304</currentMemory>
<vcpu cpuset='1,3,5,7,9,11,13,15'>4</vcpu>
<os>
<type arch='x86_64' machine='pc-1.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<cpu match='exact'>
<model>Westmere</model>
<vendor>Intel</vendor>
<feature policy='require' name='tm2'/>
<feature policy='require' name='est'/>
<feature policy='require' name='vmx'/>
<feature policy='require' name='ds'/>
<feature policy='require' name='ss'/>
<feature policy='require' name='vme'/>
<feature policy='require' name='rdtscp'/>
<feature policy='require' name='ht'/>
<feature policy='require' name='dca'/>
<feature policy='require' name='pbe'/>
<feature policy='require' name='tm'/>
<feature policy='require' name='pdpe1gb'/>
<feature policy='require' name='ds_cpl'/>
<feature policy='require' name='xtpr'/>
<feature policy='require' name='acpi'/>
<feature policy='require' name='monitor'/>
</cpu>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/mininet-vm-disk1.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<interface type='bridge'>
<mac address='52:54:00:31:05:76'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
virsh create /etc/libvirt/qemu/mininet.xml
virsh consloe mininet
使用mininet:mininet
登陆修改
sudo ifconfig eth0 192.168.1.19 netmask 255.255.255.0 up
sudo route add default gw 192.168.1.1
sudo echo "nameserver 61.139.2.69" > /etc/resolv.conf
sudo echo "nameserver 61.139.2.69" > /etc/resolvconf/resolv.conf.d/base
账户 mininet
密码 mininet
配置静态IP
root@mininet-vm:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.19
gateway 192.168.1.1
netmask 255.255.255.0
root@mininet-vm:~#
参考:
- http://mininet.github.com/vm-setup-notes/
- https://github.com/mininet/mininet/downloads/
- http://serverfault.com/questions/429478/conversion-of-a-vmdk-image-with-qemu-img-failed-with-error-while-reading-sector
注意这里给出的是ubuntu12.04版本的安装教程,在ubuntu 12.10 中qemu已经是1.2版本了,不存在qemu-img convert问题。
相关推荐
1. **Mininet的基础知识**:如何安装、配置和使用Mininet来模拟网络拓扑。 2. **OpenFlow协议**:了解其工作原理,以及如何通过OpenFlow控制器与网络设备交互。 3. **SDN控制器编程**:如何编写或选择合适的控制器...
### Openflow学习总结 #### 第1章 概述 OpenFlow是一种用于软件定义网络(Software Defined Networking, SDN)的技术,它将网络设备的控制平面与数据平面分离,实现了网络流量的灵活控制。本章首先介绍了OpenFlow...
Mininet的强大之处在于其能够轻松地定义和操作网络拓扑。在示例中,我们创建了一个简单的MyTopo类,包含了四个主机和四个交换机,以及它们之间的连接。你可以根据需求修改这个拓扑类,添加更多的节点或链接。例如,...
教程首先介绍了一些基础操作,比如设置环境和快速入门,为学习者提供了一个配置好的虚拟机环境(SDNHubVM),其中已安装了支持OpenFlow 1.3版本的Wireshark和OpenFlow协议解析器OFDissector。Wireshark是一个网络...
4. **安装和配置控制器**:博主可能介绍了如何安装OpenFlow控制器,如OpenDaylight、NOX或Ryu,并展示如何配置控制器以连接到OpenFlow交换机。 5. **基本操作示例**:可能包括创建一个简单的流表项,例如,让所有...
本实验旨在通过回顾JDK的安装配置,学习如何在Ubuntu系统中安装OpenDaylight,并利用Mininet创建拓扑,抓取并分析OpenFlow协议数据,从而加深对OpenFlow协议的理解。 二、实验任务与步骤 1. 安装Java Development ...
### SDN网络系统之Mininet与API详解 #### Mininet特性及其实现 Mininet是一款开源的软件定义网络(Software Defined Networking, SDN)研究平台,它能够在单一计算机上模拟出一个包含数百甚至上千个虚拟节点的网络...
总之,结合Mininet和ONOS,你可以快速搭建一个SDN开发环境,这对于学习SDN概念、实践网络编程和探索SDN创新具有极大的价值。无论是初学者还是经验丰富的开发者,这样的环境都能提供一个直观、灵活的试验台,有助于...
OpenFlow协议是一种网络协议,它是在斯坦福大学的实验室中诞生的,最初是作为交换机的形式出现,之后在Gates Building部署。OpenFlow的核心创新在于它赋予了传统二层和三层交换机细粒度流转发的能力,不再局限于基于...
Mininet可以方便地部署OpenFlow控制器和交换机,是学习和测试SDN应用的理想平台。 **OpenVSwitch** OpenVSwitch(Open vSwitch)是一个开源的虚拟交换机,支持多种虚拟化技术,如KVM、Xen、VMware等。它不仅可以在...
在“Mininet+Ryu安装及GUI可视化(ubuntu20.04).docx”文档中,你将找到在Ubuntu 20.04系统上安装Mininet和Ryu的详细步骤。首先,你需要确保系统满足基本的依赖项,如Python和相关的库。然后,通过Git克隆Mininet和...
Mininet 提供了一种便捷的方式来进行 SDN(Software Defined Networking)研究和开发,因为它模拟了 OpenFlow 网络,使得开发者可以方便地试验控制器和流表规则。 在 Mininet 环境的搭建过程中,首先需要一个支持...
2. **安装与使用**:安装Mininet通常涉及克隆其Git仓库(对应于这里的“mininet-master”),然后运行安装脚本。用户可以通过命令行交互式地启动、停止和配置网络,或者编写自定义的Python脚本来自动化过程。 3. **...
在计算机网络的学习和研究中,Mininet是一个不可或缺的平台,能够帮助理解网络协议、设计和性能评估。 在进行Mininet实验时,首先需要对OpenFlow概念有所了解。OpenFlow是一种网络协议,它允许网络设备(如交换机)...
这些VM包含以下工作组件,以及从提取之日起发生的所有错误的快照。 如果需要任何Linux知识,则很少。 如果您以前没有时间,学习Linux绝对不会是一个坏时机。 会有很多错误,但这都是全新的,所以要耐心或帮助解决它...
本篇将从多个维度深入解析OpenFlow的技术细节,包括其协议结构、安全机制、控制器实现、以及与之配套的网络模拟工具等内容。 OpenFlow概念最早由斯坦福大学的Nick McKeown教授及其研究团队提出。它起始于实验室的...
在Ubuntu 12.04上安装Mininet,需要先安装必要的依赖,如IPRoute2和X11,然后从GitHub下载Mininet源码,编译并安装。 在Floodlight和Mininet协同工作时,Mininet会创建一个包含多个虚拟主机和交换机的网络,并将...
2. Mininet安装与配置:如何在Linux环境下安装Mininet,以及基本的命令行操作。 3. 创建网络拓扑:如何使用Mininet API创建各种复杂的SDN网络拓扑,包括交换机、主机和链路的配置。 4. 测试与调试:利用Mininet进行...
广东工业大学SDN-Qos实验报告,包括以下实验,每个均有实验目的、原理、步骤、结果和小结 一、 实验名称 Open vSwitch网桥管理 ...九、 实验名称:Mininet的安装 十、 实验名称:OpenFlow Packet-in/out消息
第二个实验是如何利用POX控制器和OpenFlow协议,软件编写一个自学习型交换通信模块加入到控制器中。最后在Mininet中对这广播交换通信两个模块进行网络性能仿真,结果表明Mininet平台能够以较高的保真度仿真SDN网络的...