Introduction



Lab 10: Network Simulation InstructionsTotal points: 100Your name: ________________IntroductionNetkit is a freely available lightweight network emulator based on User-Mode Linux. Netkit allows users to experiment with a large number of network technologies and provides tools for a straightforward setup of complex network. ObjectivesAfter successful completion of this lab, you will be able to:build virtual networks using NetKit;monitor ARP traffic;Available Support MaterialsThis lab is based on NetKit (? Computer Networks Research Group Roma Tre) NetKit is a network emulation environment that allow building a network from virtual devices. Documentation is available at and Grading GuidelineDeliverablesDescription PointsD1. Create lab report in a MS Word compatible file and name it as “Lab_ 2_ Your NetID”. 11 pointsD2. Using NetKit to perform following tasks. Includes the screens shots of completing the tasks in the lab report. Each task worth 0.5 point. Detailed instruction on completing the task can be in the lab manual below.create an empty file myfile.txt edit file myfile.txt. Add only one line echo "inside the file";display the contents of the myfile.txt file on the screencreate copy of myfile.txt rename file myfile.txt to script.plmake file script.pl executable by users who are members of the file's groupexecute script.pldelete script.pl filelist contents of the current directorycreate directory newOne in current directorydelete directory newOne change to the parent directory change to the root directorychange your password display the user name for the logged on userprint the working directory's namewhat is the command to display on-line manual for touch command (assume no Internet connection)17*2=34 pointsD3 Using Netkit to perform following tasks. Include the screen shots of completing each tasks in the lab report. Each task worth 1 point. Detailed instruction on completing the task can be in the lab manual below. 1. A NetKit command to start a single guest VM.2. A NetKit command to start a lab3. A NetKit command(s) to stop and delete lab files4. What is the purpose of the following code:pc1[0]=tap,10.0.0.2,10.0.0.1route add default gw 10.0.0.2 dev eth05. What is the purpose of resolv.conf file?6. What is nk_tap_user1?7. What is the purpose of netkit.conf file?8. What is the purpose of lab.conf file?9. What is the purpose of pc1.startup file?10. What difficulties did you have while completing Part II Using NetKit section of the lab and how did you resolve them.11. Screenshot of bmon displaying traffic5*11=55 points. Total Points: 100 points Lab ManualsTime to complete 2-4 hours Part I Installation InstructionsCreate new directory and call it Netkit.Go to and download 32 bit ubuntu-14.04.02-desktop-i386.iso file. Save the iso file in the directory, you created in #1.You already have a VM player installed in your course VM (Accessible from CSEView), OR, you can use your personal computer to do the lab, in that case, downlod player from. Start VM Player, choose Create a New Virtual machineLocate installer ubuntu-14.04.02-desktop-i386.iso file and click Next.Use name NetKit User and user user1 with password abc123 and click Next.Change the name of the VM to NetKit and location to your Netkit directory. Click Next.Choose 10Gb disk as a single file and ckick Next.On the next screen click FinishThis will start the VM and Ubuntu installationWait when all files are copied and packets are installed. When prompted login as Netkit User (password abc123)On the Ubuntu Desktop click Search, start typing terminal and click on the terminal icon to a new terminal window.Unix commands : provide commands and screenshots on the submission page to prove that you successfully run all required commandscreate an empty file myfile.txt edit file myfile.txt. Add only one line echo "inside the file";display the contents of the myfile.txt file on the screencreate copy of myfile.txt rename file myfile.txt to script.plmake file script.pl executable by users who are members of the file's groupexecute script.pldelete script.pl filelist contents of the current directorycreate directory newOne in current directorydelete directory newOne change to the parent directory change to the root directorychange your password display the user name for the logged on userprint the working directory's namewhat is the command to display on-line manual for touch command (assume no Internet connection)Go to and download netkit-2.8.tar.bz2 MD5: bdfbd6554ef5ff4b95eead24898340cfYou can copy the link to the download and use wget commandwget Download After all three files are downloaded use md5sum utility to compare hashes of files you downloaded with hashes listed on NetKit site. Below is an example for the first file.It matches md5 sum listed on the site Unpack three files you downloadedsudo tar -xjSf netkit-2.8.tar.bz2 sudo tar -xjSf netkit-filesystem-i386-F5.2.tar.bz2 sudo tar -xjSf netkit-kernel-i386-K2.8.tar.bz2 Below is an example of running the first command.Change to the netkit directory. Your directory structure should match directory structure below:Configure your shell to set values of environment variables listed below. You can modify .bashrc file by running nano .bashrcAdd lines below to the end of the file and save the file (Ctrl+X Yes).export NETKIT_HOME=/home/user1/netkitexport PATH=$PATH:$NETKIT_HOME/binexport MANPATH=:$NETKIT_HOME/manLog outLog back in and open a new terminal window.Use cd $NETKIT_HOME to check that your environment variables are saved. Run check_configuration.sh script./check_configuration.shYou should receive READY message If you have errors or warnings, you have to resolve them before going to the next step.After you successfully unzipped files go to your home directory and remove zipped files by running rm netkit* command. It will not remove the directoryIf all checks were successful, then you are ready to use NetKit. I recommend you to Shut Down your VM, create a backup copy of the NetKit directory on your host system and then start NetKit VM again. Part II Using NetkitStart NetKit VM.Login as NetKit User (user1/abc123).Open a new terminal window and change directory to netkit.Open a new terminal window and Run check_configuration.sh script./check_configuration.sh You should see READY message again.Now you are ready to build your first network. NetKit provides users with two sets of commandsv-prefixed commands (vcommands)l-prefixed commands (lcommands)vcommands are used for configuring and starting up single virtual machineslcommands are used to set up complex labs consisting of several virtual machines. First, we will use vcammands to check the list of virtual hosts and to configure our first virtual host.Change to the parent directory cd .. You should run commands from /home/user1 directory. Create new directory lab1 mkdir lab1Switch to lab1 cd lab1Check your that working directory is /home/user1/lab1 pwd In a terminal window run vlist command to see the list of all existing virtual hosts. You should not have any machines.We will create a simple network that consists of only one PC with IP address 10.0.0.1 network mask 255.255.255.0 with collision domain A. To create a new virtual machine use vstart command vstart pc1 --eth0=AYou will see a new terminal window for the new PC1. NetKit will also create pc1.disk file for this virtual host. If you run ifconfig, you will see only loopback interface Change network configuration of the PC1. ifconfig eth0 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255 upThen run ifconfig command to check your configuration.Use vlist command to check virtual hosts. It shows one running virtual hostYou can stop virtual machine using one of three methodshalt inside PC1vhalt from NetKit VM terminalvcrash from NetKit VM terminalRun vhalt command from NetKit VM terminal vhalt pc1If you run vlist again, no virtual hosts are running, but disk created for PC1 will be saved, but all network configuartion settings are lost. Delete pc1.disk file.Create file pc1.startup with the following contentifconfig eth0 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255 upCreate file lab.conf with the following contentLAB_DESCRIPTION="One host lab"LAB_VERSION=1pc1[0]="A"Create a new directory pc1 mkdir pc1Run lstart to start the lab. lstart It will start PC1, create pc1.disk file and also configure eth0 interface. To check eth0 interface configuration, run ifconfig inside PC1 terminal window. Try to ping 8.8.8.8. You should receive message that network is unreachable. Next we willconfigure Internet access inside NetKit.Run lcrash to stop the lab. lcrash It will stop PC1, remove PC1 disk and temporary files.Check IP addresses for all interfaces on your NetKit VM. I have 192.168.105.144, to allow PC1 to connect to the Internet I have to configure two IPs: TAP-ADDRESS is the IP address of a new host side interface that is used to route traffic to and from the external network. GUEST-ADDRESS is the address that is automatically assigned to the interface inside the virtual machine.Neither of them can overlap or be in the same subnet with any interfaces on your host (in my case with 192.168.105.144.We set earlier IP address for PC1 10.0.0.1, we will use 10.0.0.2 as a TAP-ADDRESS. Open lab.conf file and edit Edit lab.conf file. Modify pc1[0] settings. It should be pc1[0]=tap,10.0.0.2,10.0.0.1Edit file pc1.startup, add lineroute add default gw 10.0.0.2 dev eth0Save changes. Use lstart to start the lab, it will ask for the password because it will add nk_tap_user1 interface to the NetKit VM host. To check that the interface was added use sudo ifconfigTo delete this interface, you have to use vclean -T. NetKit allows only one TAP interface. NOTE: if you have to make any changes to the interface we created, you have to run vclean -T. Do not run this command unless you have problems with connecting PC1 to the Internet.Ignore the " Warning: collision domain name for interface eth0 (tap,10.0.0.2,10.0.0.1 )" You should see PC1 terminal window and should be able to ping 8.8.8.8. IP 8.8.8.8 belongs to Google be able to ping , we have to modify /etc/resolv.conf file and add nameservers:nameserver 8.8.8.8nameserver 8.8.4.4 Save the file and try to ping . You should see a similar output.Use lcrash and lclean commands from NetKit VM to stop the lab. We will modify pc1.startup file to always add nameservers at strat up. Open the file and add the following two linesecho "nameserver 8.8.8.8" >> /etc/resolv.confecho "nameserver 8.8.4.4" >> /etc/resolv.confThese lines will append namesrvers' IPs to the /etc/resolv.conf file.Modify netkit.conf file to open two xterm windows per device.sudo nano ../netkit/netkit.confChange none to xterm for VM_CON1Save the file.Use lstart to start the lab.In one of the PC1's xterm windows run the following commands to install traffic monitoring software bmonsuapt-get install bmonStart bmon in one of the xterm windowsPing in another xterm window.Bmon should display traffic generated by ping Insert a screenshot of working bmon in the submission page. Stop the ping. Answer questions on the submission page and use lcrash and lclean to stop the lab.Run vclean -T to remove tap information.Change xterm to none for VM_CON1 in the netkit.conf file. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download