Linux ja PXE
PXE:n asennus
PXE:n asennus tuli suoritettua luokassa 5005 klo 12-14:30, jota edelsi jo harjoittelu Live-CD:n kanssa luokassa 5013 klo 9-11:30.
Asennuksen aluksi (luokassa 5005) jouduin tekemään kahden edellisen kerran (Ubuntun asennus ja Linux DHCP) osioiden asennukset uudelleen, koska joku ystävällinen oli asentanut Vistan siirtolevylleni, joka oli edellisellä viikolla unohtunut luokkaan.
PXE:n asennus meni seuraavasti:
1) Asennettiin uudelleen DHCP-palvelin aiemman ohjeen mukaan
2) Muokattiin dhcpd.conf (nanolla)
# Non-essential DHCP options
option domain-name "tielab.helia.fi";
ja lisättiin rivit:
# TFPT server for PXE boot
next-server "172.28.1.129";
filename "pxelinux.0";
3) ajettiin 'sudo apt-get install tftpd-hpa tftp-hpa'
mliikama@mliikama-desktop:/etc/dhcp3$ sudo apt-get install tftpd-hpa tftp-hpa
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
openbsd-inetd
Recommended packages:
inet-superserver
The following NEW packages will be installed:
openbsd-inetd tftp-hpa tftpd-hpa
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 94.6kB of archives.
After this operation, 385kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://archive.ubuntu.com jaunty/main openbsd-inetd 0.20080125-2 [34.4kB]
Get:2 http://archive.ubuntu.com jaunty/main tftp-hpa 0.48-2.3ubuntu1 [24.5kB]
Get:3 http://archive.ubuntu.com jaunty/main tftpd-hpa 0.48-2.3ubuntu1 [35.6kB]
Fetched 94.6kB in 0s (305kB/s)
Preconfiguring packages ...
Selecting previously deselected package openbsd-inetd.
(Reading database ... 105960 files and directories currently installed.)
Unpacking openbsd-inetd (from .../openbsd-inetd_0.20080125-2_i386.deb) ...
Selecting previously deselected package tftp-hpa.
Unpacking tftp-hpa (from .../tftp-hpa_0.48-2.3ubuntu1_i386.deb) ...
Selecting previously deselected package tftpd-hpa.
Unpacking tftpd-hpa (from .../tftpd-hpa_0.48-2.3ubuntu1_i386.deb) ...
Processing triggers for man-db ...
Setting up openbsd-inetd (0.20080125-2) ...
* Stopping internet superserver inetd [ OK ]
* Not starting internet superserver: no services enabled
Setting up tftp-hpa (0.48-2.3ubuntu1) ...
Setting up tftpd-hpa (0.48-2.3ubuntu1) ...
testattiin tfpt:
mliikama@mliikama-desktop:~$ tftp localhost -c get pxelinux.0
Transfer timed out.
4) ajettiin 'sudo nano /etc/default/tftpd-hpa' ja muutettiin rivit:
#Defaults for tftpd-hpa
RUN_DAEMON="no"
OPTIONS="-l -s /var/lib/tftpboot"
muotoon:
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /home/pxe"
5) ajettiin komento 'sudo adduser pxe' ja annettiin käyttäjän tiedot (salasana jne.)
6) ajettiin komento 'whoami'
mliikama@mliikama-desktop:~$ whoami
mliikama
7) muutettiin hakemiston /home/pxe oikeudet sopiviksi TFTPD:lle
'sudo chown pxe.mliikama /home/pxe/'
'sudo chmod g+rwx /home/pxe'
8) ajettiin komento 'cd /home/pxe/'
9) mentiin googleen ja haettiin sanoilla 'ubuntu netboot image' ja saatiin osoite 'http://cdimage.ubuntu.com/netboot/jaunty/'
10) haettiin tarvittavat tiedot:
'wget -np -r http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/'
11) muutettiin hakemiston nimi:
'mv archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/* .'
12) poistettiin hakemiston sisältö:
'rm -rf archive.ubuntu.com/'
13) käynnistettiin TFTP-server ja testattiin sitä:
# $ sudo /etc/init.d/tftpd-hpa start
# $ cd
# $ tftp localhost -c get pxelinux.0
#pxelinux.0
mliikama@mliikama-desktop:/home/pxe$ sudo /etc/init.d/tftpd-hpa start
Starting HPA's tftpd: in.tftpd.
mliikama@mliikama-desktop:/home/pxe$ cd
mliikama@mliikama-desktop:~$ tftp localhost -c get pxelinux.0
mliikama@mliikama-desktop:~$ ls pxeli*
pxelinux.0
mliikama@mliikama-desktop:~$
14) käynnistettiin DHCP-palvelin:
'sudo /etc/init.d/dhcp3-server start'
mliikama@mliikama-desktop:~$ sudo /etc/init.d/dhcp3-server start
dhcpd self-test failed. Please fix the config file.
The error was:
Internet Systems Consortium DHCP Server V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
WARNING: Host declarations are global. They are not limited to the scope you declared them in.
/etc/dhcp3/dhcpd.conf line 30: 172.28.1.129 (262): expecting IP address or hostname
next-server "172.28.1.129"
^
/etc/dhcp3/dhcpd.conf line 30: expecting a parameter or declaration
next-server "172.28.1.129";
^
Configuration file errors encountered -- exiting
Koska DHCP-palvelin ilmoitti virhettä, pudotettiin pois 'next-server "172.28.1.129";' "-merkit ja DHCP-palvelin käynnistyi.
15) asiakaskoneen (client) netboot ei yhdistänyt DHCP-palvelimeen vaan haki tiedot koulun labraverkosta.
16) muutettiin dhcpd.conf:iin:
server-name "172.28.1.191";
next-server 172.28.1.191;
ja asiakaskoneen (client) sai käynnistettyä verkon kautta (Ubuntun asennusikkuna tuli esiin).
Taikapaketti
Taikapaketin (magic packet) avulla kone voidaan käynnistää etäkomennolla. Tätä toimintoa varten suoritettiin seuraavat toimenpiteet:
17) google "ubuntu magic packet"
löytyi http://manpages.ubuntu.com/manpages/karmic/man8/etherwake.8.html
jonka pohjalta ajettiin 'sudo apt-get install etherwake'
Lisäksi löytyi (*) http://www.zaphu.com/2007/08/24/broadcast-magic-packets-to-wake-your-computer/
18) ajettiin 'wakeonlan 00:0f:fe:5f:6d:41' (kts. linkki *-kohdasta) ja asiakaskone buuttasi ja käynnistyi, jonka jälkeen valittiin networkboot (F12) ja tallennettiin (F1). Tuli esiin Ubuntun asennus eli PXE-asetus toimi, mutta asennusta suoranaisesti ei testattu tässä yhteydessä, koska ei ollut toista siirtolevyä.
IPCALC
19) ajettiin 'sudo apt-get install ipcalc'
20) mliikama@mliikama-desktop:/home$ ipcalc
Usage: ipcalc [options] <ADDRESS>[[/]<NETMASK>] [NETMASK]
ipcalc takes an IP address and netmask and calculates the resulting broadcast,
network, Cisco wildcard mask, and host range. By giving a second netmask, you
can design sub- and supernetworks. It is also intended to be a teaching tool
and presents the results as easy-to-understand binary values.
-n --nocolor Don't display ANSI color codes.
-b --nobinary Suppress the bitwise output.
-c --class Just print bit-count-mask of given address.
-h --html Display results as HTML (not finished in this version).
-v --version Print Version.
-s --split n1 n2 n3
Split into networks of size n1, n2, n3.
-r --range Deaggregate address range.
--help Longer help text.
Examples:
ipcalc 192.168.0.1/24
ipcalc 192.168.0.1/255.255.128.0
ipcalc 192.168.0.1 255.255.128.0 255.255.192.0
ipcalc 192.168.0.1 0.0.63.255
ipcalc <ADDRESS1> - <ADDRESS2> deaggregate address range
ipcalc <ADDRESS>/<NETMASK> --s a b c
split network to subnets
where a b c fits in.
! New HTML support not yet finished.
ipcalc 0.41
21) mliikama@mliikama-desktop:/home$ ipcalc 192.168.0.1/24
Address: 192.168.0.1 11000000.10101000.00000000. 00000001
Netmask: 255.255.255.0 = 24 11111111.11111111.11111111. 00000000
Wildcard: 0.0.0.255 00000000.00000000.00000000. 11111111
=>
Network: 192.168.0.0/24 11000000.10101000.00000000. 00000000
HostMin: 192.168.0.1 11000000.10101000.00000000. 00000001
HostMax: 192.168.0.254 11000000.10101000.00000000. 11111110
Broadcast: 192.168.0.255 11000000.10101000.00000000. 11111111
Hosts/Net: 254 Class C, Private Internet