如何在utuntu下安装mininet

如何在utuntu下安装mininet,第1张

Mininet教程

摘要:

这里给出了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

ssh [email protected]

账户 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:~#

你这个朋友尽整一些高难度动作,设置方面是没有问题的,其实也很简单。但还有一些问题怕是你我这些非专业人员所无法解决的。不过我还是可以为你说一下怎么设置:

A-B-C-D四个网桥,其实中间只能跨过两段距离,安装应该是A-----(B,C)-------D,详细设置容后,如果要跨三段距离,应该再买两个E,F。摆放位置应该是A-------(B,C)--------(D,E)---------F。因为你掌握了一对网桥的设置,我就不详细说了。A (接入点,192.168.1.20.);B(站,192.168.1.21);C(接入点,192.168.1.22);D(站,192.168.1.23),依此类推。注意:括号里面的B和C可以直接用B的出线另一头当作C的入线。我认为最难解决的是:如果B和C安装在山坡上,那么电源如何解决?我也想过用太阳电池板来充当电源,但:1、价格贵;2、电压还不一定够不够;3、防盗问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/bake/11716586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存