Ρύθμιση ενός 'PXE Network Boot Server' για πολλαπλές εγκαταστάσεις διανομής Linux στο RHEL/CentOS 7


Διακομιστής PXE – Περιβάλλον εκτέλεσης προεκκίνησης – δίνει εντολή σε έναν υπολογιστή-πελάτη να εκκινήσει, να εκτελέσει ή να εγκαταστήσει ένα λειτουργικό σύστημα απευθείας από μια διεπαφή δικτύου, εξαλείφοντας την ανάγκη εγγραφής ενός CD/DVD ή χρήσης φυσικού μέσου, ή μπορεί να διευκολύνει τη δουλειά της εγκατάστασης διανομών Linux στην υποδομή του δικτύου σας σε πολλά μηχανήματα ταυτόχρονα.

Απαιτήσεις

  1. Διαδικασία ελάχιστης εγκατάστασης CentOS 7
  2. Διαδικασία ελάχιστης εγκατάστασης RHEL 7
  3. Διαμόρφωση στατικής διεύθυνσης IP στο RHEL/CentOS 7
  4. Καταργήστε τις ανεπιθύμητες υπηρεσίες στο RHEL/CentOS 7
  5. Εγκαταστήστε τον διακομιστή NTP για να ρυθμίσετε τη σωστή ώρα συστήματος στο RHEL/CentOS 7

Αυτό το άρθρο θα εξηγήσει πώς μπορείτε να εγκαταστήσετε και να διαμορφώσετε έναν Διακομιστή PXE σε RHEL/CentOS 7 x64-bit με αντικατοπτρισμένα τοπικά αποθετήρια εγκατάστασης, παρέχονται πηγές από το CentOS 7 DVD ISO εικόνας, με τη βοήθεια του διακομιστή DNSMASQ.

Το οποίο παρέχει υπηρεσίες DNS και DHCP, πακέτο Syslinux που παρέχει bootloaders για εκκίνηση δικτύου, TFTP-Server, που κάνει εικόνων με δυνατότητα εκκίνησης που είναι διαθέσιμες για λήψη μέσω δικτύου χρησιμοποιώντας Trivial File Transfer Protocol (TFTP) και VSFTPD διακομιστή που θα φιλοξενεί την τοπική τοποθετημένη κατοπτρισμένη εικόνα DVD – η οποία θα λειτουργεί ως επίσημη RHEL /CentOS 7 mirror αποθετήριο εγκατάστασης από όπου το πρόγραμμα εγκατάστασης θα εξαγάγει τα απαιτούμενα πακέτα του.

Βήμα 1: Εγκατάσταση και διαμόρφωση του διακομιστή DNSMASQ

1. Δεν χρειάζεται να σας υπενθυμίσουμε ότι είναι απολύτως απαιτητικό ότι μία από τις διεπαφές της κάρτας δικτύου σας, σε περίπτωση που ο διακομιστής σας διαθέτει περισσότερα NIC, πρέπει να διαμορφωθεί με μια στατική διεύθυνση IP από το ίδιο εύρος IP που ανήκει το τμήμα δικτύου που θα παρέχει υπηρεσίες PXE.

Έτσι, αφού διαμορφώσετε τη στατική σας διεύθυνση IP, ενημερώσετε το σύστημά σας και πραγματοποιήσετε άλλες αρχικές ρυθμίσεις, χρησιμοποιήστε την ακόλουθη εντολή για να εγκαταστήσετε τον δαίμονα DNSMASQ.

yum install dnsmasq

2. Το κύριο προεπιλεγμένο αρχείο διαμόρφωσης του DNSMASQ που βρίσκεται στον κατάλογο /etc είναι αυτονόητο, αλλά σκοπεύει να είναι αρκετά δύσκολο να το επεξεργαστείτε, κάντε τις πολύ σχολιασμένες εξηγήσεις του.

Πρώτα βεβαιωθείτε ότι έχετε δημιουργήσει αντίγραφα ασφαλείας αυτού του αρχείου σε περίπτωση που χρειαστεί να το ελέγξετε αργότερα και, στη συνέχεια, δημιουργήστε ένα νέο κενό αρχείο διαμόρφωσης χρησιμοποιώντας το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου εκδίδοντας τις ακόλουθες εντολές.

mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

3. Τώρα, αντιγράψτε και επικολλήστε τις ακόλουθες διαμορφώσεις στο αρχείο dnsmasq.conf και βεβαιωθείτε ότι αλλάζετε τις παρακάτω επεξηγημένες δηλώσεις για να ταιριάζουν με τις ρυθμίσεις δικτύου σας.

interface=eno16777736,lo
#bind-interfaces
domain=centos7.lan
DHCP range-leases
dhcp-range= eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h
PXE
dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
Gateway
dhcp-option=3,192.168.1.1
DNS
dhcp-option=6,92.168.1.1, 8.8.8.8
server=8.8.4.4
Broadcast Address
dhcp-option=28,10.0.0.255
NTP Server
dhcp-option=42,0.0.0.0

pxe-prompt="Press F8 for menu.", 60
pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux
enable-tftp
tftp-root=/var/lib/tftpboot

Οι δηλώσεις που πρέπει να αλλάξετε είναι οι εξής:

  1. διεπαφή – Διεπαφές που πρέπει να ακούει ο διακομιστής και να παρέχει υπηρεσίες.
  2. bind-interfaces – Καταργήστε το σχόλιο για δέσμευση μόνο σε αυτήν τη διεπαφή.
  3. τομέας – Αντικαταστήστε τον με το όνομα τομέα σας.
  4. dhcp-range – Αντικαταστήστε το με εύρος IP που ορίζεται από τη μάσκα δικτύου σας σε αυτό το τμήμα.
  5. dhcp-boot – Αντικαταστήστε τη δήλωση IP με τη Διεύθυνση IP της διεπαφής σας.
  6. dhcp-option=3,192.168.1.1 – Αντικαταστήστε τη διεύθυνση IP με την Πύλη του τμήματος δικτύου σας.
  7. dhcp-option=6,92.168.1.1 – Αντικαταστήστε τη διεύθυνση IP με την IP του διακομιστή DNS σας – μπορούν να οριστούν πολλές διευθύνσεις IP DNS.
  8. server=8.8.4.4 – Τοποθετήστε τις διευθύνσεις IP των προωθητών DNS.
  9. dhcp-option=28,10.0.0.255 – Αντικαταστήστε τη διεύθυνση IP με διεύθυνση εκπομπής δικτύου –προαιρετικά.
  10. dhcp-option=42,0.0.0.0 – Τοποθετήστε τους διακομιστές ώρας δικτύου – προαιρετικά (η διεύθυνση 0.0.0.0 είναι για αυτοαναφορά).
  11. pxe-prompt – Αφήστε το ως προεπιλογή – σημαίνει να πατήσετε το πλήκτρο F8 για είσοδο στο μενού 60 με χρόνο αναμονής δευτερόλεπτα..
  12. pxe=service – Χρησιμοποιήστε x86PC για αρχιτεκτονικές 32-bit/64-bit και εισαγάγετε μια προτροπή περιγραφής μενού κάτω από εισαγωγικά συμβολοσειρών. Άλλοι τύποι τιμών μπορεί να είναι: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI και X86-64_EFI.
  13. enable-tftp – Ενεργοποιεί τον ενσωματωμένο διακομιστή TFTP.
  14. tftp-root – Χρησιμοποιήστε /var/lib/tftpboot – τη θέση για όλα τα αρχεία εκκίνησης δικτύου.

Για άλλες προηγμένες επιλογές σχετικά με το αρχείο διαμόρφωσης, μη διστάσετε να διαβάσετε το εγχειρίδιο dnsmasq.

Βήμα 2: Εγκαταστήστε το SYSLINUX Bootloaders

4. Αφού επεξεργαστείτε και αποθηκεύσετε το κύριο αρχείο ρύθμισης παραμέτρων DNSMASQ, προχωρήστε και εγκαταστήστε το πακέτο εκκίνησης Syslinx PXE εκδίδοντας την ακόλουθη εντολή.

yum install syslinux

5. Τα αρχεία του PXE bootloaders βρίσκονται στην απόλυτη διαδρομή συστήματος /usr/share/syslinux, επομένως μπορείτε να το ελέγξετε αναφέροντας το περιεχόμενο αυτής της διαδρομής. Αυτό το βήμα είναι προαιρετικό, αλλά ίσως χρειαστεί να γνωρίζετε αυτήν τη διαδρομή γιατί στο επόμενο βήμα, θα αντιγράψουμε όλο το περιεχόμενό της στη διαδρομή Διακομιστής TFTP.

ls /usr/share/syslinux

Βήμα 3: Εγκαταστήστε τον TFTP-Server και συμπληρώστε τον με SYSLINUX Bootloaders

6. Τώρα, ας προχωρήσουμε στο επόμενο βήμα και ας εγκαταστήσουμε τον TFTP-Server και, στη συνέχεια, αντιγράψουμε όλα τα αρχεία bootloders που παρέχονται από το πακέτο Syslinux από την παραπάνω αναφερόμενη τοποθεσία στο / var/lib/tftpboot διαδρομή εκδίδοντας τις ακόλουθες εντολές.

yum install tftp-server
cp -r /usr/share/syslinux/* /var/lib/tftpboot

Βήμα 4: Ρύθμιση αρχείου διαμόρφωσης διακομιστή PXE

7. Συνήθως ο Διακομιστής PXE διαβάζει τη διαμόρφωσή του από μια ομάδα συγκεκριμένων αρχείων (αρχεία GUID – πρώτα, MAC αρχεία – επόμενο, Προεπιλεγμένο αρχείο – τελευταίο) που φιλοξενούνται σε έναν φάκελο που ονομάζεται pxelinux.cfg, ο οποίος πρέπει να βρίσκεται στον κατάλογο που καθορίζεται στο tftp-root δήλωση από το κύριο αρχείο διαμόρφωσης DNSMASQ.

Δημιουργήστε τον απαιτούμενο κατάλογο pxelinux.cfg και συμπληρώστε τον με ένα προεπιλεγμένο αρχείο εκδίδοντας τις ακόλουθες εντολές.

mkdir /var/lib/tftpboot/pxelinux.cfg
touch /var/lib/tftpboot/pxelinux.cfg/default

8. Τώρα είναι ώρα να επεξεργαστείτε το αρχείο διαμόρφωσης Διακομιστή PXE με έγκυρες επιλογές εγκατάστασης διανομών Linux. Σημειώστε επίσης ότι όλες οι διαδρομές που χρησιμοποιούνται σε αυτό το αρχείο πρέπει να είναι σχετικές με τον κατάλογο /var/lib/tftpboot.

Παρακάτω μπορείτε να δείτε ένα παράδειγμα αρχείου διαμόρφωσης που μπορείτε να το χρησιμοποιήσετε, αλλά τροποποιήστε τις εικόνες εγκατάστασης (αρχεία πυρήνα και initrd), τα πρωτόκολλα (FTP, HTTP, HTTPS, NFS) και τις IP, ώστε να αντικατοπτρίζουν τα αποθετήρια και τις διαδρομές της πηγής εγκατάστασης του δικτύου σας ανάλογα.

nano /var/lib/tftpboot/pxelinux.cfg/default

Προσθέστε ολόκληρο το παρακάτω απόσπασμα στο αρχείο.

default menu.c32
prompt 0
timeout 300
ONTIMEOUT local

menu title ########## PXE Boot Menu ##########

label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password

label 4
menu label ^4) Boot from local drive

Όπως μπορείτε να δείτε, οι εικόνες εκκίνησης του CentOS 7 (πυρήνας και initrd) βρίσκονται σε έναν κατάλογο που ονομάζεται centos7 σε σχέση με το /var/lib/tftpboot (σε μια απόλυτη διαδρομή συστήματος αυτό θα σήμαινε /var/lib/tftpboot/centos7) και τα αποθετήρια του προγράμματος εγκατάστασης μπορούν να προσεγγιστούν χρησιμοποιώντας το πρωτόκολλο FTP στη θέση δικτύου 192.168.1.20/pub – σε αυτήν την περίπτωση τα repos φιλοξενούνται τοπικά επειδή η διεύθυνση IP είναι ίδια με τη διεύθυνση διακομιστή PXE).

Επίσης, το μενού label 3 προσδιορίζει ότι η εγκατάσταση του προγράμματος-πελάτη θα πρέπει να γίνει από απομακρυσμένη τοποθεσία μέσω VNC (εδώ αντικαταστήστε τον κωδικό πρόσβασης VNC με έναν ισχυρό κωδικό πρόσβασης) σε περίπτωση που κάνετε εγκατάσταση σε έναν πελάτη χωρίς κεφαλή και το μενού label 2 καθορίζεται ως
Η εγκατάσταση προέρχεται από έναν επίσημο καθρέφτη Internet CentOS 7 (αυτή η περίπτωση απαιτεί σύνδεση Διαδικτύου διαθέσιμη στον πελάτη μέσω DHCP και NAT).

Σημαντικό: Όπως βλέπετε στην παραπάνω διαμόρφωση, χρησιμοποιήσαμε το CentOS 7 για σκοπούς επίδειξης, αλλά μπορείτε επίσης να ορίσετε εικόνες RHEL 7 και να ακολουθήσετε ολόκληρες οδηγίες και διαμορφώσεις βασίζονται μόνο στο CentOS 7, επομένως να είστε προσεκτικοί κατά την επιλογή της διανομής.

Βήμα 5: Προσθήκη εικόνων εκκίνησης CentOS 7 στον διακομιστή PXE

9. Για αυτό το βήμα απαιτούνται αρχεία πυρήνα CentOS και initrd. Για να λάβετε αυτά τα αρχεία χρειάζεστε την εικόνα CentOS 7 DVD ISO. Λοιπόν, προχωρήστε και κατεβάστε το CentOS DVD Image, τοποθετήστε το στη μονάδα DVD και προσαρτήστε την εικόνα στη διαδρομή συστήματος /mnt εκδίδοντας την παρακάτω εντολή.

Ο λόγος για τη χρήση του DVD και όχι μιας ελάχιστης εικόνας CD είναι το γεγονός ότι αργότερα αυτό το περιεχόμενο DVD θα χρησιμοποιηθεί για τη δημιουργία του
τοπικά αποθετήρια εγκατάστασης για πηγές FTP.

mount -o loop /dev/cdrom  /mnt
ls /mnt

Εάν το μηχάνημά σας δεν διαθέτει μονάδα DVD, μπορείτε επίσης να κάνετε λήψη του CentOS 7 DVD ISO τοπικά χρησιμοποιώντας βοηθητικά προγράμματα wget ή curl από έναν καθρέφτη CentOS και να το προσαρτήσετε.

wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso
mount -o loop /path/to/centos-dvd.iso  /mnt

10. Αφού γίνει διαθέσιμο το περιεχόμενο του DVD, δημιουργήστε τον κατάλογο centos7 και αντιγράψτε τον πυρήνα εκκίνησης του CentOS 7 και τις εικόνες initrd από τη θέση του DVD στη δομή του φακέλου centos7.

mkdir /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/centos7

Ο λόγος για τη χρήση αυτής της προσέγγισης είναι ότι αργότερα μπορείτε να δημιουργήσετε νέους ξεχωριστούς καταλόγους στη διαδρομή /var/lib/tftpboot και να προσθέσετε άλλες διανομές Linux στο μενού PXE χωρίς να ανακατέψετε ολόκληρη τη δομή του καταλόγου.

Βήμα 6: Δημιουργήστε την πηγή εγκατάστασης τοπικού καθρέφτη CentOS 7

11. Παρόλο που μπορείτε να ρυθμίσετε Κατοπτρίσματα πηγής εγκατάστασης μέσω μιας ποικιλίας πρωτοκόλλων όπως HTTP, HTTPS ή NFS, για αυτόν τον οδηγό, έχω επιλέξει FTP πρωτόκολλο γιατί είναι πολύ αξιόπιστο και εύκολο στη ρύθμιση με τη βοήθεια του διακομιστή vsftpd.

Περαιτέρω εγκατάσταση vsftpd daemon, αντιγράψτε όλο το περιεχόμενο που είναι προσαρτημένο σε DVD στην προεπιλεγμένη διαδρομή διακομιστή vsftpd (/var/ftp/pub) – αυτό μπορεί να διαρκέσει λίγο ανάλογα με τους πόρους του συστήματός σας και να προσαρτηθεί αναγνώσιμα δικαιώματα σε αυτήν τη διαδρομή εκδίδοντας τις ακόλουθες εντολές.

yum install vsftpd
cp -r /mnt/*  /var/ftp/pub/ 
chmod -R 755 /var/ftp/pub

Βήμα 7: Ξεκινήστε και ενεργοποιήστε το Daemons System-Wide

12. Τώρα που ολοκληρώθηκε τελικά η διαμόρφωση διακομιστή PXE, ξεκινήστε τους διακομιστές DNSMASQ και VSFTPD, επαληθεύστε την κατάστασή τους και ενεργοποιήστε την σε όλο το σύστημα, για να ξεκινά αυτόματα μετά από κάθε επανεκκίνηση του συστήματος, εκτελώντας τις παρακάτω εντολές.

systemctl start dnsmasq
systemctl status dnsmasq
systemctl start vsftpd
systemctl status vsftpd
systemctl enable dnsmasq
systemctl enable vsftpd

Βήμα 8: Ανοίξτε το Τείχος προστασίας και δοκιμάστε την πηγή εγκατάστασης FTP

13. Για να λάβετε μια λίστα με όλες τις θύρες που πρέπει να είναι ανοιχτές στο Τείχος προστασίας σας, προκειμένου οι υπολογιστές-πελάτες να φτάσουν και να εκκινήσουν από τον διακομιστή PXE, εκτελέστε την εντολή netstat και προσθέστε το CentOS 7 Το τείχος προστασίας κανονίζει ανάλογα με τις θύρες ακρόασης dnsmasq και vsftpd.

netstat -tulpn
firewall-cmd --add-service=ftp --permanent  	## Port 21
firewall-cmd --add-service=dns --permanent  	## Port 53
firewall-cmd --add-service=dhcp --permanent  	## Port 67
firewall-cmd --add-port=69/udp --permanent  	## Port for TFTP
firewall-cmd --add-port=4011/udp --permanent  ## Port for ProxyDHCP
firewall-cmd --reload  ## Apply rules

14. Για να ελέγξετε τη διαδρομή δικτύου πηγής εγκατάστασης FTP, ανοίξτε ένα πρόγραμμα περιήγησης τοπικά (το lynx θα πρέπει να το κάνει) ή σε διαφορετικό υπολογιστή και πληκτρολογήστε τη διεύθυνση IP του διακομιστή PXE με
Πρωτόκολλο FTP ακολουθούμενο από /pub τοποθεσία δικτύου στη διεύθυνση URL που έχει κατατεθεί και το αποτέλεσμα θα πρέπει να είναι όπως παρουσιάζεται στο παρακάτω στιγμιότυπο οθόνης.

ftp://192.168.1.20/pub

15. Για να εντοπίσετε σφάλματα διακομιστή PXE για ενδεχόμενες εσφαλμένες ρυθμίσεις παραμέτρων ή άλλες πληροφορίες και διαγνωστικά σε λειτουργία ζωντανής λειτουργίας, εκτελέστε την ακόλουθη εντολή.

tailf /var/log/messages

16. Τέλος, το τελευταίο απαραίτητο βήμα που πρέπει να κάνετε είναι να αποσυνδέσετε το CentOS 7 DVD και να αφαιρέσετε το φυσικό μέσο.

umount /mnt

Βήμα 9: Διαμορφώστε τους πελάτες για εκκίνηση από το δίκτυο

17. Τώρα οι πελάτες σας μπορούν να εκκινήσουν και να εγκαταστήσουν το CentOS 7 στους υπολογιστές τους διαμορφώνοντας το Network Boot ως κύρια συσκευή εκκίνησης από το BIOS του συστήματός τους ή πατώντας ένα καθορισμένο κλειδί κατά τη διάρκεια του Λειτουργίες BIOS POST όπως καθορίζονται στο εγχειρίδιο της μητρικής πλακέτας.

Για να επιλέξετε την εκκίνηση δικτύου. Αφού εμφανιστεί το πρώτο μήνυμα PXE, πατήστε το πλήκτρο F8 για να εισέλθετε στην παρουσίαση και μετά πατήστε το πλήκτρο Enter για να προχωρήσετε στο μενού PXE.

18. Μόλις φτάσετε στο μενού PXE, επιλέξτε τον τύπο εγκατάστασης του CentOS 7, πατήστε το πλήκτρο Enter και συνεχίστε με τη διαδικασία εγκατάστασης με τον ίδιο τρόπο που θα μπορούσατε να το εγκαταστήσετε από ένα τοπικό συσκευή εκκίνησης πολυμέσων.

Σημειώστε ότι η χρήση της παραλλαγής 2 από αυτό το μενού απαιτεί ενεργή σύνδεση στο Διαδίκτυο στον πελάτη-στόχο. Επίσης, στο παρακάτω
στιγμιότυπα οθόνης μπορείτε να δείτε ένα παράδειγμα απομακρυσμένης εγκατάστασης πελάτη μέσω VNC.

Αυτό είναι όλο για τη ρύθμιση ενός ελάχιστου Διακομιστή PXE στο CentOS 7. Στο επόμενο άρθρο μου από αυτήν τη σειρά, θα συζητήσω άλλα θέματα σχετικά με αυτήν τη διαμόρφωση διακομιστή PXE, όπως τον τρόπο ρύθμισης αυτοματοποιημένων εγκαταστάσεων του CentOS 7 χρησιμοποιώντας αρχεία Kickstart και την προσθήκη άλλων διανομών Linux στο μενού PXE – Διακομιστής Ubuntu και Debian 7.