27.7. Χρησιμοποιώντας το SLIP

Αρχική συνεισφορά του Satoshi Asami.
Με τη βοήθεια των Guy Helmer και Piero Serini.

Προειδοποίηση:

Η ενότητα αυτή εφαρμόζεται και είναι έγκυρη μόνο σε συστήματα FreeBSD 7.X.

27.7.1. Ρυθμίζοντας ένα Πελάτη SLIP

Παρακάτω παρουσιάζουμε ένα τρόπο να ρυθμίσετε ένα μηχάνημα FreeBSD ως πελάτη SLIP σε ένα δίκτυο με στατικές διευθύνσεις. Για μηχανήματα τα οποία λαμβάνουν όνομα δυναμικά (η διεύθυνση τους αλλάζει κάθε φορά που συνδέονται), πιθανόν να χρειαστεί να κάνετε πιο πολύπλοκες ρυθμίσεις.

Αρχικά, θα πρέπει να καθορίσετε σε ποια σειριακή θύρα είναι συνδεμένο το modem σας. Αρκετοί χρήστες δημιουργούν ένα συμβολικό δεσμό π.χ. /dev/modem, το οποίο δείχνει στην πραγματική συσκευή /dev/cuadN. Αυτό σας επιτρέπει να συνεχίσετε να χρησιμοποιείτε το ίδιο όνομα συσκευής, ακόμα και αν μετακινήσετε το modem σε διαφορετική θύρα. Είναι μάλλον άβολο να πρέπει να αλλάξετε πλήθος αρχείων στο /etc καθώς και τα αρχεία .kermrc σε όλο το σύστημα!

Σημείωση:

Το /dev/cuad0 είναι η COM1, το /dev/cuad1 είναι η COM2, κ.ο.κ.

Βεβαιωθείτε ότι το αρχείο ρυθμίσεων του πυρήνα σας περιέχει τα παρακάτω:

device   sl

Το παραπάνω περιλαμβάνεται στον πυρήνα GENERIC, και αν δεν το έχετε διαγράψει, δεν θα έχετε πρόβλημα.

27.7.1.1. Ρυθμίσεις που θα Χρειαστεί να Κάνετε Μόνο μια Φορά

  1. Προσθέστε το μηχάνημα σας, την πύλη (gateway) και τους διακομιστές ονομάτων (nameservers) στο αρχείο /etc/hosts. Στο παράδειγμα μας, το αρχείο αυτό μοιάζει με το παρακάτω:

    127.0.0.1               localhost loghost
    136.152.64.181          water.CS.Example.EDU water.CS water
    136.152.64.1            inr-3.CS.Example.EDU inr-3 slip-gateway
    128.32.136.9            ns1.Example.EDU ns1
    128.32.136.12           ns2.Example.EDU ns2
  2. Βεβαιωθείτε ότι η ενότητα files βρίσκεται πριν το dns στην ενότητα hosts: του αρχείου /etc/nsswitch.conf. Αν δεν υπάρχουν αυτές οι παράμετροι, μπορεί να εμφανιστούν παράξενα συμπτώματα.

  3. Τροποποιήστε το αρχείο /etc/rc.conf.

    1. Ορίστε το όνομα του υπολογιστή σας, τροποποιώντας τη γραμμή που γράφει:

      hostname="myname.my.domain"

      Θα πρέπει εδώ να τοποθετήσετε το πλήρες όνομα του υπολογιστή σας.

    2. Ορίστε τον προεπιλεγμένο δρομολογητή, αλλάζοντας τη γραμμή:

      defaultrouter="NO"

      σε:

      defaultrouter="slip-gateway"
  4. Δημιουργήστε ένα αρχείο /etc/resolv.conf το οποίο θα περιέχει:

    domain CS.Example.EDU
    nameserver 128.32.136.9
    nameserver 128.32.136.12

    Όπως μπορείτε να δείτε, το παραπάνω ορίζει τους διακομιστές DNS. Φυσικά, τα πραγματικά ονόματα και οι διευθύνσεις των τομέων εξαρτώνται από το περιβάλλον σας.

  5. Ρυθμίστε κωδικό πρόσβασης για τους χρήστες root και toor (καθώς και για όσους άλλους λογαριασμούς δεν έχουν κωδικό).

  6. Επανεκκινήστε το μηχάνημα σας, και βεβαιωθείτε ότι έχει τεθεί σωστά το όνομα υπολογιστή.

27.7.1.2. Δημιουργώντας μια Σύνδεση SLIP

  1. Μετά την κλήση, γράψτε την εντολή slip στην προτροπή, γράψτε το όνομα του μηχανήματος σας και τον κωδικό. Το τι ακριβώς χρειάζεται να γράψετε, εξαρτάται από το περιβάλλον σας. Αν χρησιμοποιείτε το Kermit, μπορείτε να χρησιμοποιήσετε ένα script όπως το ακόλουθο:

    # kermit setup
    set modem hayes
    set line /dev/modem
    set speed 115200
    set parity none
    set flow rts/cts
    set terminal bytesize 8
    set file type binary
    # The next macro will dial up and login
    define slip dial 643-9600, input 10 =>, if failure stop, -
    output slip\x0d, input 10 Username:, if failure stop, -
    output silvia\x0d, input 10 Password:, if failure stop, -
    output ***\x0d, echo \x0aCONNECTED\x0a

    Φυσικά, θα πρέπει να αλλάξετε το όνομα χρήστη και τον κωδικό ώστε να ταιριάζουν με τα δικά σας. Μετά από αυτό, μπορείτε απλώς να πληκτρολογήσετε slip στην προτροπή σύνδεσης του Kermit.

    Σημείωση:

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

  2. Αφήστε το Kermit εκεί (μπορείτε να το στείλετε στο παρασκήνιο χρησιμοποιώντας τα πλήκτρα Ctrl+z) και ως root, γράψτε:

    # slattach -h -c -s 115200 /dev/modem

    Αν μπορείτε να κάνετε ping σε υπολογιστές στην άλλη μεριά του δρομολογητή, είστε συνδεμένοι! Αν αυτό δεν δουλεύει, δοκιμάστε την επιλογή -a αντί για την -c ως όρισμα στην slattach.

27.7.1.3. Πως να Τερματίσετε την Σύνδεση

Κάντε τα ακόλουθα:

# kill -INT `cat /var/run/slattach.modem.pid`

για να τερματίσετε το slattach. Θυμηθείτε ότι πρέπει να είστε root για να εκτελέσετε το παραπάνω. Έπειτα επανέλθετε στο kermit (εκτελώντας την fg αν το είχατε στείλει στο παρασκήνιο) και τερματίστε το (πιέζοντας q).

Η σελίδα manual του slattach(8) αναφέρει ότι μπορείτε να χρησιμοποιήσετε την εντολή ifconfig sl0 down για να διακόψετε τη σύνδεση, αλλά αυτό δεν φαίνεται να έχει κανένα αποτέλεσμα. (To ifconfig sl0 αναφέρει το ίδιο πράγμα.)

Μερικές φορές, το modem σας μπορεί να αρνηθεί να κλείσει τη γραμμή. Στις περιπτώσεις αυτές, ξεκινήστε ξανά το kermit και τερματίστε το ξανά. Τη δεύτερη φορά συνήθως πετυχαίνει.

27.7.1.4. Αντιμετώπιση Προβλημάτων

Αν το παραπάνω δεν λειτουργήσει, ρωτήστε στη λίστα freebsd-net. Μερικά από τα συνηθισμένα προβλήματα τα οποία έχουμε μέχρι στιγμής αντιμετωπίσει:

  • Να μην έχει χρησιμοποιηθεί η επιλογή -c ή -a στην slattach (Αυτό κανονικά δεν είναι κρίσιμο σφάλμα, αλλά μερικοί χρήστες ανέφεραν ότι αυτό έλυσε τα προβλήματα τους.)

  • Χρήση του s10 αντί για sl0 (η διαφορά μπορεί να είναι πολύ μικρή σε μερικές γραμματοσειρές).

  • Δοκιμάστε την εντολή ifconfig sl0 για να δείτε την κατάσταση της διεπαφής. Για παράδειγμα, μπορεί να δείτε το παρακάτω:

    # ifconfig sl0
    sl0: flags=10<POINTOPOINT>
            inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
  • Αν η εντολή ping(8) δίνει μηνύματα no route to host, ίσως υπάρχει πρόβλημα με τον πίνακα δρομολόγησης σας. Μπορείτε να χρησιμοποιήσετε την εντολή netstat -r για να δείτε την τρέχουσα δρομολόγηση:

    # netstat -r
    Routing tables
    Destination      Gateway            Flags     Refs     Use  IfaceMTU    Rtt    Netmasks:
    
    (root node)
    (root node)
    
    Route Tree for Protocol Family inet:
    (root node) =>
    default          inr-3.Example.EDU  UG          8   224515  sl0 -      -
    localhost.Exampl localhost.Example. UH          5    42127  lo0 -       0.438
    inr-3.Example.ED water.CS.Example.E UH          1        0  sl0 -      -
    water.CS.Example localhost.Example. UGH        34 47641234  lo0 -       0.438
    (root node)

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

27.7.2. Ρυθμίζοντας Ένα Εξυπηρετητή SLIP

Το κείμενο αυτό παρέχει κάποιες υποδείξεις για τη ρύθμιση ενός FreeBSD συστήματος ως εξυπηρετητή SLIP. Τυπικά αυτό σημαίνει ότι το σύστημα σας θα ρυθμιστεί να ξεκινά αυτόματα τις συνδέσεις μετά την είσοδο απομακρυσμένων πελατών SLIP.

27.7.2.1. Προϋποθέσεις

Η ενότητα αυτή είναι ιδιαίτερα τεχνικής φύσεως, και για το λόγο αυτό απαιτείται να έχετε τις αντίστοιχες γνώσεις για να την κατανοήσετε. Υποθέτουμε ότι έχετε μια εξοικείωση με το πρωτόκολλο TCP/IP και ειδικότερα με τη διευθυνσιοδότηση κόμβων, τις μάσκες δικτύων, τα υποδίκτυα, τη δρομολόγηση και τα πρωτόκολλα δρομολόγησης όπως το RIP. Η ρύθμιση των υπηρεσιών SLIP σε ένα εξυπηρετητή επιλογικών συνδέσεων απαιτεί γνώση αυτών των εννοιών, και αν δεν είστε εξοικειωμένος με αυτές, σας παρακαλούμε να διαβάσετε είτε το TCP/IP Network Administration του Craig Hunt (εκδόσεις O'Reilly & Associates, Inc, Αριθμός ISBN 0-937175-82-X) ή κάποιο από τα βιβλία του Douglas Comer σχετικά με το πρωτόκολλο TCP/IP.

Επιπλέον, υποθέτουμε ότι ήδη έχετε ρυθμίσει το modem σας και έχετε τροποποιήσει τα κατάλληλα αρχεία ρυθμίσεων του συστήματος ώστε να επιτρέπεται η είσοδος στο σύστημα μέσω των modem. Αν δεν έχετε ακόμα προετοιμάσει το σύστημα για αυτό, παρακαλούμε δείτε το Τμήμα 26.4, «Υπηρεσία Εισόδου μέσω Επιλογικής Σύνδεσης (dial-in)» για λεπτομέρειες σχετικά με τη ρύθμιση των επιλογικών συνδέσεων. Ενδεχομένως να θέλετε επίσης να δείτε τις σελίδες manual της sio(4) για πληροφορίες σχετικά με το πρόγραμμα οδήγησης της σειριακής θύρας, τα ttys(5), gettytab(5), getty(8), και init(8) για πληροφορίες που σχετίζονται με τη ρύθμιση του συστήματος ώστε να δέχεται είσοδο χρηστών μέσω modem, και ίσως και τη stty(1) για πληροφορίες σχετικά με τις παραμέτρους σειριακών θυρών (όπως την clocal για σειριακές διεπαφές που είναι απευθείας συνδεμένες).

27.7.2.2. Γρήγορη Επισκόπηση

Τυπικά, ένας εξυπηρετητής SLIP που χρησιμοποιεί FreeBSD λειτουργεί με τον εξής τρόπο: ένας χρήστης SLIP καλεί τον εξυπηρετητή SLIP, και εισέρχεται στο σύστημα μέσω ενός ειδικού αναγνωριστικού εισόδου για το SLIP. Το κέλυφος του χρήστη είναι το /usr/sbin/sliplogin. Το πρόγραμμα sliplogin διαβάζει το αρχείο /etc/sliphome/slip.hosts για να βρει μια γραμμή που να ταιριάζει με τον χρήστη, και αν υπάρχει, συνδέει την σειριακή γραμμή σε μια διαθέσιμη διεπαφή SLIP και έπειτα εκτελεί το script του κελύφους /etc/sliphome/slip.login για να ρυθμίσει τη διεπαφή SLIP.

27.7.2.2.1. Ένα Παράδειγμα Εισόδου σε Εξυπηρετητή SLIP

Για παράδειγμα, για ένα χρήστη SLIP με ID Shelmerg, η αντίστοιχη καταχώριση στο /etc/master.passwd θα έμοιαζε με την παρακάτω:

Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin

Όταν εισέλθει ο Shelmerg, το sliplogin θα ψάξει το /etc/sliphome/slip.hosts για μια γραμμή με ID χρήστη που να ταιριάζει. Για παράδειγμα, μπορεί να υπάρχει μια γραμμή στο /etc/sliphome/slip.hosts που να γράφει:

Shelmerg        dc-slip sl-helmer       0xfffffc00		  autocomp

Το sliplogin θα βρει τη γραμμή αυτή, θα συνδέσει τη σειριακή γραμμή στην επόμενη διαθέσιμη διεπαφή SLIP, και έπειτα θα εκτελέσει το /etc/sliphome/slip.login όπως φαίνεται παρακάτω:

/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp

Αν όλα πάνε καλά, το /etc/sliphome/slip.login θα εκτελέσει μια εντολή ifconfig για τη διεπαφή SLIP στην οποία έχει συνδεθεί η sliplogin (η διεπαφή 0 στο παραπάνω παράδειγμα, η πρώτη παράμετρος της λίστας που δίνεται στο slip.login) ώστε να ρυθμιστούν η τοπική διεύθυνση IP (dc-slip), η απομακρυσμένη διεύθυνση IP (sl-helmer), η μάσκα δικτύου για τη διεπαφή SLIP (0xfffffc00), και οποιεσδήποτε πρόσθετες επιλογές (autocomp). Αν κάτι πάει στραβά, θα μπορέσετε να το εντοπίσετε από τα αρχεία καταγραφής της sliplogin. Η sliplogin καταγράφει τα μηνύματα χρησιμοποιώντας το δαίμονα syslogd ο οποίος συνήθως χρησιμοποιεί το αρχείο /var/log/messages (δείτε τις σελίδες βοήθειας για τα syslogd(8) και syslog.conf(5) και ενδεχομένως ελέγξτε το /etc/syslog.conf για να δείτε την τοποθεσία και το αρχείο που χρησιμοποιεί το syslogd για την καταγραφή).

27.7.2.3. Ρύθμιση του Πυρήνα

Ο προεπιλεγμένος πυρήνας του FreeBSD (ο GENERIC) διαθέτει ενσωματωμένη υποστήριξη SLIP (sl(4)). Στην περίπτωση που θέλετε να δημιουργήσετε προσαρμοσμένο πυρήνα, προσθέστε την παρακάτω γραμμή στο αρχείο ρυθμίσεων του πυρήνα σας:

device   sl

Το FreeBSD, από προεπιλογή, δεν προωθεί πακέτα. Αν θέλετε ο εξυπηρετητής σας να ενεργεί ως δρομολογητής, θα πρέπει να επεξεργαστείτε το αρχείο /etc/rc.conf και να αλλάξετε τη ρύθμιση της μεταβλητής gateway_enable σε YES. Με τον τρόπο αυτό, θα είναι σίγουρο ότι η επιλογή της δρομολόγησης θα διατηρηθεί μετά από μια επανεκκίνηση.

Θα πρέπει έπειτα να επανεκκινήσετε για να ενεργοποιηθούν οι νέες ρυθμίσεις.

Για να εφαρμόσετε αυτές τις ρυθμίσεις άμεσα, μπορείτε να εκτελέσετε την παρακάτω εντολή ως root:

# /etc/rc.d/routing start

Παρακαλούμε δείτε το Κεφάλαιο 9, Ρυθμίζοντας τον Πυρήνα του FreeBSD για περισσότερες πληροφορίες σχετικά με την ρύθμιση του πυρήνα του FreeBSD.

27.7.2.4. Ρύθμιση του Sliplogin

Όπως αναφέρθηκε και πριν, υπάρχουν τρία αρχεία στον κατάλογο /etc/sliphome τα οποία χρησιμοποιούνται στη ρύθμιση του /usr/sbin/sliplogin (δείτε και τη σελίδα manual του sliplogin(8)): το slip.hosts, το οποίο ορίζει τους χρήστες SLIP και τις αντίστοιχες IP διευθύνσεις τους, το slip.login το οποίο συνήθως ρυθμίζει απλά την διεπαφή SLIP, και προαιρετικά το slip.logout, το οποίο αναιρεί τις αλλαγές του slip.login όταν τερματίσει η σειριακή σύνδεση.

27.7.2.4.1. Ρύθμιση του slip.hosts

Το /etc/sliphome/slip.hosts περιέχει γραμμές με τέσσερα πεδία που χωρίζονται μεταξύ τους με κενά διαστήματα:

  • Το αναγνωριστικό εισόδου του χρήστη SLIP

  • Την τοπική διεύθυνση (τοπική ως προς τον εξυπηρετητή SLIP) της διασύνδεσης SLIP

  • Την απομακρυσμένη διεύθυνση της διασύνδεσης SLIP

  • Τη μάσκα του δικτύου

Η τοπική και η απομακρυσμένη διεύθυνση, μπορεί να είναι ονόματα υπολογιστών (τα οποία να μετατρέπονται σε διευθύνσεις IP μέσω του /etc/hosts ή μέσω του DNS, ανάλογα με τις καταχωρίσεις που υπάρχουν στο αρχείο /etc/nsswitch.conf), και η μάσκα δικτύου μπορεί να είναι ένα όνομα το οποίο να μπορεί να διευκρινιστεί μέσω αναζήτησης στο /etc/networks. Σε ένα δοκιμαστικό σύστημα, το /etc/sliphome/slip.hosts μοιάζει με το παρακάτω:

#
# login local-addr      remote-addr     mask            opt1    opt2
#                                               (normal,compress,noicmp)
#
Shelmerg  dc-slip       sl-helmerg      0xfffffc00      autocomp

Στο τέλος της γραμμής, βρίσκονται μια ή περισσότερες από τις παρακάτω επιλογές:

  • normal — χωρίς συμπίεση των επικεφαλίδων

  • compress — με συμπίεση των επικεφαλίδων

  • autocomp — με συμπίεση των επικεφαλίδων, αν επιτρέπεται από τον απομακρυσμένο υπολογιστή

  • noicmp — απενεργοποίηση των πακέτων ICMP (με τον τρόπο αυτό τα πακέτα «ping» θα απορρίπτονται αντί να καταναλώνουν το εύρος ζώνης της σύνδεσης σας)

Οι επιλογές που έχετε για τις τοπικές και απομακρυσμένες διευθύνσεις των SLIP συνδέσεων σας, εξαρτώνται από το αν πρόκειται να αφιερώσετε ένα υποδίκτυο TCP/IP ή αν πρόκειται να χρησιμοποιήσετε «proxy ARP» στο SLIP εξυπηρετητή σας (δεν είναι «πραγματικό» proxy ARP, αλλά στην ενότητα αυτή περιγράφεται με αυτό τον όρο). Αν δεν είστε σίγουρος ποια μέθοδο να επιλέξετε ή πως να αποδίδετε διευθύνσεις IP, παρακαλούμε ανατρέξτε στα βιβλία του TCP/IP που αναφέρονται στις Προϋποθέσεις SLIP (Τμήμα 27.7.2.1, «Προϋποθέσεις») ή/και συμβουλευθείτε το διαχειριστή δικτύου σας.

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

Διαφορετικά, αν χρησιμοποιήσετε τη μέθοδο «proxy ARP», θα χρειαστεί να αποδίδετε στους SLIP πελάτες σας διευθύνσεις IP που ανήκουν στο υποδίκτυο Ethernet στο οποίο ανήκει ο εξυπηρετητής SLIP, και θα χρειαστεί επίσης να ρυθμίσετε τα scripts /etc/sliphome/slip.login και /etc/sliphome/slip.logout να χρησιμοποιούν το arp(8) για να χειρίζονται τις καταχωρίσεις «proxy ARP» στον πίνακα ARP του εξυπηρετητή SLIP.

27.7.2.4.2. Ρύθμιση του slip.login

Ένα τυπικό /etc/sliphome/slip.login μοιάζει με το παρακάτω:

#!/bin/sh -
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90

#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6

Το αρχείο slip.login εκτελεί απλώς το ifconfig για την κατάλληλη διεπαφή SLIP, με τις τοπικές και απομακρυσμένες διευθύνσεις και τη μάσκα δικτύου της διεπαφής αυτής.

Αν έχετε αποφασίσει να χρησιμοποιήσετε την μέθοδο «proxy ARP» (αντί να χρησιμοποιήσετε διαφορετικό υποδίκτυο για τους πελάτες SLIP), το αρχείο /etc/sliphome/slip.login θα μοιάζει με το παρακάτω:

#!/bin/sh -
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90

#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub

Η πρόσθετη γραμμή σε αυτό το slip.login, η arp -s $5 00:11:22:33:44:55 pub, δημιουργεί μια καταχώριση ARP στον πίνακα ARP του εξυπηρετητή SLIP. Αυτή η καταχώριση ARP κάνει τον εξυπηρετητή SLIP να απαντά με την διεύθυνση Ethernet MAC όταν κάποιος άλλος κόμβος IP στο Ethernet επιθυμεί να επικοινωνήσει με την διεύθυνση IP του πελάτη SLIP.

Όταν χρησιμοποιείτε το παραπάνω παράδειγμα, βεβαιωθείτε ότι έχετε αντικαταστήσει την διεύθυνση MAC του Ethernet (00:11:22:33:44:55) με την αντίστοιχη της δικής σας κάρτας Ethernet, διαφορετικά το «proxy ARP» σίγουρα δεν θα λειτουργήσει! Μπορείτε να ανακαλύψετε τη διεύθυνση MAC του δικού σας εξυπηρετητή SLIP κοιτάζοντας τα αποτελέσματα της εντολής netstat -i. Η δεύτερη γραμμή της εξόδου θα μοιάζει με την παρακάτω:

ed0   1500  <Link>0.2.c1.28.5f.4a         191923	0   129457     0   116

Αυτό δείχνει ότι στο συγκεκριμένο σύστημα η διεύθυνση MAC του Ethernet είναι 00:02:c1:28:5f:4a. Οι τελείες στην διεύθυνση που δείχνει η netstat -i πρέπει να αντικατασταθούν με άνω-κάτω τελείες, και κάθε μονό δεκαεξαδικό ψηφίο πρέπει να μετατραπεί σε διπλό προσθέτοντας από μπροστά ένα μηδενικό. Η διεύθυνση μετατρέπεται με αυτό τον τρόπο σε μια μορφή που μπορεί να χρησιμοποιήσει η arp(8). Δείτε τη σελίδα manual της arp(8) για περισσότερες πληροφορίες σχετικά με τη χρήση της εντολής αυτής.

Σημείωση:

Όταν δημιουργείτε το /etc/sliphome/slip.login και το /etc/sliphome/slip.logout, θα πρέπει να θέσετε το bit «εκτέλεσης» (π.χ. chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout), διαφορετικά η sliplogin δεν θα μπορεί να τα εκτελέσει.

27.7.2.4.3. Ρύθμιση του slip.logout

Το /etc/sliphome/slip.logout δεν είναι απόλυτα απαραίτητο (εκτός αν πρόκειται να υλοποιήσετε «proxy ARP»), αλλά αν σκοπεύετε να το δημιουργήσετε, μπορείτε να χρησιμοποιήσετε ως υπόδειγμα το παρακάτω απλό παράδειγμα:

#!/bin/sh -
#
#       slip.logout

#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down

Αν χρησιμοποιείτε «proxy ARP», θα θέλετε το /etc/sliphome/slip.logout να διαγράφει την καταχώριση ARP του πελάτη SLIP:

#!/bin/sh -
#
#       @(#)slip.logout

#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5

Η arp -d $5 διαγράφει την καταχώριση ARP που προστέθηκε με την εκτέλεση του slip.login του «proxy ARP», κατά την είσοδο του πελάτη SLIP.

Πρέπει να το επαναλάβουμε άλλη μια φορά: Βεβαιωθείτε ότι το /etc/sliphome/slip.logout έχει οριστεί ως εκτελέσιμο μετά την δημιουργία του (π.χ., chmod 755 /etc/sliphome/slip.logout).

27.7.2.5. Παράγοντες που Πρέπει να Λάβετε Υπόψη σας στη Δρομολόγηση

Αν δεν χρησιμοποιείτε την μέθοδο «proxy ARP» για να δρομολογείτε πακέτα μεταξύ των πελατών SLIP και του υπόλοιπου δικτύου σας (και ενδεχομένως και του Internet), θα πρέπει μάλλον να προσθέσετε στατικές διαδρομές προς τον πλησιέστερο σας προεπιλεγμένο δρομολογητή για να δρομολογείτε το υποδίκτυο των SLIP πελατών σας διαμέσου του εξυπηρετητή SLIP.

27.7.2.5.1. Στατικές Διαδρομές

Η προσθήκη στατικών διαδρομών προς τους πλησιέστερους σας προεπιλεγμένους δρομολογητές, μπορεί να είναι προβληματική (ή και αδύνατη αν δεν έχετε τα κατάλληλα δικαιώματα πρόσβασης). Αν η εταιρία σας διαθέτει δίκτυο με πολλαπλούς δρομολογητές, κάποια μοντέλα (π.χ. από την Cisco και την Proteon), εκτός ότι πρέπει να ρυθμιστούν με την στατική διαδρομή προς το υποδίκτυο SLIP, πρέπει επίσης να ρυθμιστούν με τις στατικές διαδρομές που θα αναφέρουν στους άλλους δρομολογητές. Θα χρειαστεί να πειραματιστείτε και να δοκιμάσετε διάφορες ρυθμίσεις για να δουλέψει η δρομολόγηση μέσω στατικών διαδρομών.

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

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

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