From 2c286889ace86d88b60c3503557c0c0d1a9772f5 Mon Sep 17 00:00:00 2001 From: "al0115@student.uni-lj.si" <al0115@student.uni-lj.si@5cf9fbd1-b2bc-434c-b4b7-e852f4f63414> Date: Sun, 4 Jan 2015 22:12:58 +0000 Subject: txt git-svn-id: https://svn.lusy.fri.uni-lj.si/kpov-public-svn/kpov-public@144 5cf9fbd1-b2bc-434c-b4b7-e852f4f63414 --- .../tasks/isc_dhcp_live_boot/howtos/en/index.html | 172 +++++++++++++++++++++ 1 file changed, 172 insertions(+) (limited to 'kpov_judge/tasks/isc_dhcp_live_boot') diff --git a/kpov_judge/tasks/isc_dhcp_live_boot/howtos/en/index.html b/kpov_judge/tasks/isc_dhcp_live_boot/howtos/en/index.html index e69de29..da7aeec 100644 --- a/kpov_judge/tasks/isc_dhcp_live_boot/howtos/en/index.html +++ b/kpov_judge/tasks/isc_dhcp_live_boot/howtos/en/index.html @@ -0,0 +1,172 @@ +<html> + <head> + <meta charset="UTF-8"> + <title>06 - preparation (isc_dhcp_live_boot)</title> + </head> + + <body> + <h1 style="color:blue">06 - preparation (isc_dhcp_live_boot)</h1> + <h2>Table of contents</h2> + <ul> + <li><a href="#namen">Purpose of this exercise</a></li> + <li><a href="#navidezniRacunalniki">Virtual machines, needed for the purpose of exercise</a></li> + <li><a +href="#skicaPodomrezja">Schematics of our subnet</a></li> + <li><a href="#simpleArbiterGW">Setting up simpleArbiterGW</a></li> + <li><a href="#DHCP">Setting up DHCP Server</a></li> + <li><a href="#clientA">Setting BootableClient A</a></li> + <li><a href="#clientB">Setting up BootableClient B</a></li> + </ul> + + + <h2 id="namen">Purpose of this exercise</h2> + <p>How to perform live boot using a DHCP server.</p> + + <h2 id="navidezniRacunalniki">Virtual machines needed to perform the task.</h2> + <p>We need VirtualBox and the following 4 virtual +machines: + <ul> + <li><a href="http://www.polz.si/media/uploads/kpov/virtualke/simpleArbiterGW.vdi">simpleArbiterGW</a></li> + <li><a href="http://www.polz.si/media/uploads/kpov/virtualke/simpleArbiterDhcp.vdi">DHCP Server</a></li> + <li>Bootable Client A (diskless +machine)</li> + <li>Bootable Client B (diskless +machine)</li> + </ul> + </p> + + <h2 id="skicaPodomrezja">Schematics of our subnet</h2> + <img style="width: 800px; height: 610px;" src="../images/01.png" alt="slika-01"></img> + <p>Our goal is to make BootableClient A get it's IP +through DHCP server and boot up using file +A, which is located on simpleArbiterGW,</br>If we run +BootableClient B machines, we would like it to retrieve it's IP +through DHCP server and boot from some live ISO which is also located on +SimpleArbiterGW. + </p> + + <h2 id="simpleArbiterGW">Setting up <mark>simpleArbiterGW</mark></h2> + <p>Download <a +href="http://www.polz.si/media/uploads/kpov/virtualke/simpleArbiterGW.vdi">simpleArbiterGW.vdi</a> +and then run VirtualBox. After the file is downloaded, choose the New +option in VirtualBoxu and set simpleArbiterGW in the Name +field.</br>Memory size should be set accordingly (1gb will suffice). Then choose "Use an existing virtual hard drive file" and select simpleArbiterGW.vdi clicking Create.</p> + </br> + <img style="width: 800px; height: 464px;" src="../images/02.png" alt="slika-02"></img> + <p>We start our virtual machines simpleArbiterGW using the +following login +credentials; username: "root", password: "kaboom".</br></br> + At the start, the computer on NAt get's it's IP(in our case 10.0.2.15).</br>(to check this use<b>ifconfig</b>) We now use this address and eth0 interface to access the internet.<p> + <img style="width: 800px; height: 384px;" src="../images/03.png" alt="slika-03"></img> + <p>However, we would like this machine to have 2 +interfaces! One on NAT(we already have this one), and the other one on Internal Network,</br>throuh which we will communicate wiht the DHCP Server and other machines on our Internal Network.</br></br> + We add a new interface, by turning off the virtual machine, +select our machine in VirtualBox and select +računalnik, ter v VirtualBoxu <b>Settings -> Network</b></br> + <b>Adapter</b> 1 is already set to NAT, we set <b>Adapter +2</b> to +Internal Network</p> + <img style="width: 800px; height: 137px;" src="../images/04.png" alt="slika-04"></img> + <p>So, now we have two network interfaces!</br>In VirtuaBox +we can define multiple Internal Networks, however, for our need's two +will suffice. We save the settings and restart simpleArbiterGW.</br></br> + What we must do now, is to assign both interfaces IP addresses. We do this by setting the<b>interfaces</b>file + located at<b>/etc/network</b>.</p> + <img style="width: 800px; height: 229px;" src="../images/05.png" alt="slika-05"></img> + <p>Eth0 was already handled by and integrated DHCP, so eth0 had been assigned an IP).</br> + We have to set up the other network interface. If we don't know it's name, we find it out using <b>ifconfig -a</b>.</p> + <img style="width: 800px; height: 117px;" src="../images/06.png" alt="slika-06"></img> + <p>We can conclude the interface names is set to Eth1. + Now we would like to assign an IP naslov to Eth1.</br> + Ifconfig could be used, but rebooting the machine would reset the settings. Which is not ideal :)</br> + So configuring <b>/etc/network/interfaces would be a better idea.</b></br></br> + Let's make up a random local network or a local area network or local area network address and assign it to eth1. + </p> + <img style="width: 800px; height: 296px;" src="../images/07.png" alt="slika-07"></img> + <p>We save the config file. Our machine still has no IP on eth1 so we use the <b>ifup eth1</b> command</p> + <img style="width: 800px; height: 23px;" src="../images/08.png" alt="slika-08"></img></br> + <p>Now we use the <b>ifconfig</b> command, to see whether and ip is assigned to eth1 interface</p> + <img style="width: 800px; height: 389px;" src="../images/09.png" alt="slika-09"></img> + <p>We can see the IP is set. Now let's set up the DHCP +Server!</p> + + <h2 id="DHCP">Setting up <mark>DHCP Server</mark></h2> + <p>We download <a href="http://www.polz.si/media/uploads/kpov/virtualke/simpleArbiterDhcp.vdi">simpleArbiterDhcp.vdi</a> ter zaženemo VirtualBox. Ko je datoteka prenesena v VirtualBoxu izberemo New ter v polje Name vpišemo DHCP Server.</br>Ustrezno nastavimo tudi Memory size (1gb pomnilnika nam bo zadostovalo). Spodaj izberemo še "Use an existing virtual hard drive file" ter izberemo naš simpleArbiterDhcp in pritisnimo Create.</p> + </br> + <img style="width: 800px; height: 464px;" src="../images/10.png" alt="slika-10"></img> + <p>We run DHCP Server virtual machine and login using "root" ad username and "kaboom" as password.</br></br> + <p>At first, our machine has no assigned IP, since none was set! Let+s configure it in <b>/etc/network/interfaces</b>.</br>But which interface should we configure? Using <b>ifconfig -a</b> command, we see it's <b>eth0</b>interface.<br> + Again we select our IP address.</p> + <img style="width: 800px; height: 283px;" src="../images/11.png" alt="slika-11"></img> + <p>We save the configuration file. Our computer still has no IP address assigned to eth0, so using <b>ifdown eth0</b> and then <b>ifup eth0</b>we provide one.</p> + <img style="width: 800px; height: 25px;" src="../images/12.png" alt="slika-12"></img> + <p>Now let us use <b>ifconfig</b> command, to check whether there is an IP assigned to interface eth0</p> + <img style="width: 800px; height: 329px;" src="../images/13.png" alt="slika-13"></img> + <p>We got it! We install DHCP server using <b>apt-get install isc-dhcp-server</b></p> + <img style="width: 800px; height: 322px;" src="../images/14.png" alt="slika-14"></img> + <p>We see a bunch of errors. Why? Bacause, we have no internet access! <br> + We need to specify the Gateway for our inteface. Our Gateway bo seveda IP našega simpleArbiter navideznega računalnika.</br> To naredimo s pomočjo ukaza <b>route add default gw 192.168.251.1 eth0</b></p> + <img style="width: 800px; height: 43px;" src="../images/15.png" alt="slika-15"></img> + <p>Try pinging Google's DNS server at 8.8.8.8, to check if now have internet access.</br> + We do this using the <b>ping 8.8.8.8</b> command.</p> + <img style="width: 800px; height: 361px;" src="../images/16.png" alt="slika-16"></img> + <p>Google's DNS server is responding. Great! </br> + However, we still cannot run <b>apt-get install isc-dhcp-server</b></br> + Let's tempororly add another interface and set it to NAT, so we get internet access and install the DHCP server.</br></br> + We add a new interface by turning off the virtual computer, in VirtualBox we select our virtual machine and then select <b>Settings -> Network</b></br> + <b>Adapter 1</b> has already been set to Internal Network, we set <b>Adapter 2</b> to NAT</p> + <img style="width: 800px; height: 134px;" src="../images/17.png" alt="slika-17"></img> + <p>We run DHCP Server and in file<b>/etc/network/interfaces</b> at the end of the line add <b>iface eth1 inet dhcp</b>, then save the file and run <b>ifup eth1</b>.<br> + Now we have access to the internet and can install our DHCP server with <b>apt-get install isc-dhcp-server install</b> command</br> + <img style="width: 800px; height: 26px;" src="../images/18.png" alt="slika-18"></img></br> + <p>Let's see what's in<b>/var/log/syslog</b>, which is a file where our system information is stored in.</p> + <img style="width: 800px; height: 323px;" src="../images/19.png" alt="slika-19"></img></br> + <p>Looks like we need to set up a DHCP server and specify where it should listen! </br> + DHCP settings are stored in <b>/etc/dhcp/dhcpd.conf</b>. Let's set it! </br> + First let's comment out <b>option domain-name-servers</b> to avoid having errors.</p> + <img style="width: 800px; height: 26px;" src="../images/20.png" alt="slika-20"></img></br> + <p>Then we configure DHCP server, so it would serve IPs a a certain subnet. We add the following lines:</p> + <img style="width: 800px; height: 417px;" src="../images/21.png" alt="slika-21"></img> + <p><b>(subnet)</b> We set the subnet and the IP range, which the DHCP server should use, and which file it should serve.</p>Some PXEs are so unintelligent, that you should specify where they should get the files from and to do that you specify next-server </br>(IP from which it will be served from, in our case simpleArbiter), we also specify gateway, which, in our case is also simpleArbiter.</br></br>Ker bi radi, da v primeru zagona navideznega računalnika BootableClient B serviramo drugo datoteko, to naredimo tako da definiramo nek dodaten host na sledeč način:</br><b>(host special)</b> Pod <b>hardware ethernet</b> zapišemo MAC naslov našega BootableClient B katerega bo imel, dodelimo mu nek statičen ip naslov ter povemo še iz kje se naj datoteka <b>live-ISO</b> zažene.</p> + <p>We save the settings and kill terthe process with ubijemo named <b>dnsmasq</b>using<b>kilall dnsmasq</b>.</p> + <img style="width: 740px; height: 34px;" src="../images/22.png" alt="slika-22"></img> + <p>Sledi restart našega DHCP strežnika, da bo deloval z novimi nastavitvami, to naredimo z ukazom <b>service isc-dhcp-server restart</b></br>DHCP server is now ready! We supply BootableClientA and BootableClientB and test them!</p> + + + <h2 id="clientA">Postavitev <mark>BootableClient A</mark></h2> + <p>We open VirtualBox and select <b>New</b>, for the y +<b>Name</b> field we specify +BootableClient A and for the <b>Hard drive</b> we select <b>Do not add a +virtual +hard drive</b> (as we want diskless device), </br>and select Create. +We want the computer to be on Internal network so vse select our +<b>Bootable Client +A</b> and select </br><b>Settings->Network</b> where we change Adapter +1 to Internal Network.</p> + <img style="width: 800px; height: 678px;" src="../images/23.png" alt="slika-23"></img> + <p>We also wan our computer to boot through network, so +under<b>Boot Order</b>tab select <b>Network</b>.</br> + We save the setting by clicking <b>OK</b></p> + <img style="width: 800px; height: 697px;" src="../images/24.png" alt="slika-24"></img> + <p>We run our BootableClient-a A and it get's it's +IP(which is great), using the DHCP server and the simpleArbiter serves +it exactly the file we specified. <b>A.0</b></p> + <img style="width: 800px; height: 494px;" src="../images/25.png" alt="slika-25"></img> + + + + <h2 id="clientB">Setting up<mark>BootableClient +B</mark></h2> + <p>We open virtual box and select <b>New</b> and under the <b>Name</b> tag write BootableClient B and under the <b>Hard drive</b>tab choose <b>Do not add a virtual hard drive</b> (since we want a diskless machine), </br>and then press the Create button, which will create a virtual machine. We want our machine to be connected to out Internal network so we select <b>Bootable Client B</b> and then select </br><b>Settings->Network</b> and set the Adapter 1 to Internal Network.</br> + Under <b>MAC Address</b> we specify the same MAC address that is specified in the (dhcpd.conf -> host special) file, since we want our machine to be an exception</br> and will be served a special file named<b>live-ISO</b></p> + <img style="width: 800px; height: 678px;" src="../images/26.png" alt="slika-26"></img> + <p>We want our machine to perform a netboot, so under the <b>System</b></p> <b>Boot Order</b> tag specify only <b>Network</b>.</br> + We save the setting by clicking the <b>OK</b> button</p> + <img style="width: 800px; height: 697px;" src="../images/27.png" alt="slika-27"></img> + <p>We run our BootableClient-a A and it get's it's IP address using DHCP server and simpleArbiter serves it the file we selected called <b>live-ISO</b></p> + <img style="width: 800px; height: 494px;" src="../images/28.png" alt="slika-28"></img> + + + </body> +</html> + -- cgit v1.2.1