30.6 Σύστημα Ονομασίας Περιοχών (DNS)

Συνεισφορά των Chern Lee, Tom Rhodes, και Daniel Gerzo.

30.6.1 Σύνοψη

Το FreeBSD από προεπιλογή χρησιμοποιεί μια έκδοση του BIND (Berkeley Internet Name Domain), η οποία είναι και η πιο διαδεδομένη υλοποίηση του πρωτοκόλου DNS. Το DNS είναι το πρωτόκολλο το οποίο αντιστοιχεί ονόματα σε διευθύνσεις IP και το αντίστροφο. Για παράδειγμα, σε ένα ερώτημα για το www.FreeBSD.org θα λάβουμε ως απάντηση τη διεύθυνση IP του εξυπηρετητή της ιστοσελίδας του FreeBSD Project, ενώ σε ερώτημα για το ftp.FreeBSD.org θα λάβουμε την αντίστοιχη διεύθυνση IP του μηχανήματος FTP. Μπορεί επίσης να γίνει και το αντίστροφο. Ένα ερώτημα για μια διεύθυνση IP επιστρέφει το αντίστοιχο όνομα. Δεν είναι αναγκαίο να εκτελείται εξυπηρετητής ονομάτων στο σύστημα σας για να εκτελέσετε ερωτήματα DNS σε ένα σύστημα.

Απο προεπιλογή. η τρέχουσα έκδοση του FreeBSD έρχεται με το λογισμικό εξυπηρετητή DNS BIND9. Στην εγκατάσταση μας, παρέχονται βελτιωμένα χαρακτηριστικά ασφαλείας, μία νέα διάταξη συστήματος αρχείων και αυτοματοποιημένες ρυθμίσεις chroot(8).

Το DNS συντονίζεται σε όλο το Internet μέσα από ένα κάπως πολύπλοκο σύστημα το οποίο περιλαμβάνει authoritative root, Top Level Domain (TLD) και άλλους εξυπηρετητές ονομάτων οι οποίοι προσφέρουν πληροφορίες μεμονωμένων χώρων.

Την παρούσα στιγμή, το BIND συντηρείται από το Internet Software Consortium http://www.isc.org/.

30.6.2 Ορολογία

Για να κατανοήσετε αυτό το έγγραφο, θα πρέπει να κατανοείτε κάποιους όρους σχετικούς με το DNS.

Όρος Προσδιορισμός
Forward (Ευθύ) DNS Αντιστοίχιση ονομάτων σε διευθύνσεις IP.
Origin (Προέλευση) Αναφέρεται στην περιοχή που καλύπτει μια συγκεκριμένη ζώνη .
named, BIND Συνήθεις ονομασίες του πακέτου του εξυπηρετητή BIND στο FreeBSD.
Resolver (Αναλυτής) Μια διεργασία του συστήματος μέσω της οποίας ένα μηχάνημα μπορεί να θέτει ερωτήματα σε ένα εξυπηρετητή ονομάτων σχετικά με πληροφορίες ζώνης.
Reverse (Ανάστροφο) DNS Το αντίστροφο του forward DNS, δλδ αντιστοίχιση διευθύνσεων IP σε ονόματα.
Ριζική ζώνη (Root zone) Η κορυφή της ιεραρχίας των ζωνών Internet. Όλες οι ζώνες βρίσκονται κάτω από τη ριζική ζώνη, με τον ίδιο τρόπο που διατάσσονται τα αρχεία σε ένα σύστημα αρχείων κάτω από τον ριζικό κατάλογο.
Ζώνη Ένας μεμονωμένος χώρος, υπο-χώρος, ή τμήμα χώρου DNS που βρίσκεται υπό τη διαχείριση της ίδιας αρχής.

Ζώνες - Παραδείγματα:

Όπως μπορείτε να παρατηρήσετε, το πιο συγκεκριμένο τμήμα ενός ονόματος εμφανίζεται στο αριστερό τμήμα του. Για παράδειγμα, το example.org. είναι πιο συγκεκριμένο από το org., όπως και το org. είναι πιο συγκεκριμένο από τη ριζική ζώνη. Η διάταξη κάθε τμήματος ενός ονόματος μοιάζει αρκετά με τη διάταξη ενός συστήματος αρχείων. Ο κατάλογος /dev βρίσκεται κάτω από τον ρίζικό και ούτω καθεξής.

30.6.3 Λόγοι για να Εκτελέσετε το Δικό σας Εξυπηρετητή Ονομασίας Περιοχών

Υπάρχουν δύο τύποι εξυπηρετητών ονομασίας: οι εξουσιοδοτημένοι και οι caching.

Οι εξουσιοδοτημένοι εξυπηρετητές ονομάτων χρειάζονται όταν:

Οι caching εξυπηρετητές ονομασίας περιοχών χρειάζονται όταν:

Όταν φτάνει ένα αίτημα για το www.FreeBSD.org, ο αναλυτής (resolver) συνήθως δρομολογεί το ερώτημα στον εξυπηρετητή ονομάτων του παρόχου (ISP) και λαμβάνει την απάντηση. Με ένα τοπικό caching εξυπηρετητή DNS, το ερώτημα προς τον έξω κόσμο θα γίνει μόνο μια φορά. Τα επιπρόσθετα ερωτήματα δεν χρειάζονται να δρομολογηθούν το προς τα έξω, καθώς η πληροφορία έχει αποθηκευτεί τοπικά στην cache.

30.6.4 Πως Λειτουργεί

Στο FreeBSD, ο δαίμονας BIND ονομάζεται named.

Αρχείο Περιγραφή
named(8) Ο δαίμονας BIND.
rndc(8) Εργαλείο ελέγχου εξυπηρετητών ονομασίας.
/etc/namedb Κατάλογος αποθήκευσης των πληροφοριών για τις ζώνες του BIND.
/etc/namedb/named.conf Ρυθμιστικό αρχείο του δαίμονα.

Αναλόγως με το πως έχει ρυθμιστεί μία δεδομένη ζώνη στον εξυπηρετητή, τα αρχεία που αναλογούν σε αυτή τη ζώνη μπορεί να βρίσκονται στους υποκαταλόγους master, slave, ή στους dynamic του καταλόγου /etc/namedb. Αυτά τα αρχεία περιέχουν την πληροφορία DNS που θα επιστρέψει ο εξυπηρετητής ονομασίας σε ερωτήματα σχτικά με τη ζώνη.

30.6.5 Εκκίνηση BIND

Το BIND διατίθεται προεγκατεστημένο, επομένως όλες οι ρυθμίσεις του είναι σχετικά απλές.

Οι προκαθορισμένες ρυθμίσεις του named είναι αυτές ενός βασικού αναλυτή -- εξυπηρετητή ονομασιών, που εκτελείται σε περιβάλλον chroot(8) και περιορίζεται στην απάντηση αιτημάτων που λαμβάνονται στην τοπική loopback διεύθυνση IPv4, 127.0.0.1. Για να εκκινήσετε μια φορά τον εξυπηρετητή χρησιμοποιώντας αυτές τις ρυθμίσεις, χρησιμοποιήστε την παρακάτω εντολή:

# /etc/rc.d/named onestart

Για να εξασφαλίσετε την εκκίνηση του δαίμονα named κάθε φορά που ξεκινάτε το μηχάνημα σας, τοποθετήστε την ακόλουθη γραμμή στο /etc/rc.conf:

named_enable="YES"

Προφανώς υπάρχουν πολλές επιλογές ρυθμίσεων για το /etc/namedb/named.conf που είναι πέρα από τους σκοπούς του παρόντος εγγράφου. Ωστόσο, αν ενδιαφέρεστε για τις επιλογές εκκίνησης του named στο FreeBSD, ρίξτε μια ματιά στα named_* flags του /etc/defaults/rc.conf και συμβουλευτείτε τη σελίδα βοηθείας rc.conf(5). Ενδιαφέρουσα τεκμηρίωση θα βρείτε επίσης στην ενότητα Τμήμα 12.7.

30.6.6 Αρχεία ρυθμίσεων

Τη δεδομένη στιγμή, τα αρχεία ρυθμίσεων του named βρίσκονται στον κατάλογο /etc/namedb και θα χρειαστούν αλλαγές πριν την χρήση, εκτός αν χρειάζεστε μόνο έναν απλό αναλυτή (resolver). Στο αρχείο αυτό γίνονται οι περισσότερες ρυθμίσεις.

30.6.6.1 /etc/namedb/named.conf

// $FreeBSD$
//
// Refer to the named.conf(5) and named(8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works.  Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.

options {
        // Relative to the chroot directory, if any
	directory	"/etc/namedb";
	pid-file	"/var/run/named/pid";
	dump-file	"/var/dump/named_dump.db";
	statistics-file	"/var/stats/named.stats";

// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
	listen-on	{ 127.0.0.1; };

// If you have IPv6 enabled on this system, uncomment this option for
// use as a local resolver.  To give access to the network, specify
// an IPv6 address, or the keyword "any".
//	listen-on-v6	{ ::1; };

// These zones are already covered by the empty zones listed below.
// If you remove the related empty zones below, comment these lines out.
	disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
	disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
	disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";

// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below.  This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
/*
	forwarders {
		127.0.0.1;
	};
*/

// If the 'forwarders' clause is not empty the default is to 'forward first'
// which will fall back to sending a query from your local server if the name
// servers in 'forwarders' do not have the answer.  Alternatively you can
// force your name server to never initiate queries of its own by enabling the
// following line:
//	forward only;

// If you wish to have forwarding configured automatically based on
// the entries in /etc/resolv.conf, uncomment the following line and
// set named_auto_forward=yes in /etc/rc.conf.  You can also enable
// named_auto_forward_only (the effect of which is described above).
//	include "/etc/namedb/auto_forward.conf";

Όπως αναφέρεται στα σχόλια, για να εκμεταλλευτείτε την cache του παρόχου , μπορείτε να ενεργοποιήσετε εδώ την επιλογή forwarders. Κάτω από φυσιολογικές συνθήκες, ένας εξυπηρετητής ονομασίας χρησιμοποιεί αναδρομικά ερωτήματα στο διαδίκτυο αναζητώντας για κάποια ονόματα χώρου. Αν ενεργοποιήσετε αυτή την επιλογή, το αίτημα θα προωθηθεί πρώτα στον εξυπηρετητή ονομασίας του παρόχου σας, αξιοποιώντας την cache μνήμη του. Εάν ο εν λόγω εξυπηρετητής ονομασίας έχει μεγάλο όγκο αιτημάτων και είναι γρήγορος, τότε αξίζει να δοκιμάσετε τη ρύθμιση αυτή.

Προειδοποίηση: Εδώ με την IP 127.0.0.1 δεν θα λειτουργήσει . Αλλάξτε την διεύθυνση IP με τον εξυπηρετητή ονομασίας του παρόχου σας.

	/*
	 * If there is a firewall between you and nameservers you want
	 * to talk to, you might need to uncomment the query-source
	 * directive below.  Previous versions of BIND always asked
	 * questions using port 53, but BIND versions 8 and later
	 * use a pseudo-random unprivileged UDP port by default.
	 */
	 // query-source address * port 53;
};

// If you enable a local name server, don't forget to enter 127.0.0.1
// first in your /etc/resolv.conf so this server will be queried.
// Also, make sure to enable it in /etc/rc.conf.

zone "." {
	type hint;
	file "named.root";
};

zone "0.0.127.IN-ADDR.ARPA" {
	type master;
	file "master/localhost.rev";
};

// RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
	type master;
	file "master/localhost-v6.rev";
};

// NB: Do not use the IP addresses below, they are faked, and only
// serve demonstration/documentation purposes!
//
// Example slave zone config entries.  It can be convenient to become
// a slave at least for the zone your own domain is in.  Ask
// your network administrator for the IP address of the responsible
// primary.
//
// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
// (This is named after the first bytes of the IP address, in reverse
// order, with ".IN-ADDR.ARPA" appended.)
//
// Before starting to set up a primary zone, make sure you fully
// understand how DNS and BIND works.  There are sometimes
// non-obvious pitfalls.  Setting up a slave zone is simpler.
//
// NB: Don't blindly enable the examples below. :-)  Use actual names
// and addresses instead.

/* An example master zone
zone "example.net" {
	type master;
	file "master/example.net";
};
*/

/* An example dynamic zone
key "exampleorgkey" {
	algorithm hmac-md5;
	secret "sf87HJqjkqh8ac87a02lla==";
};
zone "example.org" {
	type master;
	allow-update {
		key "exampleorgkey";
	};
	file "dynamic/example.org";
};
*/

/* Examples of forward and reverse slave zones
zone "example.com" {
	type slave;
	file "slave/example.com";
	masters {
		192.168.1.1;
	};
};
zone "1.168.192.in-addr.arpa" {
	type slave;
	file "slave/1.168.192.in-addr.arpa";
	masters {
		192.168.1.1;
	};
};
*/

Στο named.conf, υπάρχουν παραδείγματα εγγραφών για ζώνες προώθησης (forward) και αναστροφής (reverse) δευτερεύοντος (slave).

Με την παροχή κάθε νέας ζώνης , θα πρέπει να προστεθεί μια νέα καταχώρηση ζώνης στο named.conf.

Για παράδειγμα, η απλούστερη καταχώριση ζώνης για το example.org μπορεί να μοιάζει κάπως έτσι:

zone "example.org" {
	type master;
	file "master/example.org";
};

Η ζώνη είναι πρωτεύουσα (master) όπως υποδηλώνεται στον τύπο (type), και οι πληροφορίες της ζώνης βρίσκονται τοποθετημένες στο /etc/namedb/master/example.org όπως φαίνεται στη δήλωση file.

zone "example.org" {
	type slave;
	file "slave/example.org";
};

Στην περίπτωση του δευτερεύοντος (slave), η πληροφορία της ζώνης μεταφέρεται από τον πρωτεύον εξυπηρετητή ονομασίας για αυτή τη συγκεκριμένη ζώνη, και αποθηκεύεται στο προσδιορισμένο αρχείο. Αν και όταν ο πρωτεύων (master) εξυπηρετητής πεθάνει ή δεν είναι διαθέσιμος, ο δευτερεύων εξυπηρετητής ονομάτων θα περιέχει τις πληροφορίες για όλες τις ζώνες που έχουν μεταφερθεί και θα είναι σε θέση να τις διαθέσει.

30.6.6.2 Αρχεία Ζώνης

Ένα παράδειγμα αρχείου ζώνης πρωτεύοντος (master) για το example.org (βρίσκεται στο /etc/namedb/master/example.org) μπορεί να είναι το ακόλουθο:

$TTL 3600        ; 1 hour
example.org.    IN      SOA      ns1.example.org. admin.example.org. (
                                2006051501      ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                604800          ; Expire
                                86400           ; Minimum TTL
                        )

; DNS Servers
                IN      NS      ns1.example.org.
                IN      NS      ns2.example.org.

; MX Records
                IN      MX 10   mx.example.org.
                IN      MX 20   mail.example.org.

                IN      A       192.168.1.1

; Machine Names
localhost       IN      A       127.0.0.1
ns1             IN      A       192.168.1.2
ns2             IN      A       192.168.1.3
mx              IN      A       192.168.1.4
mail            IN      A       192.168.1.5

; Aliases
www             IN      CNAME   @

Παρατηρήστε πως κάθε όνομα χώρου (hostname) που τερματίζεται με «.» είναι ένα πραγματικό όνομα χώρου, ενώ οτιδήποτε δε φέρει μία τελική «.» αναφέρεται στην προέλευση του. Για παράδειγμα, www μεταφράζεται σε www.προέλευση. Στο υποθετικό αρχείο ζώνης μας, η προέλευση μας είναι example.org., επομένως το www θα μεταφραζόταν σε www.example.org.

Η μορφή του αρχείου ζώνης είναι ως εξής:

recordname      IN recordtype   value

Οι πιο συχνές σε χρήση εγγραφές DNS είναι:

SOA

έναρξη πιστοποίησης ζώνης

NS

ένας πιστοποιημένος εξυπηρετητής ονομασίας

A

μια διεύθυνση χώρου

CNAME

το κανονικό όνομα ενός παρωνύμιου (alias)

MX

mail exchanger (εναλλάκτης ηλεκτρονικού ταχυδρομείου)

PTR

ένας δείκτης ονόματος χώρου (χρησιμοποιείται για ανάστροφο DNS)

example.org. IN SOA ns1.example.org. admin.example.org. (
                        2006051501      ; Serial
                        10800           ; Refresh after 3 hours
                        3600            ; Retry after 1 hour
                        604800          ; Expire after 1 week
                        86400 )         ; Minimum TTL of 1 day
example.org.

το όνομα χώρου, κι επίσης την προέλευση του αρχείου ζώνης.

ns1.example.org.

ο πρωτεύων/πιστοποιημένος εξυπηρετητής ονομασίας για αυτή τη ζώνη.

admin.example.org.

ο υπεύθυνος (πρόσωπο) για αυτή τη ζώνη, η διεύθυνση email με αντικατεστημένο το «@». (το γίνεται admin.example.org)

2006051501

ο σειριακός αριθμός του αρχείου. Αυτός ο αριθμός θα πρέπει να αυξάνεται κάθε φορά που τροποποιείται το αρχείο ζώνης. Σήμερα, πολλοί διαχειριστές προτιμούν τη μορφή yyyymmddrr για σειριακό αριθμό. 2006051501 θα σήμαινε πως η τελευταία τροποποίηση έγινε την 15/05/2006, και το τελείωμα 01 πως αυτή ήταν η πρώτη φορά που τροποποιήθηκε το αρχείο τη συγκεκριμένη μέρα. Ο σειριακός αριθμός είναι σημαντικός διότι γνωστοποιεί στους δευτερεύοντες εξυπηρετητές μιας ζώνης πότε έχουν ενημερωθεί.

       IN NS           ns1.example.org.

Αυτή είναι μία καταχώριση NS. Κάθε εξυπηρετητής ονομασίας ο οποίος είναι πιστοποιημένος να απαντά σε ερωτήματα για αυτή τη ζώνη πρέπει να έχει μία από αυτές τις καταχωρήσεις.

localhost       IN      A       127.0.0.1
ns1             IN      A       192.168.1.2
ns2             IN      A       192.168.1.3
mx              IN      A       192.168.1.4
mail            IN      A       192.168.1.5

Η εγγραφή A (A record) προσδιορίζει ονόματα μηχανημάτων. Όπως είδαμε πρωτύτερα, ο ns1.example.org αναλύεται σε 192.168.1.2.

                IN      A       192.168.1.1

Αυτή η γραμμή θέτει τη διεύθυνση IP 192.168.1.1 στην τρέχουσα προέλευση, δλδ σε αυτή την περίπτωση στο example.org.

www             IN CNAME        @

Η εγγραφή του κανονικού ονόματος (CNAME) χρησιμοποιείται συνήθως για να αποδοθούν παρωνύμια (alias) στο όνομα του μηχανήματος. Στο παράδειγμα, το www έχει οριστεί ως παρωνύμιο του μηχανήματος «master», του οποίου το όνομα τυγχάνει να είναι το ίδιο με το όνομα χώρου example.org (192.168.1.1). Τα CNAMEs μπορούν να χρησιμοποιηθούν για να παρέχουν παρωνύμια ονομάτων χώρων, ή hostnames, ή για να διανέμουν κυκλικά ένα όνομα χώρου μεταξύ πολλαπλών μηχανημάτων.

               IN MX   10      mail.example.org.

Η εγγραφή MX προσδιορίζει τους εξυπηρετητές ηλεκτρονικού ταχυδρομείου που είναι αρμόδιοι για το χειρισμό εισερχόμενης αλληλογραφίας για τη ζώνη. mail.example.org είναι το όνομα χώρου του εξυπηρετητή ηλεκτρονικής αλληλογραφίας, και 10 είναι ο αριθμός προτεραιότητος του εξυπηρετητή.

Μπορεί να υπάρχουν αρκετοί εξυπηρετητές ηλ. ταχυδρομείου, με βαθμό προτεραιότητος 10, 20 και ούτω καθεξής. Ένας εξυπηρετητής ηλ.ταχυδρομείου που επιχειρεί να παραδώσει στο example.org θα προσπαθήσει πρώτα με τον εξυπηρετητή ΜΧ με την υψηλότερη προτεραιότητα (δλδ στις εγγραφές θα ψάξει το μικρότερο αριθμό προτεραιότητας), έπειτα τον αμέσως μεγαλύτερο, κ.τ.λ., έως ότου το μήνυμα παραδοθεί

Για αρχεία ζώνης in-addr.arpa (ανάστροφο DNS), οι καταχωρήσεις έχουν την ίδια μορφή, με μόνη εξαίρεση τις καταχωρήσεις PTR που παίρνουν τη θέση του A ή του CNAME.

$TTL 3600

1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
                        2006051501      ; Serial
                        10800           ; Refresh
                        3600            ; Retry
                        604800          ; Expire
                        3600 )          ; Minimum

        IN      NS      ns1.example.org.
        IN      NS      ns2.example.org.

1       IN      PTR     example.org.
2       IN      PTR     ns1.example.org.
3       IN      PTR     ns2.example.org.
4       IN      PTR     mx.example.org.
5       IN      PTR     mail.example.org.

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

30.6.7 Εξυπηρετητές Cache Ονομασίας Περιοχών

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

30.6.8 Ασφάλεια

Αν και το BIND είναι η πιο συνήθης υλοποίηση του DNS, υπάρχουν πάντα θέματα ασφάλειας. Πιθανές και εκμεταλλεύσιμες τρύπες ασφαλείας έχουνε βρεθεί.

Αν και το FreeBSD ρίχνει αυτόματα το named σε περιβάλλον chroot(8) υπάρχουν διάφοροι άλλοι μηχανισμοί ασφαλείας οι οποίοι θα μπορούσαν να βοηθήσουν στην αποτροπή μιας πιθανής επίθεσης στην υπηρεσία DNS.

Είναι πάντα καλό να διαβάζετε τις συμβουλές ασφαλείας του CERT και να γραφτείτε συνδρομητές στο ηλεκτρονική λίστα Ανακοινώσεων για Θέματα Ασφάλειας του FreeBSD ώστε να είστε ενήμεροι για τα τρέχοντα θέματα ασφαλείας του διαδικτύου και του FreeBSD.

Υπόδειξη: Εάν εμφανιστεί κάποιο πρόβλημα, δε θα έβλαπτε να ενημερώσετε τον πηγαίο και να έχετε ένα ανανεωμένο build του named.

30.6.9 Περαιτέρω Ανάγνωση

Σελίδες βοηθείας BIND/named: rndc(8) named(8) named.conf(5)

Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την τεκμηρίωση πριν να επικοινωνήσετε με την <questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην <doc@FreeBSD.org>.