Za zagon računalnika čez mrežo potrebujemo:

  • strežnik za poljuben omrežni datotečni sistem
  • strežnik, ki bo ob zagonu poserviral zagonsko datoteko. Ta datoteka je običajno bootloader, ki potem naprej preko mreže naloži jedro "pravega" operacijskega sistema.

Kot omrežni datotečni sistem lahko uporabimo NFS, za serviranje zagonske datoteke pa TFTP. Poleg strežnika TFTP, ki klientu pošlje zagonsko datoteko, potrebujemo še strežnik DHCP oziroma BOOTP, ki klientu pove, kje se zagonska datoteka nahaja.

Today's tasks:

  • Install a DHCP server
  • Install a DNS server
  • Make sure that the DHCP server updates the DNS entry for each of it's clients
  • Install a TFTP server
  • Have the DHCP server supply the clients with the filename to boot from
  • Boot a computer using PXELINUX
  • Set up PXELINUX so that your name is written in the boot menu
  • Boot an arbitrary OS over the network using PXELINUX
  • Set up a NFS server
  • Mount one of your neighbor's directories on your computer
  • Solve the problem of hunger in Somalia
  • Maniacal laughter.

Naloge za tokratno vajo:

  • Namesti nek dhcp strežnik
  • Namesti nek dns strežnik
  • Poskrbi, da klienti DHCP strežnika dobijo vnose v DNS
  • Namesti nek TFTP strežnik
  • Prek TFTP si s sosedom izmenjaj poljubno datoteko
  • Nastavi dhcp strežnik tako, da bo klientom predlagal datoteko za zagon
  • Zaženi računalnik s PXELINUX
  • Nastavi PXELINUX tako, da bo v menuju ali na sliki vidno tvoje ime
  • Poskrbi, da se prek mreže z uporabo PXELINUX zažene poljuben operacijski sistem
  • postavi strežnik NFS
  • preko mreže obesi (mount) nek imenik na disku tvojega soseda na nek imenik na svojem računalniku
  • Reši problem lakote v Somaliji
  • manični smeh (izvedba v poljubnem stilu)

Namestitev strežnika in klienta NFS (Installing the NFS server):

sudo apt-get update
sudo apt-get install nfs-kernel-server 

Nastavitev strežnika NFS (Setting up the NFS server):

sudo gedit /etc/exports
sudo /etc/init.d/nfs-kernel-server restart

V /etc/exports morate dodati vrstico, ki bo dovoljevala oddaljenim računalnikom dostop do nekega imenika. Naprimer za poln dostop do imenika Pictures in samo bralni dostop do imenika Videos, vsem računalnikom:

/home/ubuntu/Pictures *(rw)
/home/ubuntu/Videos *(ro)

Obešanje (mount) imenika, ki se nahaja na drugem računalniku (v tem primeru imenik /home/ftp na naslovu 10.0.1.66 obesimo tako, da se bo njegova vsebina nahajala v /home/ubuntu/oddaljeni_ftp):

sudo mount 10.0.1.66:/home/ftp /home/ubuntu/oddaljeni_ftp

Nastavitev strežnika DHCP in tftp je odvisna od tega, kateri strežnik uporabite. Za dhcp3 je potrebno strežnik namestiti (One way of setting up the DHCP server):

sudo apt-get install dhcp3-server

Nato v /etc/dhcp3/dhcpd.conf v konfiguracijo dodati vrstico filename. Konfiguracija za DHCP strežnik, ki ima statično nastavljen naslov na 10.0.66.2, pri čemer je privzeti prehod na 10.0.66.1, za DNS strežnik pa uporabljen Arnesov DNS, bi lahko izgledala takole:

default-lease-time 600;
max-lease-time 7200;
subnet 10.0.66.0 netmask 255.255.255.0 {
    range 10.0.66.16 10.0.66.254;
    option routers 10.0.66.1;
    option domain-name-servers 193.2.1.66;
    filename "pxelinux.0";
}

Poleg tega je ob uporabi dhcp3 treba namestiti še poljuben tftp strežnik. Strežnike, ki so na voljo, najdemo takole (How to find a TFTP server): sudo apt-cache search tftp server

Recimo, da namestimo atftpd (suppose we've chosen to install ATFTPD): sudo apt-get install atftpd sudo gedit /etc/default/atftpd sudo /etc/init.d/atftpd restart

V datoteki /etc/default/atftpd je potrebno nastaviti pot do zagonskih datotek. Če se zagonske datoteke nahajajo v imeniku /home/ubuntu/tftp, potem datoteko predelate takole:

USE_INETD=true
OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5 /home/ubuntu/tftp"

Namesto dhcp3 in atftpd lahko uporabite tudi dnsmasq: sudo apt-get install dnsmasq sudo gedit /etc/dnsmasq.conf sudo /etc/init.d/dnsmasq restart

Strežnik dnsmasq v enem programu združuje DHCP, DNS in TFTP strežnik.

Po namestitvi potrebnih strežnikov je treba namestiti še zagonske datoteke. Kot bootloader bomo uporabili pxelinux.

Zadnja sprememba: torek, 8. november 2011, 08.20