The instructions in this document are applicable to personal computers running the following Operating Systems:

Similar documents
The instructions in this document are applicable to personal computers running the following Operating Systems:

Installation of the DigitalSystemsVM virtual machine

A short walk-through of Mininet and POX

Installing and Using Docker Toolbox for Mac OSX and Windows

Android Studio Setup Procedure

Module 2 OpenFlow Configuration Lab

IOL INTACT Installation Guide

Labtainer Student Guide

Automatic Creation of a Virtual Network with VBoxManage [1]

Building CircuitPython

OpenFlow Configuration Lab

Installation of the DigitalSystemsVM virtual machine

Lab #5 Guide: Installing Ubuntu as a Virtual Machine

Building a 64-bit CentOS 7 Workstation using Oracle Virtual Box

OPENSTACK CLOUD RUNNING IN A VIRTUAL MACHINE. In Preferences, add 3 Host-only Ethernet Adapters with the following IP Addresses:

Cisco Modeling Labs OVA Installation

Lab00: Software Environment Setup

Sun VirtualBox Installation Tutorial

Downloading and installing Db2 Developer Community Edition on Ubuntu Linux Roger E. Sanders Yujing Ke Published on October 24, 2018

Ubuntu Supplement to X350 & X550 User s Guide NComputing X350 & X550 vspace Software for Linux on Ubuntu 8.04

Manual Of Virtualbox Additions Ubuntu Server 12.04

TangeloHub Documentation

Deploying Cisco UCS Central

1. Install a Virtual Machine Download Ubuntu Create a New Virtual Machine Seamless Operation between Windows an Linux...

NoMachine (free version) Installation Guide

CompTIA Linux+ Guide to Linux Certification Fourth Edition. Chapter 2 Linux Installation and Usage

Masternode Guide #1. Single masternode on Linux VPS (Ubuntu)+ control wallet on local PC (Windows)

Install the Marionnet network simulator on Kali Linux Light vbox-i686

Denial-of-Service (DoS) Attacks in an SDN Environment

WA2592 Applied Data Science and Big Data Analytics. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc.

Test Lab Introduction to the Test Lab Linux Cluster Environment

CHAPTER III PLANNING

Working with Ubuntu Linux. Track 2 Workshop June 2010 Pago Pago, American Samoa

IT 341 Introduction to System Administration Project I Installing Ubuntu Server on a Virtual Machine

Mininet/Openflow. Objectives. Network Topology. You will need a Number

Contents. Note: pay attention to where you are. Note: Plaintext version. Note: pay attention to where you are... 1 Note: Plaintext version...

Step-by-step guide for the libradtran virtual machine. A) Installation

Code::Blocks Student Manual

ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow

Lab Exercise 3 (part A) Introduction to Mininet

Manual Of Virtualbox Additions Linux Mint 12

Pengwyn Documentation

Getting Started with Linux Development

NoMachine (free version) - Installation and Configuration Guide

RocIT Defender User s Guide ViSoS TM Virtual System on a Stick

Virtual Workplace Personal Device Client Installation Instructions

2018 XDT Pty Ltd Unit 2, 10 Westall Rd, Clayton VIC 3169 Australia Phone +61 (0) Fax

Orchid Fusion VMS Installation Guide

CTEC1863/2018F Bonus Lab Page 1 of 5

Outline. SDN Overview Mininet and Ryu Overview Mininet VM Setup Ryu Setup OpenFlow Protocol and Open vswitch Reference

Lab Working with Linux Command Line

OpenStack Havana All-in-One lab on VMware Workstation

Code::Blocks Student Manual

Linux Kung Fu. Stephen James UBNetDef, Spring 2017

(Ubuntu 10.04), the installation command is slightly different.

Oracle SOA Suite/BPM Suite VirtualBox Appliance. Introduction and Readme

TinyNet. Creating Virtual Machines

Operating Systems Lab 1. Class topic: Installation of the operating system. Install Ubuntu on Oracle VirtualBox

VMware Horizon Migration Tool User Guide

ADVANCED COMPUTER NETWORKS Assignment 9: Introduction to OpenFlow

Linux Systems Administration Getting Started with Linux

JCCC Virtual Labs. Click the link for more information on installing on that device type. Windows PC/laptop Apple imac or MacBook ipad Android Linux

Quick Start Guide to Compute Canada Cloud Service

Setting up Docker Datacenter on VMware Fusion

VMware Horizon Client Install for non-uh Devices (VDI)

PVS Deployment in the Cloud. Last Updated: June 17, 2016

Simplified CICD with Jenkins and Git on the ZeroStack Platform

Docker for Developers

Experiment Task Design:

Chapter 15: Using GemStone/S 64 Bit in a VMware Appliance

Lab E2: bypassing authentication and resetting passwords

Installation Guide: VirtualBox, Windows 10, and Microsoft Visio (Mac OS)

CSN08101 Digital Forensics. Module Leader: Dr Gordon Russell Lecturers: Robert Ludwiniak

LinX Software Suite v3 Getting Started

Redhat OpenStack 5.0 and PLUMgrid OpenStack Networking Suite 2.0 Installation Hands-on lab guide

FireFox. CIS 231 Windows 10 Install Lab # 3. 1) Use either Chrome of Firefox to access the VMware vsphere web Client.

The Python Mini-Degree Development Environment Guide

DogeCash Masternode Setup Guide Version 1.2 (Ubuntu 16.04)

Parallel Programming Pre-Assignment. Setting up the Software Environment

LiveNX Upgrade Guide 8.0.x to 8.1.x

CS197U: A Hands on Introduction to Unix

INTRODUCTION TO LINUX

DesktopPlayer for Windows

How to Deploy a Barracuda NG Vx using Barracuda NG Install on a VMware Hypervisor

Perl and R Scripting for Biologists

ardpower Documentation

Orchid Core VMS Installation Guide

Start the Ubuntu Linux VM in VirtualBox. In the VM X Window session, logon as the default user osboxes.

Due: October 8, 2013: 7.30 PM

Due: February 26, 2014, 7.30 PM

Galaxy How To Remote Desktop Connection and SSH

to arrive at the system information display. In MacOS X use the menus

Overview LEARN. History of Linux Linux Architecture Linux File System Linux Access Linux Commands File Permission Editors Conclusion and Questions

Setting up a Chaincoin Masternode

How To Start Mysql Using Linux Command Line Client In Ubuntu

manifold Documentation

Cloud Computing II. Exercises

Set up, Configure, and Use Docker on Local Dev Machine

Cisco Modeling Labs ISO Installation

Ubuntu Manually Mount Cdrom Drive Command Line Vmware

Transcription:

Preliminary Notes The instructions in this document are applicable to personal computers running the following Operating Systems: Microsoft Windows from version 7 up to 10 Apple Mac OS X from versions 10.8 Mountain Lion up to 10.11 El Capitan Debian-based Linux, such as Ubuntu (recommended) from versions 12.04 Precise to 14.04 Trusty Tahr. It is not recommended to apply the setup to a virtual machine, although possible, as the configuration requires an hypervisor environment (Virtualbox) in the host system. For the aforementioned Operating Systems, the setup will use package managers in order to turn the process well controlled (versions, updates), simple to cleanup and not affecting the host environment. 1 Setting up the Environment This section describes the minimum setup of the experimental lab environment for systems running Windows, Mac OS X and Linux. 1.1 Microsoft Windows Setup The recommended Package Manager for Microsoft Windows is Chocolatey, like the Linux apt-get or yum https://chocolatey.org/. It was designed to be a decentralized framework for quickly installing applications and tools, and is built on the NuGet infrastructure, currently using Windows PowerShell. First, create a directory for your projects, for example: showstringspaces C:\> mkdir C:\ Users \ userid \ Desktop \ MyProjects To install Chocolatey, open an an elevated (i.e. Admin) Windows Command Prompt and paste the text string (following the command prompt) from the box below and press Enter. showstringspaces C:\ > @ powershell -NoProfile -ExecutionPolicy Bypass -Command " iex (( new-object net. webclient ). DownloadString ( https://chocolatey. org/install.ps1 ))" && SET PATH = %PATH% ; %ALLUSERSPROFILE% \ chocolatey \ bin 1

For a better command prompt alternative for Windows, install ConsoleZ, a program that provides many useful features like tabs, layout changes, support for Windows clear type, keyboard shortcuts and many other: showstringspaces C:\ > choco install consolez Once installed, launch ConsoleZ by calling console from the command prompt. Optionally, ConsoleZ can be pinned as icon to the taskbar. In the menu of Console select Edit Settings, and under Console, set your default Startup Directory, for example, C:\Users\Admin\Desktop\MyProjects. Under Appearance, set the font to Consolas 11, Black background. Under Behavior set Copy on Select. Under Hotkeys, change the New Tab 1 hotkey to Ctrl-T, Copy Selection to Ctrl-C and Paste to Ctrl-V. Under Tabs, verify that the Main is set to PowerShell, and if run as administrator. It is now time to install the other packages for the Lab experiments environment. Start a Console and install the following programs using Chocolatey: showstringspaces C:\ > choco install wget C:\ > choco install git C:\ > choco install virtualbox C:\ > choco install vagrant After this point, and in order to settle everything (Windows is quite tricky in updating environment variables), close the Console and relaunch it again. Additionally, as an SSH (secure shell) client is not distributed with Windows, it is necessary to tell the system where to find the SSH client installed with GIT: Open the Control Panel Go to System and Security Click on System, then on the Change Settings button Display the Advanced tab and click on Environment Variables... Look for the Path variable in the System variables list, select it then Edit... At the end of the string, add the following path to Git s bin: C:\ Program Files \ Git \ bin \;C:\ Program Files \ Git \ usr \ bin Note: You can uninstall Chocolatey by simply removing the (invisible) folder C:\ ProgramData\chocolatey (environment variable %ProgramData%), since it is not actually installed on the system. 2

1.2 Apple Mac OS X The recommended Package Manager for Mac OS X is Homebrew, like the Linux apt-get or yum http://brew.sh. Homebrew installs packages to their own directory and then symlinks their files into /usr/local. As a first step you may need to install XCode from Apple (free from the App Store), in order for Homebrew to be able to compile applications from their source code. Macs do not have any of the developer s Command Line tools installed by default, so we need to install them before we can get anywhere. After having XCode run the following command in terminal: : $ xcode - select -- install To install Homebrew, open Terminal and at the shell prompt paste the text (starting at the ruby invocation) from the box below and press enter. : $ ruby -e "$( curl -fss https :// raw. githubusercontent. com / Homebrew / install / master / install )" The Terminal will tell what it is about to do, and ask you if you want to proceed: press Enter to do so. The Terminal may then ask for a password: this is the password to the Admin account on your computer. Type your password, and press Enter. When it s done, the Terminal will say that the installation was successful, and ask you to run brew doctor. Do as it suggests: u: $ brew doctor This will make Homebrew inspect your system and make sure that everything is set up correctly. If the Terminal informs of any issues, you will need to fix them, and then run brew doctor again to verify that all was correctly fixed. When everything is set up correctly, you will see the message Your system is ready to brew, and you can move on. Homebrew installs packages to their own directory under /usr/local/cellar/ and then symlinks their files into /usr/local. Homebrew Cask extends Homebrew and brings its elegance, simplicity, and speed to GUI Mac OS X applications, installing the OS X Apps under /opt/homebrew-cask/caskroom/ and then symlinking their files the user /Applications/ folder. It is now time to install the other packages for the Lab experiments environment. Open Terminal and install the following programs using Homebrew: : $ brew install wget : $ brew install git : $ brew install caskroom / cask / brew - cask : $ brew cask install virtualbox : $ brew cask install vagrant 3

For each command the Terminal will start displaying lots of information, as Homebrew is keeping you updated on what it is doing. This flow of information will be a guide to let you know whether or not the computer is still working, and so, do not interrupt it. : $ Now it is time to create a directory for your Lab projects, for example: mkdir / Desktop / MyProjects Note: You can uninstall Homebrew and all packages with the following command: : $ rm -rf / usr / local / Cellar / usr / local /. git && brew cleanup 1.3 Linux For a Linux system, namely Ubuntu, the standard package manager apt-get is already present, as well as some packages, such as wget. To install the other packages open a Terminal and issue the following commands (answer Y to the prompts, and several dependencies will also be installed). : $ sudo apt - get install git Please note that for latest distributions of Ubuntu, such as 14.04, 14.10 or 15.04, a careful install of virtualbox is required as the package architecture has to match the Linux kernel architecture. Additionally, the VirtualBox package in Ubuntu (as of release 14.04) has some issues when running in RAM-constrained environments. For that purpose you need to ensure that you have the adequate sources referenced for your kernel architecture (14.04 Trusty / 14.10 Utopic / 15.04 Vivid ). Start by editing the sources list issuing the following command: : $ sudo nano / etc / apt / sources. list Add the following line to the list (exemplified for 14.04 Trusty kernel): deb http :// download. virtualbox. org / virtualbox / debian trusty contrib You also need to add and register the Oracle public key (combined command): : $ wget -q https :// www. virtualbox. org / download / oracle_vbox. asc -O - sudo apt - key add - Now you can add Virtualbox: : $ sudo apt - get install virtualbox - 4. 3 4

For Vagrant there is still an issue and we need to get the latest version (not in Ubuntu repository) by downloading the package from the Vagrant website http://downloads. vagrantup.com/ and then issuing the following command (from the downloads folder, adapt to your version): : $ dpkg -i vagrant_1.7.4 _x86_64. deb Reboot the system and create a directory for your Lab projects, for example: : $ mkdir / Desktop / MyProjects 2 First Experiment The first experiment, valid for all the systems (Windows, Mac and Linux) will consist on the launch of an Emulated network using Mininet http://mininet.org. Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (in this case, a Virtual Machine). For that purpose it is necessary to provision through Vagrant a Mininet system, using the following commands, issued on the system Console/Terminal. The first command will position the creation of the system in the adequate working folder under MyProjects, for example in Windows C:\Users\Admin\Desktop\MyProjects\mininet, in Mac or Linux /Desktop/MyProjects/mininet: : $ cd mininet : $ vagrant init ktr / mininet The above command will fetch an already prepared Mininet system in a Ubuntu 14.04.2. When successfully created the system needs to be started up with the command: : $ vagrant up -- provider virtualbox This phase may take up a few minutes, depending on the speed of the host system, with an output similar to the following: Bringing machine default up with virtualbox provider... == > default : Checking if box ktr / mininet is up to date... == > default : Clearing any previously set forwarded ports... == > default : Clearing any previously set network interfaces... == > default : Preparing network interfaces based on configuration... default : Adapter 1: nat == > default : Forwarding ports... default : 22 = > 2222 ( adapter 1) == > default : Booting VM... 5

== > default : Waiting for machine to boot. This may take a few minutes... default : SSH address : 127.0.0.1:2222 default : SSH username : vagrant default : SSH auth method : private key default : Warning : Connection timeout. Retrying... == > default : Machine booted and ready! == > default : Checking for guest additions in VM... default : Guest Additions Version : 4. 3. 10 default : VirtualBox Version : 5.0 == > default : Mounting shared folders... When ready we will then establish a session with the system using the following command: : $ vagrant ssh The session is established and we will get the machine prompt: Welcome to Ubuntu 14. 04. 2 LTS ( GNU / Linux 3.13.0-54 - generic x86_ 64 ) Last login : Sun Oct 18 22:50:28 2015 from 10.0.2.2 vagrant@mininet : $ A very simple test can then be performed to verify that all is working correctly by issuing the command sudo mn to create a simple network topology of two hosts (h1, h2) and a switch (s1): vagrant@mininet : $ sudo mn *** Creating network *** Adding controller *** Adding hosts : h1 h2 *** Adding switches : s1 *** Adding links : (h1, s1) (h2, s1) *** Configuring hosts h1 h2 *** Starting controller c0 *** Starting 1 switches s1... *** Starting CLI : mininet > 6

From this point we can issue the command pingall to verify if we have connectivity between the hosts: mininet > pingall *** Ping : testing ping reachability h1 -> h2 h2 -> h1 *** Results : 0% dropped ( 2/ 2 received ) With the command net we can verify how the nodes are connected, i.e., host1 is connected by its eth0 port to the switch1 on eth1 port, etc.: mininet > net h1 h1 - eth0 :s1 - eth1 h2 h2 - eth0 :s1 - eth2 s1 lo: s1 - eth1 :h1 - eth0 s1 - eth2 :h2 - eth0 c0 Issuing the command dump we can see the IP addresses of the hosts (10.0.0.1 and 10.0.0.2): mininet > dump <Host h1: h1 - eth0 :10.0.0.1 pid =1708 > <Host h2: h2 - eth0 :10.0.0.2 pid =1712 > < OVSSwitch s1: lo :127.0.0.1, s1 - eth1 :None,s1 - eth2 : None pid =1717 > < Controller c0: 127.0.0.1:6633 pid =1701 > To end the Mininet emulation we use the command exit and it is also advisable to clean any phantom Mininet processes in the system with the command sudo mn : mininet > exit *** Stopping 1 controllers c0 *** Stopping 2 links.. *** Stopping 1 switches s1 *** Stopping 2 hosts h1 h2 *** Done completed in 5030.655 seconds vagrant@ mininet : $ sudo mn - c *** Removing excess controllers / ofprotocols / ofdatapaths / pings / noxes *** *** Cleanup complete. vagrant@mininet : $ 7

We can now exit the session: vagrant@mininet : $ exit logout Connection to 127.0.0.1 closed. In order to stop the Virtual Machine and to verify the global state of all active Vagrant environments on the system, we can issue the following commands: : $ vagrant halt == > default : Attempting graceful shutdown of VM... : $ vagrant global - status Confirm that the statuses of the VMs is powered off. 8