Mininet VM设置笔记

Mininet VM是为了加快Mininet安装,而且可以很容易在linux平台上运行。 VM运行在Windows,Mac,Linux,通过VMware、VirtualBox,QEMU和KVM。

下载虚拟机之后,您将运行几个步骤来定制您的设置。 这不会花很长时间。

虚拟机设置

下载Mininet VM

下载Mininet VM https://github.com/mininet/mininet/wiki/Mininet-VM-Images

VM出来1 gb压缩和未压缩的~ 2 gb。 这是一个OVF(Open Virtualization Format)虚拟机映像 可进口的大多数虚拟机监视器。

下载并安装虚拟化项目如: VMware工作站对于Windows或Linux, VMware Fusion比如苹果电脑, VirtualBox( 免费的! 、GPL)任何平台或 qemu( 免费的! Linux,GPL)。 如果你已经有VMware,我们发现它运行比VirtualBox Mininet有点快。 然而,VirtualBox是免费下载和分发,这是一个明确的优势!

启动虚拟机

添加虚拟机并开始,在您所选择的虚拟化项目:

VirtualBox :

  1. 通常你可以双击 . ovf文件并导入它。

  2. 如果你得到错误导入 . ovf文件,您可以简单地创建一个新的虚拟机的适当的类型(例如Linux,Ubuntu 64位)和使用.vmdk的虚拟硬盘文件作为新VM。
  3. 选择“设置”,并添加一个额外的 您的网络适配器 ,你可以 使用登录到虚拟机映像。 启动虚拟机。
  4. 在设置网络VirtualBox的更多信息, 你可能想看看这些 VirtualBox特定指令

VMware :导入OVF文件,然后启动VM。

VMware VM上可能要求你安装VMware工具——如果它要求,下降。 所有图形的教程是通过X转发通过SSH(事实上,虚拟机没有安装桌面管理器),因此,VMware工具是不必要的,除非你想安装一个X11 / Gnome /等。 在你的虚拟机环境。

Qemu / KVM :

对于Qemu,类似以下工作:

qemu-system-i386 -m 2048 mininet-vm-disk1.vmdk -net nic,model=virtio -net user,net=192.168.101.0/24,hostfwd=tcp::8022-:22

KVM的:

sudo qemu-system-i386 -machine accel=kvm -m 2048 mininet-vm-disk1.vmdk -net nic,model=virtio -net user,net=192.168.101.0/24,hostfwd=tcp::8022-:22

上面的命令将设置 ssh从8022年VM主机端口转发。

相似之处 :用运输机将类似 .vmdk文件一个 .hdd形象的相似之处可以使用,然后创建一个新的虚拟机使用 .hdd图像作为其虚拟驱动器。 启动虚拟机。

登录到虚拟机

登录到虚拟机,使用下面的用户名和密码:

mininet-vm login: mininet
Password: mininet

(一些年长的虚拟机镜像可以使用 openflow/ openflow相反) 的 不启用帐户登录,您可以使用 sudo以超级用户特权运行一个命令。

SSH到虚拟机

首先,发现虚拟机的IP地址,这为VMware可能是192.168.x.y范围。 在虚拟机控制台:

ifconfig eth0

注意:VirtualBox用户设置您的网络 eth1应该使用

sudo dhclient eth1   # make sure that eth1 has an IP address
ifconfig eth1

您可能想要将地址添加到您的主机电脑的/etc/hosts文件能够通过SSH访问的名字,如果是类unix。 例如,添加一个这样OS X行:

192.168.x.y mininet-vm

192.168.x的地方。 取而代之的是虚拟机的IP地址。

SSH到VM。 我们假设本地运行的VM,额外的预防措施 ssh - x是不必要的。 ssh - y也没有验证默认超时。

ssh -Y [email protected]

如果你运行VM在QEMU / KVM净用户和 hostfwd选择上面推荐的,虚拟机的IP地址是无关紧要的。 相反你告诉SSH连接到端口8022上的主持人:

ssh -Y -p 8022 [email protected]

可选的VM定制

这些命令是可选的,可能对你有用的设置:

建立SSH自动登录

这些步骤允许您通过登录 ssh无需输入密码。 如果你从本地虚拟化软件使用控制台,然后就不需要这一步。

检查 ~ / . ssh / id_rsa~ / . ssh / id_dsa。 如果你不能找到这些文件,然后你会想生成一个SSH密钥。

在类unix系统上(OS X和Linux -你需要其他指令为Windows)——在主机,而不是虚拟机:

ssh-keygen -t rsa

加快未来SSH连接,添加您的主机的公钥到新的虚拟机。 还在主机,而不是虚拟机:

scp ~/.ssh/id_rsa.pub [email protected]:~/

现在,在VM(SSH第一):

cd ~/ && mkdir -p .ssh && chmod 700 .ssh && cd .ssh && touch authorized_keys2 && chmod 600 authorized_keys2 && cat ../id_rsa.pub >> authorized_keys2 && rm ../id_rsa.pub && cd ..

现在你应该可以不输入密码登录。

时间: 2024-10-11 14:13:02

Mininet VM设置笔记的相关文章

BigBlueButton VM安装笔记(二)

回家安装了开始用虚拟机运行,然后坐等. 他自己会联互联网下载所需的软件 中途物理机死机一次……我去…… 重新开机再搞一次 也就下载了100M左右的东西,花了20多分钟,要从git等下载一大截东西. 进入后修改默认密码,然后自动启动了bbb,用IE输入IP访问,成功了,本地局域网双机互联,测试成功,没问题. 接下来把BBB服务器能够被外网访问,使用的是家用普通路由器,简单一点,直接DMZ主机,完全暴露…… 直接访问外网IP,直接“Welcome nginx!”,那是因为bbb还没进行配置外网IP

vm 小笔记

做个笔记,免得以后忘掉 NAT:虚拟机与vmnet8在同一网段(dhcp),虚拟机通过vmnet8网卡与pc完成通信,pc跟虚拟机不在同一网段 桥接:相当于虚拟一个主机出来跟pc在同一个网段内,需手动设置,受运营商影响,如锐捷,可能不能上网 pc-vm_linux-arm:桥接模式,设置在同一网段,arm与pc用网线连接(有线网络),因为要在同一网段才能通信,所以虚拟机中的linux不能桥接到笔记本中的无线网卡去,会ping不通

关于hadoop2.x(2.7.1 2.7.2)集群配置和测试运行中Ubuntu虚拟机VM设置nat方式导致节点传输问题

集群配置都大同小异,在这里我简单说下我的配置: 主节点系统是Ubuntu 14.04 LTS x64其他两个节点在VM中系统为Centos 6.4 x64 JVM为jdk1.7_80 hadoop版本2.7.1和2.7.2都尝试了 出现的问题是: 启动hdfs系统正常,都启动起来了,jps查看如下 主节点 SecondaryNameNode和 NameNode 从节点:DataNode 但使用hfds命令dfsadmin -report发现live的datanode只有1个,而且当你不同时间re

mininet实验 设置带宽之简单性能测试

写在前面 本实验参考 这个实验写到了Opendaylight,但是其实好像和ODL没什么关系,用到的还是本地控制器POX. 值得注意的:实验之后一定要用,mn -c 命令清理进程.否则造成主机之间ping不通,端口占用等问题. 虽然是个简单的实验,但是我在过程中通过请教学长,也对虚拟控制器的理解更加深入,也能更深入体会SDN中软件这两个字. 实验思路 Python脚本实现自定义拓扑 设置链路的带宽.延迟及丢包率 iperf测试主机间的带宽性能 简而言之,一个脚本解决所有问题.本实验的核心也是读懂

JS高级程序设置笔记(六)

22.1.2 作用域安全的构造函数 作用域安全的构造函数在进行任何更改前,首先确认this 对象是正确类型的实例.如果不是,那 么会创建新的实例并返回. 多个程序员在同一个页面上写JavaScript 代码的环境中,作用域安全构造函数就很有用了.届时, 对全局对象意外的更改可能会导致一些常常难以追踪的错误.除非你单纯基于构造函数窃取来实现继 承,推荐作用域安全的构造函数作为最佳实践. 22.1.3 惰性载入函数 惰性载入表示函数执行的分支仅会发生一次.有两种实现惰性载入的方式,第一种就是在函数被

JS高级程序设置笔记(五)

13章:事件 JavaScript与Html之间的交互,是通过事件实现的.可以使用侦听器(或者处理程序)来预定事件. 13.1事件流: 什么是事件流:事件流描述的是从页面中接收事件的顺序. 13.1.1事件冒泡 什么是事件冒泡:可以用一个形象的比喻来描述.小鱼吐泡泡,小鱼在水里,泡泡会从水的最底部一直到水面上结束.事件冒泡和这个意思相近,IE的事件流叫做事件冒泡,是从最具体的元素开始,一直延伸到最顶层的那个结构.意思就是说,比如你创建了一个鼠标点击事件,当你点击这个元素的时候,浏览器会认为你点击

JS高级程序设置笔记(四)

11.DOM拓展 11.1选择符API: SelectorsAPI的核心两个方法,:querySelector()和querySlelctorAll(),在兼容的浏览器中,可以通过Domcument及Element类型的实例可以调用他们. 11.1.1 querySelector()方法: querySelector()方法接收一个css选择符,返回与该匹配的第一个元素,如果没有匹配到就返回null. 通过document调用querySelector()方法会在文档元素的范围内查找到匹配的元素

JS高级程序设置笔记(二)

5.4 RegExp类型 用这个类来表示正则表达式. var expression = /pattern/flags; pattern部分是任何简单的或者复杂的正则:每一个正则都有一个或者多个标志. 正则表达式匹配模式下支持下列3个标示 1:g 全局模式 2:i 不区分大小写 3:m 表示多行 5.4.1RegExp实例属性: 1:global:布尔值,表示是否设置了g标志. 2:ignoreCase:布尔值:表示是否设置了i标志 3:lastIndex:整数,表示开始搜索下一个匹配的字符位置,

JS高级程序设置笔记(一)

第一章   1.1 ECMA:欧洲计算机制造商会 ISO/IEC:国标标准话组织和国际电工委员会 1.2JavaScript实现 一个完整的JavaScript实现应该由以下三个不同的部分组成 (1)核心(ECMAScript) (2)文档对象模型(DOM) (3)浏览器对象模型(BOM) 1.2.1 ECMAScript 组成部分:语法.类型.语句.关键字.保留字.操作符.对象. 1.2.2 文档对象模型(DOM) 文档对象模型是针对XML但经过拓展用于HTML的应用程序编程接口(API Ap