4.1 Εισαγωγή
Το IPv6
είναι ένα θέμα έρευνας σε συνεχή εξέλιξη. Για να υπάρχει ολοκληρωμένη
αντίληψη χρειάζεται η συνεχής παρακολούθηση και μελέτη των
εξελίξεων. Απαραίτητο μέρος της μελέτης είναι η εργαστηριακή
εφαρμογή και ο πειραματισμός με το πρωτόκολλο. Η απαίτηση
για εργαστηριακή παρακολούθηση των εξελίξεων και απόκτησης
μεγαλύτερης εμπειρίας μας ώθησε στην δημιουργία της νησίδας
IPv6. Η υλοποίηση της, προσφέρει ένα υπόβαθρο για πειραματισμό
σε μεγαλύτερο βάθος στο μέλλον.
Η νησίδα
που δημιουργήθηκε αποτελείται από τρεις υπολογιστές, εκ’των
οποίον ο ένας αναλαμβάνει τον ρόλο του δρομολογητή IPv6. Η
τοπολογία της νησίδας φαίνεται στο Σχήμα 4.1
Στο κεφάλαιο αυτό παρουσιάζεται
ο εξοπλισμός και τα απαιτούμενα μέρη για την υλοποίηση μιας
νησίδας IPv6. Στη συνέχεια δίνονται λεπτομερείς οδηγίες για
την πραγματοποίηση της και παρουσιάζονται τα βασικότερα προβλήματα
που συναντήθηκαν.
Τέλος δίνονται οδηγίες
για την εγκατάσταση και ρύθμιση του λογισμικού καθώς και κάποια
βοηθήματα που δημιουργήθηκαν κατά την δημιουργία της νησίδας
του εργαστηρίου, τα οποία υπάρχουν ολόκληρα στο Παράρτημα
Α.
Η δημιουργία μιας νησίδας
απαιτεί γνώσης που δεν είναι δυνατό να καλυφθούν εξ’ολοκλήρου
σε αυτό το κεφάλαιο. Για αυτό το λόγο δεν παρουσιάζουμε πάντα
όλες τις λεπτομέρειες, αλλά όπου αυτό είναι δυνατό παρουσιάζουμε
κάποια στοιχεία, ώστε κάποιος που δεν είναι εξοικειωμένος
με τις διαδικασίες να τις γνωρίσει έστω και επιγραμματικά,
ώστε να ανατρέξει σε άλλα κείμενα.
4.2 Eξοπλισμός
(Hardware)
Ο εξοπλισμός
που χρησιμοποιήθηκε για την δημιουργία της νησίδας αποτελείται
από τρεις υπολογιστές. Η βασική σύνθεση των υπολογιστών φαίνεται
στον πίνακα 1 που ακολουθεί.
Όνομα
μηχανής |
Χαρακτηριστικά |
Περιγραφή
λειτουργίας |
no1 |
Intel
386 , 8 Mbytes RAM
80 MB Hard
Disk,
2 Εthernet NICs
|
Δρομολογητής
IPv6 |
Zeus |
Intel
386 , 8 Mbytes RAM
80 MB Hard
Disk,
1 Εthernet
NIC
|
Πελάτης
IPv6 |
ipv6 |
Intel
386 , 8 Mbytes RAM
80 MB Hard
Disk,
1 Εthernet
NIC
|
Πελάτης
IPv6 ,
Εξυπηρέτης
DNS
|
eudokia |
Intel
486 , 16 MB RAM
1 GB Hard Disk,
1 Εthernet
NIC
|
Πλατφόρμα
Ανάπτυξης |
Πίνακας
4.1 Εξοπλισμός νησίδας IPv6
Όπως
φαίνεται στον πίνακα το υλικό για την δημιουργία της νησίδας
αποτελείται κυρίως από υπολογιστές που θεωρούνται κατά κόρον
ξεπερασμένοι τεχνολογικά και στις περισσότερες περιπτώσεις
είναι ήδη παροπλισμένοι και θεωρείται ότι πλέον δεν μπορούν
να χρησιμοποιηθούν σχεδόν για καμία εργασία. Η χρησιμοποίηση
τους έγινε δυνατή λόγο της χρησιμοποίησης του λειτουργικού
Linux.
Παρόλα
αυτά η λειτουργία τους δεν δημιούργησε κανένα πρόβλημα αν
και έθεσε μερικούς περιορισμούς. Οι περιορισμοί αυτοί έχουν
να κάνουν κυρίως με την υπολογιστική ισχύ των επεξεργαστών
που κάνουν πρακτικά αδύνατη την χρησιμοποίηση των δυνατοτήτων
του IPv6 στον τομέα της ασφάλειας. Επίσης δεν είναι δυνατή
και η χρήση των δυνατοτήτων για ποιότητα εξυπηρέτησης που
παρέχει το IPv6.
Οι περιορισμοί
αυτοί εάν και φαίνονται σοβαροί αρχικά, δεν μειώνουν την αξία
της νησίδας γιατί οι παραπάνω δυνατότητες του IPv6 βρίσκονται
σε πολύ πειραματικό στάδιο. Για αυτό τον λόγο νόημα θα είχε
μόνο η συμμετοχή στην ανάπτυξη τους, και όχι μια προσπάθεια
δοκιμής τους, πράγμα που ήταν πέρα των στόχων μας. Στο μέλλον
και καθώς η υλοποίηση ολοκληρώνεται , μια αναβάθμιση του υλικού
(hardware) και υπάρχουσα εμπειρία θα κάνει δυνατή τη μελέτη
τους, σε μεγαλύτερο βάθος.
4.3
Το λειτουργικό σύστημα (Linux)
Το λειτουργικό
σύστημα Linux αποτέλεσε τον δομικό λίθο για την νησίδα του
IPv6, όπως και για άλλες δραστηριότητες. Ο πυρήνας (Kernel)
του Linux κυκλοφορεί σε δύο εκδόσεις, την επίσημη έκδοση (Production
Version) και την έκδοση για ανάπτυξη (Development Version).
Η επίσημη
έκδοση του πυρήνα του λειτουργικού (Kernel) σήμερα βρίσκεται
στην έκδοση 2.0 διατίθεται για χρήση προς το πλατύ κοινό και
έχει σκοπό να παρέχει μια σταθερή πλατφόρμα λειτουργίας για
κάθε χρήστη.
Η έκδοση
για ανάπτυξη του πυρήνα βρίσκεται στην έκδοση 2.1. Στην έκδοση
ανάπτυξης του πυρήνα προσθέτονται νέες λειτουργίες και δυνατότητες
στο Linux και στην συνέχεια δοκιμάζονται από ποιο προχωρημένους
χρήστες και προγραμματιστές για την ανεύρεση και διόρθωση
τυχόν σφαλμάτων στον κώδικα. Όταν ολοκληρωθεί ο κύκλος ανάπτυξης
η νέα επίσημη έκδοση του λειτουργικού δύνεται για χρήση στο
ευρύ κοινό και ξεκινάει ένας νέος κύκλος ανάπτυξης.
Το IPv6
είναι ένα πρωτόκολλο στη φάση της ανάπτυξης και σαν αποτέλεσμα
βρίσκεται μόνο στην πειραματική σειρά του πυρήνα. Η χρησιμοποίηση
των πυρήνων αυτών είναι ιδιαίτερα δύσκολη στην χρήση, λόγο
των συνεχών και απροειδοποίητων αλλαγών που συμβαίνουν. Η
ομάδα ανάπτυξης του πυρήνα ονομάζει την χρήση του χαρακτηριστικά
“Η ζωή στην κόψη του ξυραφιού”.
Ευτυχώς
η μεγάλη κοινότητα των χρηστών αλλά και μέλει της ομάδας ανάπτυξης
του λειτουργικού αυτού, μας παρείχαν την βοήθεια τους πολλές
φορές με χρήσιμες πληροφορίες και λύσεις σε προβλήματα που
παρουσιάστηκαν.
Το λειτουργικό
διανέμεται ελεύθερα από διάφορες εταιρίες, οι οποίες προσθέτουν
σε αυτό διάφορα χαρακτηριστικά η κάθε μια.
Εμείς
χρησιμοποιήσαμε την τελευταία έκδοση της εταιρίας RedHat με
κωδικό προϊόντος RedHat 4.2 (Biltmore) . Ένα από τα βασικά
υπέρ του προϊόντος είναι τα εργαλεία που παρέχει για την εγκατάσταση
και αναβάθμιση προγραμμάτων και τμημάτων του λειτουργικού,
τα οποία μας διευκόλυναν ιδιαίτερα το έργο μας.
Πρέπει
να τονίσουμε ότι τα περισσότερα κομμάτια του λειτουργικού
για την έκδοση 2.1 καθώς και οι εφαρμογές για το IPv6 έχουν
την μορφή πηγαίου κώδικα της γλώσσας C και απαιτούν compilation.
Για το λόγο αυτό φροντίσαμε να πραγματοποιήσουμε το compilation
μια μόνο φορά και στην συνέχεια να τα εγκαταστήσουμε σε κάθε
μηχανή.
4.4
Γενικές οδηγίες για την διαδικασία του Compilation
Η διαδικασία
compilation των προγραμμάτων είναι ένα βήμα που μπορεί να
αποδειχτεί από περίπατος έως εφιάλτης. Η γνώση προγραμματισμού
είναι σίγουρο ότι είναι χρήσιμη και ιδιαίτερα η γνώση της
γλώσσας C. Παρόλα αυτά στις περισσότερες περιπτώσεις και ειδικότερα
αφού αποκτηθεί μια μικρή έστω πείρα είναι δυνατή η επίλυση
μικρόν τουλάχιστον προβλημάτων.
Πριν
ξεκινήσει κάποια προσπάθεια για να γίνει compile οτιδήποτε
πρέπει να έχουν διαβαστεί αρχεία που έχουν ονόματα του τύπου
: README, README.Linux, INSTALL, Changes. Συνήθως περιέχουν
πολλές και ανεκτίμητες πληροφορίες.
Η κύρια
πηγή των προβλημάτων που μπορεί να προκύψουν είναι συνήθως
μια βιβλιοθήκη που λείπει ή κάποιο include αρχείο. Τα αρχεία
include περιέχουν δηλώσεις τύπων μεταβλητών και σταθερών που
χρησιμοποιούν τα προγράμματα για να επικοινωνήσουν με τις
διαδικασίες των βιβλιοθηκών ή το λειτουργικό.
Στα πακέτα
προγραμμάτων για το IPv6, οι παραπάνω λόγοι ήταν οι πιο συχνές
αιτίες των προβλημάτων κατά την διαδικασία του compilation.Οι
βιβλιοθήκες βρίσκονται στους καταλόγους /lib , /usr/lib ,
ενώ τα αρχεία include στον κατάλογο /usr/include και τους
υποκαταλόγους. Στον κατάλογο /usr/include θα πρέπει να υπάρχουν
κάποιες συνδέσεις (links) με τo δέντρο του πηγαίου κώδικα
του πυρήνα και συγκεκριμένα στους καταλόγους των αρχείων include
του πυρήνα.
Οι συνδέσεις
αυτές είναι :
/usr/include/asm
a /usr/src/linux/include/asm
/usr/include/linux
a /usr/src/linux/include/linux
Σε περίπτωση
που δεν υπάρχουν ήδη δημιουργείστε τα με τις εξής εντολές:
- ln -s /usr/include/asm
/usr/src/linux/include/asm
- ln -s /usr/include/linux
/usr/src/linux/include/linux
Οι πληροφορίες
για την διαδικασία του compilation βρίσκονται συνήθως στο
αρχείο Makefile στον κύριο κατάλογο του πακέτου που πρόκειται
να γίνει compile. Τις περισσότερες φορές κάποιες αλλαγές σε
αυτό το αρχείο θα λύσουν τα προβλήματα σας. Παρατηρώντας τις
αλλαγές που χρειάστηκαν στα πακέτα για το IPv6 θα γίνει σε
γενικές γραμμές κατανοητό το πώς και που γίνονται αυτές οι
αλλαγές.
Ειδικότερα
για τα πακέτα του IPv6 τα προβλήματα στα αρχεία include ήταν
η αλλαγή του ονόματος ενός τύπου η οποία δεν είχε ανανεωθεί
και στον πηγαίο κώδικα. Σε αυτές τις περιπτώσεις η αναζήτηση
μέσα στα αρχεία include για τον τύπο που λείπει η παραπλήσιο
μπορεί να αποδώσει. Για την αναζήτηση μπορεί να χρησιμοποιηθεί
η παρακάτω εντολή, στον κατάλογο των αρχείων include:
grep <κείμενο
προς ανεύρεση> *
Τέλος
εάν όλα τα άλλα απέτυχαν, υπάρχει πάντα η μεγάλη κοινότητα
χρηστών του Linux στο Internet, η οποία θα ανταποκριθεί άμεσα
αρκεί οι ερωτήσεις να μην είναι ασαφής, ή οι απαντήσεις βρίσκονται
μέσα στα README αρχεία των προγραμμάτων που πρόκειται να γίνουν
compile.
Τις περισσότερες
φορές οι αλλαγές που πρέπει να γίνουν μοιράζονται σε ένα ειδικό
τύπου αρχείο, τα αρχεία μορφής diff. Τα αρχεία αυτά περιέχουν
τις αλλαγές που παρουσιάζουν δύο διαφορετικές εκδόσεις ενός
αρχείου ή και ολόκληρων δέντρων πηγαίου κώδικα. Χρησιμοποιώντας
το πρόγραμμα patch είναι δυνατό να γίνουν αυτόματα όλες οι
αλλαγές που απαιτούνται. Η εντολή αυτή έχει την ακόλουθη μορφή:
patch -p0 <
<αρχείο diff>
Σε αυτή
την περίπτωση υποθέσαμε ότι βρισκόμαστε έναν κατάλογο πάνω
από την ρίζα του πηγαίου κώδικα του πακέτου.
4.5
Προετοιμάζοντας μια μηχανή για το IPv6
Αυτή
η παράγραφο περιγράφει βήμα - βήμα τις αλλαγές που χρειάζεται
μια μηχανή για να χρησιμοποιήσει το Linux 2.1. Αυτό το στάδιο
είναι κοινό για όλες τις μηχανές που πρέπει να έχουν δυνατότητα
IPv6 δηλαδή δρομολογητές IPv6, πελάτες, πλατφόρμα ανάπτυξης.
Η χρησιμοποίηση του Linux 2.1 επιβάλει συνεχή ενημέρωση. Για
αυτό το λόγο θα πρέπει να παρακολουθούνται στενά οι εξής λίστες
ηλεκτρονικού ταχυδρομείου:
Λίστα
|
Θέμα
λίστας
|
6bone@ISI.EDU
|
Επικοινωνία
των μελών του 6Bone.
|
Netdev@roxanne.nuclecu.unam.mx
|
Συζήτηση
για θέματα ανάπτυξης του δυκτιακού κώδικα του Linux.
|
linux-kernel@vger.rutgers.edu
|
Ανακοίνωση
προβλημάτων / διορθώσεων για των πυρήνα του Linux
|
linux-kernel-announce@vger.rutgers.edu
|
Ανακοίνωση
των νέων εκδόσεων του πυρήνα του Linux.
|
Πίνακας
4.2 Λίστες E-Mail σχετικές με το IPv6/Linux.
Τα κομμάτια
του λειτουργικού καθώς και οι εφαρμογές είναι χωρισμένα σε
πακέτα των οποίων η διαχείριση γίνεται με το εργαλείο rpm
(RedHat Package Manager). Βασικές εντολές του rpm φαίνονται
στον πίνακα 2 για περισσότερες πληροφορίες δώστε : man rpm.
Βασικές
εντολές rpm
|
Εγκατάσταση
πακέτου |
rpm
-i <όνομα πακέτου> |
Απεγκατάσταση
πακέτου |
rpm
-e <όνομα πακέτου> |
Αναβάθμιση
πακέτου |
rpm
-U <όνομα πακέτου> |
Πληροφορίες
πακέτου |
rpm
-q -i -p <όνομα πακέτου> |
Πίνακας
4.3 Βασικές εντολές rpm
Η μορφή
rpm είναι μια καινούργια μέθοδος διανομής των πακέτων η οποία
περιέχει τα εκτελέσιμα και δεν χρειάζεται compilation, ενώ
χρησιμοποιείτε όλο και πιο πολύ. Παρόλα αυτά πολλές φορές
το διαθέσιμο πακέτο βρίσκεται στην από χρόνια χρησιμοποιούμενη
μορφή συμπιεσμένου αρχείου tar, με την επέκταση tar.gz και
τις περισσότερες φορές περιέχουν μόνο τον πηγαίο κώδικα που
απαιτεί compilation
4.5.1
Εγκατάσταση
Linux 2.0
Κατά
την εγκατάσταση του Linux 2.0 αρκεί να επιλέγουν τα βασικά
πακέτα εγκατάστασης χωρίς X-windows και περιττά πακέτα (Πίνακας
3). Στο πρόγραμμα εγκατάστασης πρέπει να επιλεγούν τα βασικά
πακέτα και τα πακέτα σχετικά με το δίκτυο.
Πακέτα
για μηχανή IPv6
|
setup. |
pamconfig. |
filesystem. |
MAKEDEV. |
NetKit-B. |
SysVinit. |
adduser. |
ash. |
at. |
bash. |
bc. |
bdflush. |
bin86. |
bind-utils. |
binutils. |
Cpio. |
cracklib-dicts. |
crontabs. |
db. |
dev. |
Diffutils. |
e2fsprogs. |
ed. |
eject. |
etcskel. |
file. |
fileutils. |
findutils. |
gawk. |
gdbm. |
Getty_ps. |
gpm. |
grep. |
groff. |
gzip. |
Hdparm. |
info. |
initscripts. |
ipfwadm. |
joe. |
Kbd. |
kbdconfig. |
kernel. |
kernel-modules. |
ld.so. |
less. |
lha. |
libc. |
libg++. |
libtermcap. |
lilo. |
linuxthreads. |
logrotate. |
losetup. |
mailcap. |
Mailx. |
make. |
man. |
man-pages. |
mc. |
mingetty. |
mkinitrd. |
mount. |
mpage. |
mt-st. |
ncompress. |
ncurses. |
net-tools. |
newt. |
nfs-server-clients. |
Pam. |
passwd. |
patch. |
pcmcia-cs. |
pidentd. |
Procinfo. |
procmail. |
procps. |
psmisc. |
pwdb. |
Quota. |
rdate. |
rdist. |
readline. |
redhat-release. |
Rootfiles. |
rpm. |
sed. |
sendmail. |
setconsole. |
sh-utils. |
shadow-utils. |
slang. |
smbfs. |
stat. |
Statnet. |
sysklogd. |
tar. |
tcp_wrappers. |
tcpdump. |
Tcsh. |
termcap. |
textutils. |
time. |
timeconfig. |
Tmpwatch. |
traceroute. |
unarj. |
unzip. |
util-linux. |
vim. |
vixie-cron. |
vlock. |
which. |
zip. |
zlib. |
zoneinfo. |
|
|
|
Πίνακας
.4 Πακέτα για μηχανή IPv6
Στην
μηχανή που θα χρησιμοποιηθεί για ανάπτυξη πρέπει να υπάρχουν
όλα τα σχετικά πακέτα (Πίνακας 4).
Πακέτα
για μηχανή ανάπτυξης IPv6
|
setup. |
Pamconfig. |
filesystem. |
fileutils. |
ElectricFence. |
MAKEDEV. |
NetKit-B. |
SysVinit. |
adduser. |
adjtimex. |
anonftp. |
Aout-libs. |
ash. |
at. |
autoconf. |
automake. |
Bash. |
bc. |
bdflush. |
bin86. |
bind-utils. |
Binutils. |
bison. |
blt. |
blt-devel. |
byacc. |
Cdecl. |
cdp. |
cmu-snmp-devel. |
cpio. |
cproto. |
Cracklib. |
cracklib-dicts. |
crontabs. |
csh. |
ctags. |
Cvs. |
db. |
db-devel. |
dev. |
dialog. |
Diffstat. |
diffutils. |
e2fsprogs. |
e2fsprogs-devel. |
ed. |
Eject. |
etcskel. |
f2c-libs. |
faces. |
faces-devel. |
Faces-xface. |
file. |
fileutils. |
findutils. |
flex. |
Gawk. |
gcc. |
gcc-c++. |
gcc-objc. |
gdb. |
Gdbm. |
gdbm-devel. |
gencat. |
gettext. |
getty_ps. |
Git. |
gpm. |
gpm-devel. |
grep. |
groff. |
gzip. |
hdparm. |
helptool. |
indent. |
info. |
initscripts. |
inn-devel. |
ipfwadm. |
joe. |
kbd. |
kbdconfig. |
kernel. |
kernel-modules. |
ld.so. |
less. |
lha. |
libc. |
libc-debug. |
libc-devel. |
libc-profile. |
libc-static. |
libelf. |
libg++. |
libg++-devel. |
libgr. |
libgr-devel. |
libpng. |
libpng-devel. |
libtermcap. |
libtermcap-devel. |
lilo. |
linuxthreads. |
linuxthreads-
devel |
locale. |
logrotate. |
losetup. |
lpr. |
m4. |
mailcap. |
mailx. |
make. |
man. |
man-
pages. |
mawk. |
mc. |
mingetty. |
mkinitrd. |
modules. |
mount. |
mouseconfig. |
mt-st. |
ncompress. |
ncurses. |
ncurses-
devel. |
net-tools. |
newt. |
newt-devel. |
open. |
pam. |
passwd. |
patch. |
pcmcia-cs. |
perl. |
pmake. |
procinfo. |
procmail. |
procps. |
psacct. |
psmisc. |
pwdb. |
python. |
python-
devel. |
python-
docs. |
pythonlib. |
quota. |
rcs. |
readline. |
readline-
devel. |
redhat-
release. |
rgrep. |
rhmask. |
rootfiles. |
rpm. |
rpm-devel. |
screen. |
sed. |
sendmail. |
setconsole. |
sh-utils. |
shadow-utils. |
sharutils. |
slang. |
slang-devel. |
smbfs. |
stat. |
statnet. |
strace. |
svgalib. |
svgalib-
devel. |
swatch. |
symlinks. |
sysklogd. |
tar. |
tcl. |
tclx. |
tcp_
wrappers. |
tcpdump. |
tcsh. |
termcap. |
textutils. |
time. |
timeconfig. |
tix. |
tk. |
tmpwatch. |
traceroute. |
tree. |
tunelp. |
typhoon. |
unarj. |
unzip. |
util-linux. |
vim. |
vim-X11. |
vixie-cron. |
which. |
wu-ftpd. |
xpm-devel. |
xview-devel. |
xview-devel-
examples. |
zip. |
zlib. |
zlib-devel. |
zoneinfo. |
Πίνακας
4.5 Πακέτα για μηχανή ανάπτυξης IPv6
Μετά
το τέλος της εγκατάστασης είναι πολύ πιθανό να χρειαστεί να
αφαιρεθούν μερικά περιττά πακέτα.
4.5.2
Αναβαθμίζοντας σε Linux 2.1
Η διαδικασίες
που περιγράφονται στην συνέχεια απαιτούν πλήρης πρόσβαση στο
σύστημα και για αυτό πρέπει να έχει γίνει σύνδεση σαν υπερ-χρήστης
root.
Το πρώτο
και βασικότερο κομμάτι της αναβάθμισης είναι ο πυρήνας, τον
οποίο και μπορείτε να προμηθευτείτε από το Internet στο ακόλουθο
ftp site : ftp://ftp.kernel.org/pub/linux/kernel/davem
Ο πυρήνας
που χρησιμοποιούμε είναι η έκδοση 2.1.59 με αρκετές διορθώσεις
από τον άνθρωπο που αναπτύσσει το δικτυακό μέρος του Linux
(David S. Miller), το όνομα του αρχείoυ είναι : linux-2.1.59-VGER-CVS971020.tar.gz
. Το αρχείο αυτό πρέπει να αποσυμπιεστεί στον κατάλογο /usr/src/.
Εάν στον κατάλογο αυτό υπάρχει μια σύνδεση με τον πηγαίο κώδικα
του τρέχοντος πυρήνα σας π.χ. : linux a linux-2.0.30
Τότε
πρέπει να αφαιρεθεί με την εντολή:
rm linux
αποσυμπιέζουμε
το αρχείο στον κατάλογο /usr/src με την εντολή :
gzip -dc linux-2.1.59-VGER-CVS971020.tar.gz | tar -xvf -
Τώρα
ο πηγαίος κώδικας του πυρήνα είναι κάτω από τον κατάλογο /usr/src/linux.
Πρέπει
κάθε φορά να ελέγχετε το αρχείο Changes που βρίσκεται στον
κατάλογο Documentation. Σε αυτό το αρχείο υπάρχουν χρήσιμες
πληροφορίες για ποια πακέτα πρέπει να αναβαθμιστούν.
Στην
συγκεκριμένη περίπτωση τα πακέτα που πρέπει οπωσδήποτε να
αναβαθμιστούν φαίνονται στον πίνακα 5 :
Πακέτο
|
Έκδοση
|
Ανεύρεση
τρέχουσας έκδοσης
|
Kernel
modules
|
modutils-2.1.55
|
insmod
-V
|
Dynamic
Linker (ld.so)
|
1.9.5
|
ldd
-v
|
Linux
C Library
|
5.4.38
|
ls
-l /lib/libc.so.*
|
Linux
C++ Library
|
2.7.2.8
|
ls
-l /usr/lib/libg++.so.*
|
Mount
|
2.6h
|
mount
--version
|
Procinfo
|
0.11
|
procinfo
-v
|
Procps
|
1.2
|
ps
–version
|
Binutils
|
2.8.1.0.1
|
ld
-v
|
Net-tools
|
1.41
|
hostname
-V
|
|
|
|
Πίνακας
4.6 Πακέτα για αναβάθμιση σε Linux 2.1.59
Τα περισσότερα πακέτα
από αυτά είναι διαθέσιμα σε μορφή rpm στο ακόλουθο URL: ftp://ftp.redhat.com/pub/contrib
Εάν χρειαστεί
να αναβαθμιστούν από τις εκδόσεις tar.gz δεν πρέπει να παρουσιασθεί
κάποιο πρόβλημα και αρκούν δύο εντολές μέσα στον κατάλογο
κάθε πακέτου :
make
make install
Σε μερικές περιπτώσεις
τα πακέτα RPM χρειάζονται μερικές παραπάνω επιλογές για να
εγκατασταθούν, αυτό δεν πρέπει να σας ξενίζει αλλά καλό θα
ήταν να γνωρίσετε καλύτερα το εργαλείο rpm διαβάζοντας την
αντίστοιχη σελίδα στο on-line εγχειρίδιο του linux (man rpm).
Το πρώτο
πακέτο που χρειάζεται να αναβαθμιστεί είναι τα Kernel modules.
Εάν χρησιμοποιηθεί η έκδοση RPM :
δώστε την εντολή :
rpm --nodeps --force
-U modutils-2.1.55-1.i386.rpm
Εάν χρειαστεί
να μεταφραστούν από τον πηγαίο κώδικα (μορφή tar.gz) θα πρέπει
αυτή την μετάφραση να γίνει ενώ ήδη χρησιμοποιείτε ο πυρήνας
2.1.59.
Για να
γίνει αυτό πρέπει να δημιουργηθεί ένας μονολιθικό (χωρίς modules)
με τις ελάχιστες απαιτούμενες δυνατότητες για των υπολογιστή.
Ένα παράδειγμα ελάχιστων ρυθμίσεων δίνεται στο παράστημα Α.
- Dynamic
Linker (ld.so-1.9.5)
Ο Dynamic
Linker ήταν το μόνο από τα πακέτα του λειτουργικού που χρειάστηκαν
και δεν υπήρχε σε RPM.
Προσοχή:
Μην χρησιμοποιήσετε εκδόσεις από την 2.0 και πάνω. Οι εκδόσεις
αυτές προορίζονται για χρήση με την glibc (libc6) και όχι
με την libc5 που χρησιμοποιούμε.
To αρχείο
ld.so-1.9.5.tar.gz περιέχει και την Compiled βιβλιοθήκη και
το μόνο που χρειάσθηκε να γίνει μετά την αποσυμπίεση του,
είναι να δοθεί μέσα από τον κατάλογο που δημιουργήθηκε η εντολή
για εγκατάσταση :
sh instldso.sh
--force --devfiles
Η libc
αποτελείται από δύο πακέτα:
1. Το αρχείο libc-5.4.38-2.i386.rpm
περιέχει την βιβλιοθήκη και για την εγκατάστασή του αρκεί
η εντολή :
rpm -U --nodeps
libc-5.4.38-2.i386.rpm
2. Το αρχείο libc-devel-5_4_38-1_i386.rpm
περιέχει τα αρχεία include που είναι απαραίτητα για την
διαδικασία του compilation. Η εντολή για την εγκατάσταση
του είναι:
rpm -U libc-devel-5_4_38-1_i386.rpm
Η διαδικασία
για την αναβάθμιση και αυτού του πακέτου δεν διαφέρει και
αρκεί η παρακάτω εντολή:
rpm -U mount-2.7f-1.i386.rpm
rpm -U procinfo-0.11-1.i386.rpm
rpm -U procps-1.2-1.i386.rpm
rpm --nodeps
-U binutils-2.8.1.0.1-1.i386.rpm
Το πακέτο
αυτό χρειάζεται οπωσδήποτε compilation αφού αποτελείτε από
προγράμματα βασικά για τις δικτυακές λειτουργίες και το IPv6
δεν είναι ενεργοποιημένο στις rpm εκδόσεις. Η διαδικασία μετάφρασης
θα παρουσιασθεί σε επόμενη παράγραφο.
4.5.3
Ετοιμάζοντας τον πυρήνα για το IPv6
Η προετοιμασία
του πυρήνα είναι απλή και ξεκινάει δίνοντας την εντολή που
ακολουθεί μέσα από τον κατάλογο του πηγαίου κώδικα του πυρήνα:
make menuconfig
Στην
εικόνα 1 παρουσιάζεται οι ομάδες επιλογών του πυρήνα που μας
εμφανίζει το πρόγραμμα ρύθμισης του.
Εικόνα
4.1 Κατηγορίες Επιλογών ρυθμίσεων για το Linux 2.1.59
Οι επιλογές που πρέπει
να γίνουν βασίζονται στον τύπο του μηχανήματος που χρησιμοποιούμε
και το υλικό (hardware) που το αποτελεί. Οι απαραίτητες επιλογές
για την λειτουργία του IPv6 είναι:
Κατηγορία |
Επιλογές |
Code
maturity level options |
Prompt
for development and/or incomplete code/drivers (Ναι) |
Loadable
module support |
Όλες
τις επιλογές για πλήρες πυρήνα. |
Νetworking
options |
Packet
socket (Ναι)
Kernel/User
netlink socket (Ναι)
Routing messages
(Ναι)
Netlink device
emulation (Ναι)
IP: tunneling
(module) (Ναι)
The IPv6 protocol
(EXPERIMENTAL) (Ναι)
IPv6: enable
EUI-64 token format (Ναι)
IPv6: disable
provided based addresses (Ναι)
|
Πίνακας
4.7 Απαιτούμενες ρυθμίσεις για πυρήνα με δυνατότητα IPv6
Αφού
ολοκληρωθεί η ρύθμιση του πυρήνα και σωθούν οι επιλογές, ακολουθεί
η διαδικασία του compilation με τις εντολές :
make dep ;
make clean
make zImage
Μετά
το τέλος του compilation ακολουθεί η εγκατάσταση του καινούργιου
πυρήνα.
Η εγκατάσταση
του πυρήνα είναι γενικά μια εύκολη διαδικασία η οποία όμως
διαφέρει από μηχανή σε μηχανή ανάλογα τον τύπο των δίσκων
και τον τρόπο εκκίνησης του λειτουργικού που έχει επιλέγει.
Εδώ θα παρουσιάσουμε για λόγους πληρότητας την δική μας περίπτωση.
Στη συγκεκριμένη παράγραφο
θα περιοριστούμε στα συστήματα που χρησιμοποιούν το linux
loader (lilo) για την εκκίνηση του συστήματος.
Στο αρχείο /etc/lilo.conf
προσθέστε τις παρακάτω γραμμές:
image=/boot/vmlin-2.1.59+davem-full-2
*/ αντικαταστήστε
με το όνομα που δώσατε στον πυρήνα /*
|
label=ipv6 |
root=/dev/hda2
*/ εδώ αντικαταστήστε το δικό σας root parttion/* |
read-only |
Αφού γίνουν οι προσθήκες
στο αρχείο /etc/lilo.conf, οι αλλαγές ενεργοποιούνται με την
εντολή:
lilo
Εάν δεν παρουσιασθεί
πρόβλημα, στην επόμενη επανεκκίνηση του συστήματος πρέπει
στην προτροπή του lilo να δοθεί ipv6<enter>, για να
χρησιμοποιηθεί ο καινούργιος πυρήνας.
4.6
Τα πακέτα προγραμμάτων που απαιτεί
το IPv6
Τώρα
που υπάρχει ένας πυρήνα που μπορεί να υποστηρίξει IPv6 πρέπει
να προστεθούν τα προγράμματα που θα επιτρέψουν την χρησιμοποίηση
του. Τα πακέτα καθώς και τα προγράμματα που περιέχουν φαίνονται
στον Πίνακας 4.8
Κατά
την δημιουργία και εγκατάσταση των πακέτων έγινε προσπάθεια
ώστε τα σχετικά με το IPv6 πακέτα, να είναι εγκατεστημένα
σε ένα ξεχωριστό δένδρο καταλόγων και όχι στους προτεινόμενους
καταλόγους. Αυτή η επιλογή έγινε, για να είναι εύκολη η αναγνώριση
της έκδοσης του προγράμματος που χρησιμοποιούμε (IPv6 ή όχι),
εύκολη αναβάθμιση σε καινούργιες βελτιωμένες εκδόσεις. Τέλος
να υπάρχουν πάντα οι δοκιμασμένες εκδόσεις σε περίπτωση που
αυτό χρειαστεί.
Πακέτα
|
Περιεχόμενο
|
Περιγραφή
|
Bind-8.1.1
|
|
Δαίμονας
DNS με υποστήριξη για IPv6 καταχωρήσεις.
|
Inet6-Apps-0.26
|
inetd
|
Υπερ-δαίμονας
Internet
|
|
ping
|
|
|
finger
|
πελάτης
finger
|
|
fingerd
|
εξυπηρέτης
finger
|
|
ftp
|
πελάτης
ftp
|
|
ftpd
|
εξυπηρέτης
ftp
|
|
gai
|
Εργαλείο
αποσφαλμάτωσης
|
|
gendata
|
Εργαλείο
αποσφαλμάτωσης
|
|
socktest
|
Εργαλείο
αποσφαλμάτωσης
|
|
tftp
|
trivial
ftp
|
|
libinet6.a
|
βιβλιοθήκη
inet6 (χρειάζεται και από τα άλλα πακέτα)
|
Net-tools-1.432
|
ifconfig
|
Ρύθμιση
των παραμέτρων των interface δικτύου.
|
|
Route
|
Ρύθμιση
των διαδρομών δρομολόγησης
|
|
hostname
|
Ρύθμιση
του ονόματος της μηχανής
|
|
netstat
|
Εμφάνιση
της κατάστασης του δικτυακών συνδέσεων.
|
|
arp
|
Διαχείριση
του arp cache
|
|
rarp
|
Διαχείριση
του rarp cache
|
radvd-0.4.1
|
radvd
|
Δαίμονας
για autoconfiguration που θα τρέχει σε έναν δρομολογητή
linux
|
|
radvdump
|
Παρακολούθηση
όλων των μηνυμάτων autoconfiguration που εμφανίζονται
στο δίκτυο.
|
libcap-0.4a2
|
libcap.a
|
Βιβλιοθήκη
σύλληψης πακέτων από το δίκτυο.( χρησιμοποιείται
από το tcpdump)
|
telnet.95.10.23.NE+ipv6
|
telnet
telnetd
|
Ο
πελάτης και εξυπηρέτης για την υπηρεσία Telnet
|
tcpdump-3.4a4
|
tcpdump
|
πρόγραμμα
παρακολούθησης των πακέτων που μεταδίδονται μέσα
από ένα δίκτυο.
|
Traceroute-1.4a5
|
|
ανίχνευση
της διαδρομής που ακολουθούν τα πακέτα από ένα σημείο
του δίκτυο σε ένα άλλο
|
Πίνακας
4.8 Πακέτα προγραμμάτων για το IPv6
Όλα τα
πακέτα μπορούν να βρεθούν στα ακόλουθα ftp sites στο Internet.
ftp://ftp.inner.net/pub/ipv6
ftp://ftp.cs-ipv6.lancs.ac.uk/pub/code/Linux/Net _Tools
ftp://ftp.cityline.net/pub/systems/linux/networks/ipv6/radvd
Τα πακέτα
του IPv6 επιλέχθηκε να εγκατασταθούν σε ένα δένδρο με ρίζα
τον κατάλογο /usr/inet6. Θα πρέπει λοιπόν πριν τη διαδικασία
του compilation να δημιουργηθούν, με την εντολή mkdir, το
δένδρο που φαίνεται στο Σχήμα 4.2 .
Σχήμα
4.2 Δένδρο εγκατάστασης εφαρμογών IPv6
Ο κατάλογος
/usr/inet6/include/netinet6 είναι μια σύνδεση με τον κατάλογο
/usr/inet6/include/netinet :
ln -s /usr/inet6/include/netinet6
/usr/inet6/include/netinet
Μετά από αυτό το βήμα
όλα είναι έτοιμα για το compilation.
4.7 Η
διαδικασία Compile και εγκατάστασης των πακέτων του IPv6
Σε αυτή
την παράγραφο περιγράφονται εν συντομία τα προβλήματα που
παρουσίασε κάθε ένα από τα πακέτα. Το σύνολο των διορθώσεων
για κάθε πακέτο μπορεί να βρεθεί στο αντίστοιχο αρχείο τύπου
patch στο οποίο και μπορείτε να ανατρέξετε (Παράρτημα Α)
για τις ακριβείς αλλαγές. Σε πολλά σημεία οι αλλαγές έγιναν
με σκοπό όχι την διόρθωση κάποιον λαθών, αλλά την των καταλόγων
εγκατάστασης. Τέλος, είναι πολύ σημαντικό να διατηρηθεί η
σειρά με την οποία έγιναν compile τα πακέτα αφού πολλές φορές
η ύπαρξη ενός πακέτου αποτελεί προϋπόθεση για το compilation
του επομένου.
4.7.1
Bind-8.1.1
Ο δαίμονας
του DNS Bind-8.1.1 είναι η έκδοση που χρησιμοποιήσαμε γιατί
παρέχει την υποστήριξη για AAAA records.
To πακέτο
αυτό δεν είναι ειδική έκδοση για IPv6 και για αυτό τον λόγο
το εγκαταστήσαμε στις προτεινόμενες από το πακέτο θέσεις και
όχι κάτω από το /usr/inet6. Λόγο της ύπαρξης πακέτων τύπου
RPM τα προτιμήσαμε:
rpm -i bind-8.1.1.i386.rpm
Το πακέτο
αυτό είναι απαραίτητο να εγκατασταθεί μόνο σε μηχανή που θα
είναι DNS εξυπηρέτης.
4.7.2
Inet6-Apps-0.26
Στο πακέτο
αυτό χρειάζεται το patch1 από το αρχείο inet-apps-0.26a.tar.gz
το οποίο δίνει στον δαίμονα του ftp να αναγνωρίζει shadow
passwords.
Παρόλα
αυτά υπήρχαν κάποια προβλήματα :
make[1]:
Entering directory /usr/src/inet6-apps-0.26/ping'
cc
-g -I../include -I../include/generic -I../include/linux
-I/usr/include
-DINET6=1
-c ping.c -o ping.o
ping.c:
In function r_iph':
ping.c:1463:
structure has no member named 'ip_csum'
make[1]:
*** [ping.o] Error 1
make[1]:
Leaving directory /usr/src/inet6-apps-0.26/ping'
|
Ο τύπος
μεταβλητής ip_csum έχει μετονομαστεί σε ip_sum στην καινούργια
έκδοση της libc και αρκεί να αλλαχθεί η δήλωση στην γραμμή
1461.
Χρησιμοποιώντας
μετά το patch1 το αρχείο patch inet6-apps-0.26b.patch που
δημιουργήσαμε λύνονται όλα τα προβλήματα.
patch -p0 <
patch1
patch -p0 <
inet6-apps-0.26b.patch
make
make install
4.7.3
Net-tools-1.432
Εάν και
ήταν κάτι που δεν το περιμέναμε και τα Net-tools παρουσίασαν
δύο μικρά προβλήματα.
make[1]:
Entering directory /usr/src/net-tools/lib'
gcc
-O2 -Wall -g -I/usr/inet6/include -I. -I/usr/src/net-tools
-I/usr/src/net-tools/include
-c inet6_gr.c -o inet6_gr.o
inet6_gr.c:20:
netinet/ip6.h: No such file or directory
make[1]:
*** [inet6_gr.o] Error 1
make[1]:
Leaving directory /usr/src/net-tools/lib'
|
To πρόβλημα
οφείλεται στην αλλαγή ονόματος του αρχείου include από ip6.h
σε in6.h
gcc
-O2 -Wall -g -I/usr/inet6/include -I. -I./include/
-Ilib -c ifconfig.c
-o
ifconfig.o
ifconfig.c:45:
redefinition of truct in6_ifreq'
make:
*** [ifconfig.o] Error 1
|
Σε αυτή
την περίπτωση ο τύπος της μεταβλητής έχει ήδη δηλωθεί στον
πυρήνα όπως και θα έπρεπε και απλά πρέπει να αφαιρέσουμε την
δήλωση εντός του αρχείου ifconfig.c
Και για
αυτό το πακέτο υπάρχει αρχείο patch.
patch -p0 <
net-tools-1.432b.patch
make
Εδώ θα χρειαστεί
να επιλεγούν όλες οι δυνατότητες που παρέχει το πακέτο.
make install
4.7.4
radvd-0.4.1
Το πακέτο
radvd χρειάζεται μόνο μια πολύ μικρή αλλαγή για την σωστή
εγκατάσταση των πακέτων.
- patch -p0 <
radvd-0.4.1b.patch
- CPPFLAGS="-I/usr/inet6/include"
LDFLAGS="-s -L/usr/inet6/lib" ./configure
-- prefix=/usr/inet6
- make
- make install
4.7.5
libpcap-0.4a2
Το πακέτο
libcap δεν παρουσίασε πρόβλημα :
./configure --prefix=/usr/inet6
make
make install
4.7.6
tcpdump-3.4a4
Το πακέτο
tcpdump δεν παρουσίασε πρόβλημα :
CPPFLAGS="-I/usr/inet6/include"
LDFLAGS="-s -L/usr/inet6/lib" ./configure --prefix=/usr/inet6
make
make install
4.7.7
traceroute-1.4a5
Το πακέτο
traceroute δεν παρουσίασε πρόβλημα :
CPPFLAGS="-I/usr/inet6/include"
LDFLAGS="-s -L/usr/inet6/lib" ./configure --prefix=/usr/inet6
make install
4.7.8
telnet-95.10.23.NE+ipv6-3
Το πακέτο
telnet δεν παρουσίασε πρόβλημα :
make
make install
4.7.9
Ολοκληρώνοντας την εγκατάσταση
Μετά την ολοκλήρωση του
compilation, στο δένδρο των καταλόγων κάτω από τον κατάλογο
/usr/inet6 υπάρχουν όλα τα απαραίτητα πακέτα. Για να ολοκληρωθεί
η εγκατάσταση πρέπει να αντιγραφθεί το αρχείο /usr/inet6/etc/protocols
στον κατάλογο /etc και να προστεθεί στο τέλος του αρχείου
/etc/hosts τα περιεχόμενα του αρχείου /usr/inet6/etc/hosts.
4.8
Ρύθμιση μιας μηχανής για το IPv6
Σε αυτή
την παράγραφο θα παρουσιάσουμε την μέθοδο ρύθμισης των παραμέτρων
που είναι απαραίτητες για κάθε μηχανή. Θα γίνει ξεχωριστεί
αναφορά για της μηχανές που είναι δρομολογητές μια και απαιτούν
διαφορετικές ρυθμίσεις.
Το μόνο
αρχείο ρύθμισης που είναι κοινό σε όλες τις μηχανές είναι
το αρχείο /usr/inet6/etc/inetd.conf και παρέχει στον υπερ-δαίμονα
τις ρυθμίσεις για τις υπηρεσίες που θα παρέχει η μηχανή, καθώς
και την θέση των αντίστοιχων προγραμμάτων.
4.8.1
Ρυθμίσεις για δρομολογητή IPv6
Στους
δρομολογητής πρέπει όλες οι ρυθμίσεις να γίνουν χειροκίνητα.
Για αυτό τον λόγο χρησιμοποιήσαμε ένα σύνολο από βοηθητικά
προγράμματα κελύφους (shell scripts) για να αυτοματοποιήσουμε
τις διαδικασίες. Τα βοηθητικά προγράμματα αυτά ακολουθούν
τον τύπο των προγραμμάτων εκκίνησης του UN*X SYS V και το
βασικό μέρος τους έχει γραφεί από τον Peter Bieringer, ενώ
έχουν γίνει και κάποιες αναγκαίες αλλαγές και προσθήκες. Τα
προγράμματα λόγο μεγέθους υπάρχουν στο Παράρτημα Α, ενώ σε
αυτό το σημείο θα κάνουμε μια σύντομη αναφορά στον τρόπο χρήσης
τους.
Οι επιλογές
που είναι επιθυμητές γίνονται με την αλλαγή των τιμών που
έχουν κάποιες μεταβλητές στα δύο αρχεία ρύθμισης αρχεία.
Οι βασικές
επιλογές που είναι διαθέσιμες περιέχονται στο αρχείο /usr/inet6/etc/sysconfig/network-ip6.
Οι μεταβλητές που τις επηρεάζουν καθώς και μια σύντομη εξήγηση
περιέχονται στον Πίνακας 4.9
Μεταβλητή
|
Δυνατές
τιμές
|
Λειτουργία
|
IP6NETWORKING
|
yes/no
|
Ενεργοποίηση
του IPv6
|
IP6GATEWAYCONFIG
|
yes/no
|
H
μηχανή είναι δρομολογητής
|
IP6TUNNELCONFIG
|
yes/no
|
Υπάρχουν
Tunnels
|
IP6RADVD
|
yes/no
|
O
δρομολογητής θα παρέχει πληροφορίες Autoconfiguration.
|
Πίνακας
4.9 Μεταβλητές Ρυθμίσεων στον αρχείο /usr/inet6/etc/sysconfig/network-ip6
Η επιμέρους
παράμετροι των λειτουργιών που αναφέρονται στον Πίνακας 4.9
ρυθμίζονται στο αρχείο /usr/inet6/etc/sysconfig/network-ip6.conf
με εξαίρεση των δαίμονα radvd που βρίσκεται στο /usr/inet6/etc/radvd.conf.
To αρχείο
/usr/inet6/etc/sysconfig/network-ip6.conf περιέχει αρκετά
παραδείγματα ώστε να είναι κατανοητή η χρήση του.
Η ενεργοποίηση
των υπηρεσιών γίνεται με τα πρόγραμμα (shell scripts) που
βρίσκονται στον κατάλογο /usr/inet6/etc/rc.d/init.d/ και αναφέρονται
στον Πίνακας 4.10
Πρόγραμμα
(shell
script)
|
Παράμετροι
|
Λειτουργία
|
network-ip6
|
start/stop
|
Ενεργοποίηση
των interfaces |
tunnels-ip6.init
|
start/stop
|
Ενεργοποίηση
των tunnels |
inet6
|
start/stop
|
Ενεργοποίηση
του υπερ- δαίμονα |
radvd.init
|
start/stop
|
Ενεργοποίηση
του δαίμονα stateless autoconfigurarion |
Πίνακας
4.10 Προγράμματα ενεργοποίησης IPv6 υπηρεσιών
4.8.1.1
Ενεργοποιώντας το stateless autoconfiguration
Το αρχείο /usr/inet6/etc/radvd.conf
περιέχει όλες τις πληροφορίες που ανακοινώνει ο δαίμονας radvd.
Οι πιο χρήσιμες μεταβλητές αναφέρονται στον και. Ένα χαρακτηριστικό
παράδειγμα αποτελεί το αρχείο /usr/inet6/etc/radvd.conf της
νησίδας του εργαστηρίου μας (Παράρτημα Α)
Η γενική μορφή του αρχείου
είναι:
interface
όνομα {
κατάλογος επιλογών
σχετικές με το interface
κατάλογος προθεμάτων
(prefix) ανακοινώνονται και σχετικές επιλογές.
};
|
Παράμετρος
|
Λειτουργία
|
Παράμετροι
Interface
|
AdvSendAdvert |
Ενεργοποίηση
αutoconfiguration των μηχανών που επικοινωνούν μέσω
αυτού του Interface. |
AdvManagedFlag |
Οι
μηχανές του δικτύου θα μάθουν τις διευθύνσεις τους
μέσω της statefull μεθόδου. |
AdvOtherConfigFlag |
Οι
μηχανές του δικτύου θα πρέπει να αναζητήσουν επιπλέων
πληροφορίες για την λειτουργία τους μέσω της statefull
μεθόδου. |
AdvDefaultLifetime |
Ο
χρόνος για τον οποίο αυτός ο δρομολογητής θα πρέπει
να θεωρείται η διέξοδος προς τα άλλα δίκτυα. |
Παράμετροι
προθέματος
|
AdvPreferredLifetime |
Χρόνος
για τον οποίο αυτό το πρόθεμα είναι το προτιμώμενο. |
AdvValidLifetime |
Χρόνος
για τον οποίο αυτό το πρόθεμα ισχύει |
Πίνακας
4.11 Βασικές παράμετροι του Stateless Autoconfiguration
4.8.2
Ρυθμίσεις για άλλες μηχανές
Οι μηχανές που δεν είναι
δρομολογητές δεν χρειάζονται καμία ρύθμιση εκτός από την ενεργοποίηση
του υπερ-δαίμονα. Οι υπόλοιπες ρυθμίσεις (διευθύνσεις των
interfaces, διαδρομές) γίνονται αυτόματα από τις πληροφορίες
που παρέχει στο δίκτυο κάποιος δρομολογητής που έχει ενεργοποιημένο
τον δαίμονα radvd.
4.9
Τελικές Ρυθμίσεις
Ολοκληρώνοντας
την προετοιμασία μιας μηχανής φροντίσαμε να κάνουμε πιο εύκολη
την χρήση της, με δύο τρόπους :
1. Προσθέτοντας στη
διαδρομή αναζήτησης προγραμμάτων, τους καταλόγους του
IPv6
2. Την δυνατότητα
να βλέπουμε το online help των νέων πακέτων.
Για να
πετύχουμε αυτές τις ευκολίες κάναμε τις ακόλουθες αλλαγές
:
1.
Αλλαγές στο αρχείο /etc/profile
Πριν
|
Μετά
|
PATH="$PATH:/usr/X11R6/bin" |
PATH="/usr/inet6/bin:$PATH:/usr/X11R6/bin" |
Με αυτή την αλλαγή το
λειτουργικό θα αναζητεί της εντολές που δίνεται πρώτα ανάμεσα
σε αυτές του IPv6. Η αλλαγή αυτή θα ισχύσει την επόμενη φορά
που θα συνδεθείτε (login) με τον υπολογιστή και εφόσον χρησιμοποιείτε
για κέλυφος το bash και όχι το tcsh.
2. Οι αλλαγές στο
αρχείο /etc/man.config που θα επιτρέψουν την προβολή και
των νέων online help.
Πριν
|
Μετά
|
MANPATH
/usr/lib/perl5/man |
MANPATH
/usr/lib/perl5/man
MANPATH /usr/inet6/man
|
MANPATH_MAP
/usr/bin/mh /usr/man |
MANPATH_MAP
/usr/bin/mh /usr/man
MANPATH_MAP
/usr/inet6/bin /usr/inet6/man
|