Αν το μηχάνημά σας είναι συνδεδεμένο σε ένα τοπικό δίκτυο (local area network), μπορείτε ίσως να το εκκινήσετε από ένα άλλο μηχάνημα μέσω του δικτύου αυτού χρησιμοποιώντας TFTP. Αν προτίθεστε να εκκινήσετε το σύστημα εγκατάστασης από ένα άλλο μηχάνημα, τα αρχεία εκκίνησης θα πρέπει να τοποθετηθούν σε συγκεκριμένες θέσεις στο μηχάνημα αυτό, το οποίο πρέπει επίσης να είναι ρυθμισμένο ώστε να υποστηρίζει την εκκίνηση του συγκεκριμένου μηχανήματός σας.
Θα πρέπει να στήσετε έναν εξυπηρετητή TFTP, και για περισσότερα μηχανήματα έναν εξυπηρετητή DHCP , ή έναν εξυπηρετητή RARP , ή έναν εξυπηρετητή BOOTP.
Το πρωτόκολλο Reverse Address Resolution Protocol (RARP) είναι ένας τρόπος να πείτε στον client ποια διεύθυνση IP να χρησιμοποιήσει ο ίδιος. Ένας άλλος τρόπος είναι να χρησιμοποιήσετε το πρωτόκολλο BOOTP. Το BOOTP είναι ένα πρωτόκολλο IP που πληροφορεί έναν υπολογιστή για το ποια είναι η διεύθυνση IP του και από πού στο δίκτυο να αποκτήσει μια εικόνα εκκίνησης. Το πρωτόκολλο DHCP (Dynamic Host Configuration Protocol) είναι μια πιο ευέλικτη και συμβατή προς τα πίσω επέκταση του πρωτοκόλλου BOOTP. Κάποια συστήματα μπορούν να ρυθμιστούν μόνο μέσω του πρωτοκόλλου αυτού.
Το πρωτόκολλο TFTP (Trivial File Transfer Protocol) χρησιμοποιείται για το σερβίρισμα της εικόνας εκκίνησης στον "πελάτη". Θεωρητικά, οποιοσδήποτε server, σε οποιαδήποτε πλατφόρμα, που υλοποιεί αυτά τα πρωτόκολλα, μπορεί να χρησιμοποιηθεί. Στα παραδείγματα αυτής της ενότητας, θα δώσουμε εντολές για SunOS 4.x, SunOS 5.x (δηλ. το Solaris), και GNU/Linux.
Για να ρυθμίσετε έναν εξυπηρετητή RARP, θα πρέπει να ξέρετε την διεύθυνση Ethernet (γνωστή και ως διεύθυνση MAC) των συστημάτων πελατών στα οποία θα γίνουν οι εγκαταστάσεις. Αν δεν έχετε αυτήν την πληροφορία, μπορείτε: να εκκινήσετε σε κατάσταση «Rescue» και να χρησιμοποιήσετε την εντολή ip addr show dev eth0
.
Για ένα σύστημα εξυπηρετητή RARP που χρησιμοποιεί έναν πυρήνα Linux ή Solaris/SunOS, χρησιμοποιείστε το πρόγραμμα rarpd. Θα πρέπει να βεβαιωθείτε ότι η διεύθυνση υλικού της κάρτας Ethernet για τον πελάτη περιλαμβάνεται στη βάση δεδομένων «ethers» (είτε στο αρχείο /etc/ethers
, είτε μέσω NIS/NIS+) καθώς και στην βάση «hosts». Στη συνέχεια θα πρέπει να ξεκινήσετε τον δαίμονα RARP. Εκτελέστε (ως χρήστης root) την εντολή: /usr/sbin/rarpd -a
στα περισσότερα συστήματα Linux και SunOS 5 (Solaris 2), /usr/sbin/in.rarpd -a
σε μερικά άλλα συστήματα Linux, ή /usr/etc/rarpd -a
στα συστήματα με SunOS 4 (Solaris 1).
Ένας εξυπηρετητής DHCP που είναι ελεύθερο λογισμικό είναι ο dhcpd από το ISC. Για το Debian GNU/Linux συνίσταται το πακέτο isc-dhcp-server
. Εδώ είναι ένα υπόδειγμα αρχείου ρυθμίσεων γι' αυτόν (δείτε το /etc/dhcp/dhcpd.conf
):
option domain-name "example.com"; option domain-name-servers ns1.example.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "servername"; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.200 192.168.1.253; option routers 192.168.1.1; } host clientname { filename "/tftpboot.img"; server-name "servername"; next-server servername; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; }
Στο παράδειγμα αυτό, υπάρχει ένας server με όνομα servername
που κάνει όλη τη δουλειά ενός DHCP και TFTP server και μιας δικτυακής πύλης. Είναι σχεδόν βέβαιο ότι θα πρέπει να αλλάξετε τις επιλογές για το όνομα τομέα (domain name) καθώς και το όνομα του server και της διεύθυνσης της κάρτας δικτύου του πελάτη. Η επιλογήfilename
θα πρέπει να είναι το όνομα του αρχείου που θα ανακτηθεί μέσω TFTP.
Μετά την έκδοση του αρχείου ρυθμίσεων του dhcpd, επανεκκινήστε τον δαίμονα με την εντολή /etc/init.d/isc-dhcp-server restart
.
Υπάρχουν δύο διαθέσιμοι εξυπηρετητές BOOTP για το GNU/Linux. Ο πρώος είναι ο bootpd από το CMU (Carnegie Mellon University). O άλλος είναι στην πραγματικότητα ένας εξυπηρετητής DHCP, ο dhcpd του ISC. Στο Debian GNU/Linux αυτοί περιλαμβάνονται στα πακέτα bootp
και isc-dhcp-server
αντίστοιχα.
Για να χρησιμοποιήσετε τον δαίμονα bootpd του CMU, πρέπει πρώτα να αποσχολιάσετε (ή να προσθέσετε) την σχετική γραμμή στο αρχείο /etc/inetd.conf
. Στο Debian GNU/Linux, μπορείτε να το κάνετε αυτό τρέχοντας την εντολή update-inetd --enable bootps
, και μετά /etc/init.d/inetd reload
. Στην περίπτωση που ο εξυπηρετητής σας BOOTP δεν τρέχει Debian, η σχετική γραμμή πρέπει να μοιάζει κάπως έτσι:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Τώρα, θα πρέπει να δημιουργήσετε ένα αρχείο /etc/bootptab
. Αυτό έχει το ίδιο είδος οικείας και μυστήριας μορφής των παλιών καλών αρχείων printcap
, termcap
, και disktab
στο BSD. Δείτε τη σελίδα χρήσης του bootptab
για περισσότερες πληροφορίες. Για τον δαίμονα bootpd του CMU, θα πρέπει να ξέρετε την διεύθυνση MAC του "πελάτη". Εδώ είναι ένα υπόδειγμα αρχείου /etc/bootptab
:
client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB:
Θα πρέπει να αλλάξετε τουλάχιστον την επιλογή «ha», που προσδιορίζει την διεύθυνση υλικού του πελάτη. Η επιλογή «bf» προσδιορίζει το αρχείο που θα έπρεπε ένας πελάτης να ανακτήσει μέσω TFTP. Δείτε το σύνδεσμο Τμήμα 4.3.5, «Μεταφορά των ειδώλων TFTP στη θέση τους» για περισσότερες λεπτομέρειες.
Αντίθετα, η ρύθμιση του BOOTP με τον εξυπηρετητή dhcpd του ISC είναι πραγματικά εύκολη, γιατί χειρίζεται τους πελάτες BOOTP σαν μια σχετικά ειδική περίπτωση πελατών DHCP. Μερικές αρχιτεκτονικές απαιτούν μια πολύπλοκη ρύθμιση για την εκκίνηση πελατών μέσω BOOTP. Αν η δική σας είναι μια απ' αυτές, διαβάστε την ενότητα Τμήμα 4.3.2, «Ρυθμίζοντας έναν εξυπηρετητή DHCP». Διαφορετικά, πιθανόν να μπορέσετε να τα καταφέρετε απλά προσθέτοντας το προστακτικό allow bootp
στο κομμάτι των ρυθμίσεων για το υποδίκτυο που περιέχει τον πελάτη στο αρχείο /etc/dhcp/dhcpd.conf
και επενεκκινήστε τον δαίμονα dhcpd με την εντολή /etc/init.d/isc-dhcp-server restart
.
Για να προετοιμάσετε τον εξυπηρετητή TFTP θα πρέπει να βεβαιωθείτε πρώτα ότι είναι ενεργοποιημένος ο tftpd
Στην περίπτωση του tftpd-hpa
υπάρχουν δύο τρόποι με τους οποίους μπορείτε να τρέξετε την υπηρεσία. Μπορεί να εκκινηθεί κατά απαίτηση από τον δαίμονα inetd
του συστήματος, ή μπορεί να ρυθμιστεί να τρέχει σαν ανεξάρτητος δαίμονας. Το ποια από τις δύο μεθόδους θα χρησιμοποιηθεί επιλέγεται κατά την εγκατάσταση του πακέτου και μπορεί να αλλάξει με την επαναρύθμιση του πακέτου.
Σημείωση | |
---|---|
Κατά παράδοση οι εξυπηρετητές TFTP χρησιμοποιούσαν τον κατάλογο |
Όλες οι διαθέσιμες στο Debian εναλλακτικές υλοποιήσεις του in.tftpd θα πρέπει εξ' ορισμού να καταγράφουν τα αιτήματα στον εξυπηρετητή TFTP στα αρχεία καταγραφής του συστήματος. Κάποιες από αυτές διαθέτουν και ένα όρισμα -v
για ακόμα πιο λεπτομερειακή καταγραφή. Συνιστάται να ελέγχετε αυτά τα μηνύματα καταγραφής στην περίπτωση προβλημάτων εκκίνησης καθώς αποτελούν ένα καλό σημείο αφετηρίας για την διάγνωση της αιτίας τέτοιων σφαλμάτων.
Στη συνέχεια, τοποθετήστε την εικόνα εκκίνησης του TFTP, όπως βρίσκεται στο Τμήμα 4.2.1, «Πού να βρείτε αρχεία της εγκατάστασης», στον κατάλογο των εικόνων εκκίνησης του tftpd. Πιθανόν να πρέπει να δημιουργήσετε έναν σύνδεσμο από το αρχείο αυτό στο αρχείο που ο εξυπηρετητής tftpd θα χρησιμοποιήσει για την εκκίνηση ενός συγκεκριμένου πελάτη. Δυστυχώς, το όνομα του αρχείου καθορίζεται από τον πελάτη του TFTP, και δεν υπάρχουν γι' αυτό σταθερά πρότυπα.