1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
</head>
<body><font face="Georgia, Times New Roman, Times, serif">
<strong><h1>OpenVPN in SMB vaja:</h1></strong>
<p><strong><h2>Naloga na hitro:</h2></strong><br>
Vzpostavi VPN povezavo z pomočjo OpenVPN. Omogoči dostop do datotek prek NFS in skopiraj datoteke prek SMB.</p>
<p><strong><h2>Navodila:</h2></strong><br>
1. Iz imenika s slikami virtualnih računalnikov dvakrat povlecite sliki SimpleArbiterVPN ter VPNClient.<br>
2. Z VirtualBoxom (ali ostalim programom za virtualne računalnike) ustvarite dva virtualna računalnika in jim kot disk za shranjevanje podajte VPNCLient.vdi ter SimpleArbiterVPN.vdi.<br>
3. Na obeh nastavite dva omrežna vmesnika (NAT in Internal) in jih zaženite.<br>
4. Na oba VM-a se prijavite z uporabnikom <strong>root</strong> in geslom <strong>kaboom</strong> .</p>
<p><h3><u><strong><em>Prvi del naloge: Nastavi OpenVPN na SimpleArbiterVPN in VPNClient.</em></strong></u></h3>
<p><h4><u><strong><em>Nastavitve na strežniku:</em></strong></u></h4>
1. Prenesite pakete <strong>uml-utilities</strong> -> za nastavljanje navideznih omrežnih vmesnikov in paket (<strong>openvpn</strong>). Npr: sudo apt-get install openvpn<br>
2. Nov navidezni omrežni vmesnik kreirate z <strong>tunctl</strong> in mu podate IP z <strong>sudo ifconfig tap0 10.P.Q.R netmask 255.255.255.0</strong><br>
3. Nato generirate skupen ključ(ta ključ boste delili z klientom) z ukazom: <strong>openvpn --genkey --secret vpnkljuc.key</strong><br>
4. Na strežniku še nastavite konfiguracijsko datoteko tap0.conf, ki naj vsebuje (ločeno po vrsticah) "dev tap0","proto tcp-server", "secret vpnkljuc.key"<br>
5. Zaženete openvpn z <strong>openvpn --config /some_directory/somewhere/tap0.conf</strong><br/>
<p><h4><u><strong><em>Nastavitve na klientu:</em></strong></u></h4>
1., 2. koraka sta ista kot pri nastavitvah na strežniku<br>
3. Kreirajte konfiguracijsko datoteko tap0.conf, ki naj vsebuje (ločeno po vrsticah) "remote IP_VAŠEGA_VPN_SERVERJA", "dev tap0", "proto tcp-client", "secret vpnkljuc.key"<br>
4. Na OpenVPN strežnik se povežete z <strong>openvpn --config /some_directory/somewhere/tap0.conf</strong><br/>
<p>
<u><strong><em><h3>Drugi del naloge: napii program, ki pretvori binarni zapis 32-bitnega tevila v decimalnega.</h3></em></strong></u><br>
Nalogo lahko reite v Javi ali v Pythonu. Prav tako pa lahko kodo piete v poljubnem tekstovnem urejevalniku.</p>
<p><br>
JAVA------<br>
1. Z ukazom nano bintodec3.java ustvarimo in odpremo prazen program s tekstovnim urejevalnikom nano<br>
2. Napiemo program za pretvarjanje 24-bitnega tevila z dvojikim komplementom v decimalno obliko<br>
<img src="slike/bu6.png"><br><img src="slike/bu7.png"><br>
3. Pritisnemo Ctrl+X, nato Y in Enter, da program zapremo in shranimo.<br>
4. Če je e nimamo, naloimo Javo <strong>sudo apt-get install openjdk-6-jdk</strong><br><img src="slike/predvaja_clip_image003.gif"><br>
5. Prevedemo program <strong>javac bintodec3.java</strong><br>
6. Lahko ga e zaenemo ter preizkusimo <strong>java bintodec3</strong>. Na standardni vhod vnaamo 24-bitno tevilo v estnajstiki obliki<br><img src="slike/bu9.png"><br></p>
<p>PYTHON------<br>
1. Z ukazom nano bintodec3.py ustvarimo in odpremo prazen program s tekstovnim urejevalnikom nano<br>
2. Napiemo program za pretvarjanje 24-bitnega tevila z dvojikim komplementom v decimalno obliko<br>
<img src="slike/bu5.png"><br>
3. Pritisnemo Ctrl+X, nato Y in Enter, da program zapremo in shranimo.<br>
4. Program zaenemo z ukazom <strong>python bintodec3.py</strong><br><img src="slike/bu8.png"><br></p><br><br>
<p>
<h3> Testiranje </h3>
1. Lahko poenemo tester; z ukazom ./run_test.py<br>
<img src="slike/s1.png"><br>
2. Kot "Upor. Ime" in "Geslo" napiite vae podatke učilnice. (npr.: "pz1234@student.uni-lj.si" in "geslo123")<br>
<img src="slike/s2.png"> <img src="slike/s3.png"> <br>
3. Kot ime naloge vpiite XX.predvaja.<br>
4. Ko vas program vpraa po poti programa vnesite vao pot do programa za pretvarjanje. (npr.: če imate program bintodec3.py v isti mapi kot program run_test.py, vnesete: ./bintodec3.py)<br>
5. Povpraa tudi po IP naslovu SimpleArbiterja, vnesite.<br>
6. Če je lo vse po sreči, program vrne OK vi pa ste opravili nalogo.</p>
</font>
<hr>
<p>
howto: task_check(results, params):
Metoda dobi, kot prvi argument rezultat metode task(...), kot drugi pa
rezultat funkcije gen_params().
Vrne stevilo pridobljenih tock.
howto: task(...):
Metoda prejme naslednje argumente:
- IP naslov VPN streznika
- DNS naslov VPN streznika
- IP naslov klienta 1
- DNS naslov klienta 1
- IP naslov klienta 2
- DNS naslov klienta 2
Vrne slovar rezultatov:
results['SimpleArbiter_is_VPN_set_up']
pove ali je VPN streznik nastavljen
results['SimpleArbiter_is_VPN_running']
pove ali je VPN streznik zagnan
results['SimpleArbiter_ping_C1']
ping rezultati (streznik -> klient1)
results['SimpleArbiter_ping_C2']
ping rezultati (streznik -> klient2)
results['SimpleArbiter_nmap_results']
pove ali sta oba klienta povezana na pravi VPN streznik
results['SimpleArbiter_dir_vpn_contents']
kljuc, ce se ta nahaja v ustreznem imeniku
results['SimpleArbiter_nfs_access_control_list']
preveri ce NFS dovoljuje dostop do /home/test/IME_UPORABNIKA
results['VPNClient1_ping_VPN_server']
ping rezultati (klient 1 -> strežnik)
results['VPNClient2_ping_VPN_server']
ping rezultati (klient 2 -> strežnik)
</p>
</body>
</html>
|