summaryrefslogtreecommitdiff
path: root/kpov_judge/tasks
diff options
context:
space:
mode:
authoral0115@student.uni-lj.si <al0115@student.uni-lj.si@5cf9fbd1-b2bc-434c-b4b7-e852f4f63414>2015-01-04 22:12:58 +0000
committeral0115@student.uni-lj.si <al0115@student.uni-lj.si@5cf9fbd1-b2bc-434c-b4b7-e852f4f63414>2015-01-04 22:12:58 +0000
commit2c286889ace86d88b60c3503557c0c0d1a9772f5 (patch)
treecc7b235003215710598e076dbaf6b5ff79757477 /kpov_judge/tasks
parent80ffd6de5c2b6760b44cbbec18e38537cafdd6fe (diff)
txt
git-svn-id: https://svn.lusy.fri.uni-lj.si/kpov-public-svn/kpov-public@144 5cf9fbd1-b2bc-434c-b4b7-e852f4f63414
Diffstat (limited to 'kpov_judge/tasks')
-rw-r--r--kpov_judge/tasks/isc_dhcp_live_boot/howtos/en/index.html172
1 files changed, 172 insertions, 0 deletions
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>
+