Την σήμερον εποχή δεν μπορούμε να σκεφτούμε έναν υπολογιστή χωρίς να σκεφτούμε και μία σύνδεση δικτύου. Προσθέτοντας και ρυθμίζοντας μια κάρτα δικτύου είναι μία συνηθισμένη εργασία για έναν οποιοδήποτε διαχειριστή του FreeBSD.
Πριν αρχίσετε, θα πρέπει να γνωρίζετε το μοντέλο της κάρτας που έχετε, ποιό chip χρησιμοποιεί, και αν είναι PCI ή ISA κάρτα. Το FreeBSD υποστηρίζει ένα μεγάλο εύρος καρτών PCI και ISA. Ελέγξτε την Λίστα Συμβατότητας Υλικού για την έκδοση σας για να δείτε αν η κάρτα σας υποστηρίζεται.
Εφόσον είστε πλέον σίγουρος ότι η κάρτα σας υποστηρίζεται, θα
χρειαστεί να καθορίσετε τον κατάλληλο οδηγό για την κάρτα σας. Το
αρχείο /usr/src/sys/conf/NOTES
και το
αρχείο /usr/src/sys/arch/conf/NOTES
θα σας δώσουν μια λίστα με κάρτες δικτύου και μερικές πληροφορίες για
τα υποστηριζόμενα chipsets και τις υποστηριζόμενες κάρτες. Αν έχετε
αμφιβολίες για το ποιός οδηγός είναι ο σωστός, διαβάστε την σελίδα
βοηθείας του οδηγού. Η σελίδα βοηθείας θα σας δώσει περισσότερες
πληροφορίες σχετικά με το υποστηριζόμενο υλικό και ακόμα και για τα
πιθανά προβλήματα που μπορεί να προκύψουν.
Αν έχετε μια συνηθισμένη κάρτα, κατα πάσα πιθανότητα δεν θα
χρειαστεί να ψάξετε πολύ για τον οδηγό. Οι οδηγοί για τις
συνηθισμένες κάρτες δικτύου υπάρχουν στον
πυρήνα GENERIC
, έτσι ώστε και θα εμφανιστεί κατα
την διάρκεια της εκκίνησης, για παράδειγμα:
dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38 000ff irq 15 at device 11.0 on pci0 dc0: Ethernet address: 00:a0:cc:da:da:da miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30 000ff irq 11 at device 12.0 on pci0 dc1: Ethernet address: 00:a0:cc:da:da:db miibus1: <MII bus> on dc1 ukphy1: <Generic IEEE 802.3u media interface> on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Στο παράδειγμα αυτό, βλέπουμε ότι δύο κάρτες που χρησιμοποιούν τον οδηγό dc(4) έχουν εντοπιστεί στο σύστημα.
Αν ο οδηγός της NIC σας δεν είναι παρόν
στον GENERIC
, θα πρέπει να φορτώσετε τον
κατάλληλο οδηγό για να χρησιμοποιήσετε την NIC σας. Αυτό μπορεί να
επιτευχθεί με έναν απο τους δύο αυτούς τρόπους:
Ο ποιό εύκολο τρόπος είναι απλά να φορτώσετε ένα άρθρωμα του
πυρήνα για την κάρτα δικτύου σας με το kldload(8), ή αυτόματα
κατα την εκκίνηση προσθέτοντας την κατάλληλη γραμμή στο
αρχείο /boot/loader.conf
. Δεν είναι όλοι οι
οδηγοί NIC διαθέσιμοι σαν αρθρώματα, χαρακτηριστικά παραδείγματα
είναι τα αρθρώματα για συσκευές ISA.
Εναλλακτικά, μπορείτε να μεταγλώττισετε στατικά την υποστήριξη
για την κάρτα σας στον πυρήνα. Ελέγξετε το
αρχείο /usr/src/sys/conf/NOTES
,
το /usr/src/sys/arch/conf/NOTES
και την σελίδα βοηθείας του οδηγού για να μάθετε τι πρέπει να
προσθέσετε στο αρχείο ρυθμίσεων του πυρήνα. Για περισσότερες
πληροφορίες για το πως να μεταγλωττίσετε τον πυρήνα, παρακαλώ
διαβάστε το Κεφάλαιο 9, Ρυθμίζοντας τον Πυρήνα του FreeBSD. Αν η κάρτα σας
εντοπιστεί κατα την εκκίνηση απο τον πυρήνα
(GENERIC
) δεν χρειάζετε να μεταγλώττισετε
έναν νέο πυρήνα.
Δυστυχώς, υπάρχουν ακόμα πολλοί κατασκευαστές που δεν παρέχουν τεχνικές προδιαγραφές για τους οδηγούς τους στην κοινότητα του ανοικτού λογισμικού γιατί αντιμετωπίζουν τέτοιες πληροφορίες σαν μυστικά του εμπορίου. Συνεπώς, οι υπεύθυνοι για την ανάπτυξη του FreeBSD και άλλων λειτουργικών συστημάτων μένουν με δύο επιλογές: να αναπτύξουν οδηγούς με την μακρά και επίπονη διαδικασία της αντίστροφης μηχανικής ή να χρησιμοποιήσουν ήδη υπάρχοντες οδηγούς σε δυαδική μορφή διαθέσιμους για την πλατφόρμα Microsoft(R) Windows(R). Οι περισσότεροι υπεύθυνοι για την ανάπτυξη, μεταξύ τους και αυτοί που εμπλέκονται με το FreeBSD, έχουν επιλέξει την δεύτερη προσέγγιση.
Χάρη την προσφορά του Bill Paul (wpaul), μιάς και απο το FreeBSD 5.3-RELEASE υπάρχει «γηγενής» υποστήριξη για το Network Driver Interface Specification (NDIS). Το έργο FreeBSD NDISulator (διαφορετικά γνωστό σας Project Evil) παίρνει έναν οδηγό Windows(R) σε δυαδική μορφή και στην ουσία τον εξαπατά ώστε να νομίζει ότι τρέχει σε Windows(R). Λόγο του ότι ο οδηγός ndis(4) χρησιμοποιεί μία Windows(R) δυαδική μορφή, μπορεί να χρησιμοποιηθεί μόνο σε i386TM και amd64 συστήματα.
Ο οδηγός ndis(4) είναι σχεδιασμένος ώστε να υποστηρίζει κυρίως συσκευές PCI, CardBus και PCMCIA, οι συσκευές USB δεν υποστηρίζονται ακόμα.
Για να χρησιμοποιήσετε τον NDISulator, θα χρειαστείτε τρία πράγματα:
Τον πηγαίο κώδικα του πυρήνα
Την Windows(R) XP δυαδική μορφή του οδηγού
(.SYS
επέκταση)
Το Windows(R) XP αρχείο ρυθμίσεων του οδηγού
(.INF
επέκταση)
Εντοπίστε τα αρχεία αυτά για την κάρτα σας. Γενικά, αυτά
μπορούν να βρεθούν στα παρεχόμενα CDs ή στους ιστότοπους των
κατασκευαστών. Στα ακόλουθα παραδείγματα, θα χρησιμοποιήσουμε τα
αρχεία W32DRIVER.SYS
και W32DRIVER.INF
.
Δεν μπορείτε να χρησιμοποιήσετε οδηγούς Windows(R)/i386 σε συστήματα FreeBSD/amd64, θα πρέπει να βρείτε οδηγούς Windows(R)/amd64 για να δουλέψουν σωστά.
Το επόμενο βήμα είναι να μεταγλωττίσετε τον δυαδικό οδηγό μέσα
σε ένα φορτώσιμο άρθρωμα του πυρήνα. Για να το επιτύχετε αυτό, θα
πρέπει σαν root
, να χρησιμοποιήσετε το
ndisgen(8):
#
ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
Το βοηθητικό πρόγραμμα ndisgen(8) είναι διαδραστικό και θα σας ενημερώσει για οποιαδήποτε επιπλέον πληροφορία μπορεί να χρειαστεί; θα παράγει ένα άρθρωμα του πυρήνα στον τρέχωντα κατάλογο και μπορεί να φορτωθεί ως εξής:
#
kldload ./W32DRIVER.ko
Επιπλέον του παραχθέντος αρθρώματος, θα πρέπει να φορτώσετε τα
αρθρώματα ndis.ko
και if_ndis.ko
. Αυτό θα πρέπει να γίνει
αυτόματα όταν φορτώνετε οποιαδήποτε εξαρτάται απο το ndis(4).
Αν θέλετε να το κάνετε χειρωνακτικά, θα πρέπει να χρησιμοποιήσετε
τις ακόλουθες εντολές:
#
kldload ndis
#
kldload if_ndis
Η πρώτη εντολή φορτώνει τον οδηγό NDIS miniport wrapper, ενώ η δεύτερη φορτώνει την πραγματική κάρτα δικτύου.
Τώρα, ελέγξτε το dmesg(8) για να δείτε αν υπάρχουν σφάλματα κατα την φόρτωση. Αν όλα πήγαν καλά, θα πρέπει να δείτε μια παρόμοια έξοδο με την επόμενη:
ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 ndis0: NDIS API version: 5.0 ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5 ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
Απο εδώ και πέρα μπορείτε να χειριστείτε την
συσκευή ndis0
σαν μια οποιαδήποτε κάρτα
δικτύου (π.χ., dc0
).
Μπορείτε να ρυθμίσετε το σύστημα να φορτώνει τα NDIS αρθρώματα
κατα την εκκίνηση με τον ίδιο τρόπο με τα όπως με οποιαδήποτε άλλα
αρθρώματα. Πρώτα, αντιγράψτε το παραχθείσα
άρθρωμα, W32DRIVER.ko
, στον
κατάλογο /boot/modules
.
Τότε, προσθέστε την ακόλουθη γραμμή στο
/boot/loader.conf
:
W32DRIVER_load="YES"
Μόλις ο κατάλληλος οδηγός φορτωθεί για την κάρτα δικτύου, χρειάζεται να ρυθμιστεί. Όπως πολλά άλλα πράγματα, η κάρτα δικτύου είχε ρυθμιστεί κατα την στιγμή της εγκατάστασης με το sysinstall.
Για να εμφανίσετε τις κάρτες δικτύου που έχετε στο σύστημα σας, πληκτρολογήστε την ακόλουθη εντολή:
%
ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:a0:cc:da:da:da media: Ethernet autoselect (100baseTX <full-duplex>) status: active dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255 ether 00:a0:cc:da:da:db media: Ethernet 10baseT/UTP status: no carrier lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet 127.0.0.1 netmask 0xff000000 tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
Παλαιότερες εκδόσεις του FreeBSD μπορεί να χρειάζονται την
παράμετρο -a
ακολουθούμενη στην ifconfig(8),
για περισσότερες λεπτομέρειες σχετικά με την σωστή σύνταξη του
ifconfig(8), παρακαλώ ανατρέξτε στην σελίδα βοηθείας.
Σημειώστε επίσης ότι οι εγγραφές που αφορούν το IPv6
(inet6
κτλπ.) έχουν παραμεληθεί σε αυτό το
παράδειγμα.
Σε αυτό το παράδειγμα, οι ακόλουθες συσκευές έχουν εμφανιστεί:
dc0
: Η πρώτη Ethernet κάρτα
δικτύου
dc1
: Η δεύτερη Ethernet κάρτα
δικτύου
lp0
: Η παράλληλη πόρτα
lo0
: Η συσκευή loopback
tun0
: Η συσκευή tunnel χρησιμοποιούμενη
απο το πρόγραμμα ppp
Το FreeBSD χρησιμοποιεί τα ονόματα των οδηγών με την σειρά κατα την
οποία εντοπίστηκαν οι αντίστοιχες κάρτες κατα την εκκίνηση. Για
παράδειγμα η συσκευή sis2
θα είναι η τρίτη
κάρτα δικτύου που χρησιμοποιεί τον οδηγό sis(4).
Στο παράδειγμα αυτό, η συσκευή dc0
είναι
πάνω και τρέχει. Οι λέξεις κλειδία είναι:
UP
σημαίνει ότι η κάρτα είναι ρυθμισμένη
και έτοιμη.
Η κάρτα έχει μία Internet διεύθυνση (inet
)
ρυθμισμένη (σε αυτή την
περίπτωση 192.168.1.3
).
Έχει μία έγκυρη μάσκα υποδικτύου
(netmask
; 0xffffff00
είναι το ίδιο με
το 255.255.255.0
).
Έχει μία έγκυρη broadcast διεύθυνση (σε αυτή την
περίπτωση, 192.168.1.255
).
Η διεύθυνση MAC της κάρτας (ether
)
είναι 00:a0:cc:da:da:da
Η επιλογή του φυσικού μέσου είναι σε κατάσταση autoselection
(media: Ethernet autoselect (100baseTX
<full-duplex>)
). Παρατηρούμε ότι
η dc1
έχει ρυθμιστεί να τρέχει
σαν 10baseT/UTP
μέσο. Για περισσότερες
πληροφορίες για τους τύπους των μέσων ενός οδηγού, παρακαλώ
ανατρέξτε στην σελίδα βοηθείας.
Η κατάσταση της σύνδεσης (status
)
είναι active
, δηλ. έχει εντοπιστεί σήμα
μεταφοράς. Στην dc1
,
παρατηρούμε status: no carrier
. Αυτό είναι
λογικό αφού το καλώδιο Ethernet δεν έχει συνδεθεί με την
κάρτα.
Αν το ifconfig(8) εμφανίζει κάτι παρόμοιο με αυτό:
dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 ether 00:a0:cc:da:da:da
σημαίνει ότι η κάρτα δεν έχει ρυθμιστεί.
Για να ρυθμίσετε την κάρτα σας, θα χρειαστείτε
προνόμια root
. Η ρύθμιση της κάρτας δικτύου
μπορεί να γίνει απο την γραμμή εντολών με το ifconfig(8) αλλά θα
πρέπει να το επαναλάβετε σε κάθε επανεκκίνηση του συστήματος. Το
αρχείο /etc/rc.conf
είναι εκεί όπου πρέπει να
προσθέσετε τις ρύθμισεις της κάρτας δικτύου.
Ανοίξτε το αρχείο /etc/rc.conf
με τον
αγαπημένο σας κειμενογράφο. Θα χρειαστεί να προσθέσετε μία γραμμή για
κάθε κάρτα δικτύου που υπάρχει στο σύστημα σας, για παράδειγμα στην
περίπτωση μας, θα πρέπει να προσθέσετε τι εξής γραμμές:
ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0" ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
Θα πρέπει να αντικαταστήσετε
το dc0
, dc1
, και
ούτω κάθε εξής, με τις σωστές συσκευές των καρτών σας, και τις σωστές
διευθύνσεις. Θα πρέπει να διαβάσετε την σελίδα βοηθείας του οδηγού
και του ifconfig(8) για περισσότερες λεπτομέριες σχετικά με τις
επιτρεπόμενες παραμέτρους και επίσης την σελίδα βοηθείας του
rc.conf(5) για περισσότερες λεπτομέριες σχετικά με την σύνταξη
του /etc/rc.conf
.
Αν ρυθμίσατε το δίκτυο σας κατα την εγκατάσταση, μερικές γραμμές
σχετικές με την/τις κάρτα/κάρτες δικτύου θα υπάρχουν ήδη. Ελέγξτε
διπλά το /etc/rc.conf
προτού προσθέστε επιπλέον
γραμμές.
Θα πρέπει επίσης να διορθώσετε το
αρχείο /etc/hosts
ώστε να προσθέσετε τα ονόματα
και τις IP διεύθυνσεις απο τα διάφορα μηχανήματα στο LAN σας, αν δεν
είναι ήδη ρυθμισμένα. Για περισσότερες πληροφορίες ανατρέξτε στην
σελίδα βοηθείας του hosts(5) και
του /usr/share/examples/etc/hosts
.
Μόλις κάνετε τις βασικές αλλαγές
στο /etc/rc.conf
, θα πρέπει να επανεκκινήσετε το
σύστημα σας. Αυτό θα επιτρέψει σε πιθανές αλλαγές στις κάρτες να
εφαρμοστούν, και να επιβεβαιώσετε ότι το σύστημα επανεκκινεί χωρίς
κανένα λάθος στις ρυθμίσεις.
Μόλις το σύστημα επανεκκινηθεί, θα πρέπει να δοκιμάσετε τις κάρτες δικτύου.
Για να επιβεβαιώσετε ότι η Ethernet κάρτα λειτουργεί σωστά, θα πρέπει να κάνετε δύο πράγματα. Πρώτα, κάντε ping την κάρτα την ίδια, και μετά κάντε ping ένα άλλο μηχάνημα στο LAN.
Πρώτα δοκιμάστε στην τοπική κάρτα:
%
ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes 64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms 64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms 64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms 64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms --- 192.168.1.3 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms
Τώρα δοκιμάστε σε ένα άλλο μηχάνημα στο LAN:
%
ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms
Μπορείτε να χρησιμοποιήσετε και το όνομα το μηχανήματος αντί της
διεύθυνσης 192.168.1.2
αν έχετε
ρυθμίσει το αρχείο /etc/hosts
.
Η επίλυση προβλημάτων υλικού και λογισμικού είναι πάντοτε επίπονη, ένας πόνος ο οποιός μπορεί να ανακουφιστεί ελέγχοντας μερικά απλά πράγματα πρώτα. Είναι το καλώδιο του δικτύου συνδεδεμένο; Έχετε ρυθμίσει σωστά τις υπηρεσίες δικτύου; Έχετε ρυθμίσει σωστά το πύρινο τείχος; Έχει πράγματι το FreeBSD υποστήριξη για αυτή την κάρτα δικτύου; Πρέπει πάντα να ελέγχετε τις σημειώσεις του υλικού πριν στείλε μία αναφορά για ένα πρόβλημα. Αναβαθμίστε την έκδοση του FreeBSD στην τελευταία ΣΤΑΘΕΡΗ έκδοση. Ελέγξτε τα αρχεία των λιστών μηνυμάτων, ή ψάξτε στο Internet.
Αν η κάρτα δουλεύει, αλλά με χαμηλή απόδοση, θα άξιζε να διαβάσετε την σελίδα βοηθείας tuning(7). Μπορείτε επίσης να ελέγξετε οι αν λανθασμένες ρυθμίσεις του δικτύου προκαλούν τις αργές συνδέσεις.
Μερικοί χρήστες αντιμετωπίζουν ένα ή δύο μηνύματα device timeout, τα οποία είναι φυσιολογικά για μερικές κάρτες. Αν συνεχιστούν, ή γίνουν ενοχλητικά, θα πρέπει να ελέγξετε μήπως και κάποιες συσκευές παρεμποδίζουν η μία την άλλη. Ελέγξτε διπλά τις συνδέσεις των καλωδίων. Ίσως θα πρέπει να αποκτήσετε μία άλλη κάρτα.
Μερικές φορές, οι χρήστες παρατηρούν μερικά μηνύματα λάθους watchdog timeout. Το πρώτο πράγμα που πρέπει να κάνετε είναι να ελέγξετε το καλώδιο του δικτύου. Αρκέτες κάρτες χρειάζονται μία θέση PCI που να υποστηρίζει Bus Mastering. Σε μερικές παλιές μητρικές κάρτες. μόνο μία θέση PCI το υποστήριζε (συνήθως η θέση 0). Ελέγξτε την κάρτα δικτύου και την τεκμηρίωση της μητρικής κάρτας για να διαπιστώσετε αν εκεί είναι το πρόβλημα.
Το μήνυμα No route to host εμφανίζεται αν
το σύστημα αδυνατεί να δρομολογήσει τα πακέτα στον προορισμό τους.
Αυτό συμβαίνει αν δεν έχει καθοριστεί προεπιλεγμένη διεύθυνση
δρομολόγησης, ή αν ένα καλώδιο έχει ξεσυνδεθεί. Ελέγξτε την έξοδο τις
εντολής netstat -rn
και σιγουρευτείτε ότι η
διεύθυνση δρομολόγησης είναι έγκυρη. Αν δεν έχει καθοριστεί, διαβάστε
το Κεφάλαιο 31, Προχωρημένα Θέματα Δικτύωσης για περισσότερες
πληροφορίες.
Το μήνυμα λάθους ping: sendto: Permission
denied συμβαίνει κυρίως λόγο κάποιας λάθος ρύθμισης στο
πύρινο τείχος. Αν το ipfw
είναι ενεργοποιημένο
στον πυρήνα αλλά δεν έχουν καθοριστεί κανόνες, τότε η προεπιλεγμένη
πολιτική είναι η απαγόρευση όλης της κίνησης, ακόμα και των αιτημάτων
ping! Διαβάστε το Κεφάλαιο 30, Firewalls για περισσότερες
πληροφορίες.
Μερικές φορές η απόδοση της κάρτας μπορεί να είναι φτωχή, ή κάτω
του μέσου όρου. Σε αυτές τις περιπτώσεις το καλύτερο είναι να
ρυθμίσετε την κατάσταση του μέσου απο autoselect
στην κατάλληλη κατάσταση. Ενώ συνήθως αυτό φαίνετε να δουλεύει στα
περισσότερα υλικά, μπορεί να μην λύσει το πρόβλημα στον καθέναν. Και
πάλι, ελέγξτε όλες τις ρυθμίσεις του δικτύου, και ξαναδιαβάστε πάλι
την σελίδα βοηθείας tuning(7).
Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την
τεκμηρίωση πριν να επικοινωνήσετε με την
<questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην
<doc@FreeBSD.org>.