Το σενάριο του αγκίστρου ενεργοποιείται, διαβάζει το ppp0 και εφαρμόζει διαδρομές σε όποια διεπαφή κατέχει αυτό το όνομα εκείνη τη στιγμή. Μερικές φορές είναι η σήραγγα που εννοούσατε· μερικές φορές είναι μια συνεδρία που συνδέθηκε ένα λεπτό νωρίτερα. Η επόμενη επανασύνδεση μετακινεί τον αριθμό, και το ίδιο σενάριο ρυθμίζει σιωπηλά τον λάθος σύνδεσμο. Η διόρθωση είναι να πάρετε τη διεπαφή από την κλήση που μόλις εκτελέστηκε και να μεταφέρετε το επιδιωκόμενο προφίλ δίπλα της.

Παρακολουθήστε μία συνεδρία από τις επιλογές έως το άγκιστρο

Ξεκινήστε εκεί όπου δημιουργείται η συνεδρία. Το xl2tpd εκκινεί το pppd με το αρχείο επιλογών που ονομάζει το pppoptfile αυτής της σήραγγας, οπότε το πρόσθετο, ο αριθμός μονάδας και οποιοσδήποτε δείκτης προφίλ αποφασίζονται εκεί και όχι σε καθολικό αρχείο. Ένας διαχειριστής συνδέσεων μπορεί να παράγει δικές του επιλογές, πράγμα που σημαίνει ότι η επεξεργασία του /etc/ppp/options δεν αποδεικνύει ότι άλλαξε η σήραγγα που σας ενδιαφέρει. Όταν ανέβει ο σύνδεσμος, το pppd εκτελεί τα σενάρια ειδοποίησης από τον αποστολέα της διανομής. Αυτά τα σενάρια λαμβάνουν το όνομα της διεπαφής ως πρώτο όρισμα και τον δείκτη προφίλ ως έκτο.

Το περιβάλλον φέρει τα ίδια γεγονότα με ονόματα όπως IFNAME και PPP_IPPARAM, αλλά η διαθεσιμότητά τους εξαρτάται από τον εγκατεστημένο αποστολέα. Διαβάστε τον αποστολέα πριν βασιστείτε σε μια μεταβλητή: μερικές διανομές διατηρούν τη σειρά ορισμάτων upstream, άλλες φιλτράρουν το περιβάλλον πριν καλέσουν το σενάριό σας. Ένα σενάριο που χρησιμοποιεί μόνο το $1 και το έκτο όρισμα λειτουργεί και στις δύο περιπτώσεις.

Διαβάστε τη διεπαφή από την κλήση

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

ipparam office-vpn

Συνδέστε έναν δείκτη προφίλ εκεί όπου ορίζονται οι επιλογές, όχι μέσα στο σενάριο. Με αυτή τη γραμμή στο αρχείο επιλογών της σήραγγας, κάθε συνεδρία που δημιουργείται από αυτό το αρχείο φέρει το office-vpn ως έκτο όρισμα. Το σενάριο μπορεί να διακλαδίζεται με βάση τον δείκτη ενώ εξακολουθεί να δρα στην πραγματική διεπαφή. Κρατήστε τα δύο χωριστά στον κώδικα, γιατί ο δείκτης είναι σταθερός και η διεπαφή εκχωρείται ανά συνεδρία.

Ζητήστε όνομα μόνο όταν η άρνηση είναι σωστή

Ένα σταθερό όνομα φαίνεται απλούστερο από το διάβασμα ορισμάτων, αλλά αλλάζει τη συμπεριφορά αποτυχίας. Η επιλογή unit ζητά αριθμό για εξερχόμενη σύνδεση, και το pppd καταφεύγει σε δυναμική εκχώρηση όταν αυτή η μονάδα είναι ήδη απασχολημένη. Τίποτα σε αυτό το αποτέλεσμα δεν δεσμεύει το ppp0 για το προφίλ σας.

ifname ppp-office

Η επιλογή ifname συμπεριφέρεται διαφορετικά: αν το ζητούμενο όνομα χρησιμοποιείται ήδη ή δεν μπορεί να εκχωρηθεί, το pppd εξέρχεται αντί να επιλέξει άλλο. Αυτή είναι επιλογή πολιτικής, όχι καλλωπιστική μετονομασία. Χρησιμοποιήστε την όταν πρέπει να απορριφθεί ένα δεύτερο ταυτόχρονο στιγμιότυπο του ίδιου προφίλ, και επιβεβαιώστε ότι το εγκατεστημένο pppd και ο διαχειριστής συνδέσεών σας περνούν την επιλογή.

Σε κάθε περίπτωση, το όνομα που βλέπει το σενάριο είναι αυτό στο οποίο πρέπει να δράσετε. Ένα ρυθμισμένο όνομα δεν αφαιρεί την ανάγκη να διαβάζετε την κλήση, γιατί μια επανεκκινημένη συνεδρία μπορεί ακόμη να παρουσιάσει διαφορετικό όνομα από την προηγούμενη.

Κάντε την αποσυναρμολόγηση να ταιριάζει με τη συνεδρία που ρυθμίσατε

Οι διαδρομές και οι κανόνες τείχους προστασίας επιβιώνουν του σεναρίου που τα δημιούργησε, οπότε η αποσυναρμολόγηση πρέπει να αφαιρεί ακριβώς τα αντικείμενα που κατέχει η συνεδρία. Σημάνετε τους κανόνες με τον δείκτη προφίλ καθώς και με τη διεπαφή, και διαγράψτε με βάση αυτή τη σήμανση. Αν δύο σήραγγες μπορούν να είναι ενεργές, η διαγραφή όλων όσα αναφέρουν ppp είναι ο τρόπος με τον οποίο μια αποσύνδεση σπάει την άλλη σύνδεση.

Δοκιμάστε την περίπτωση που αποκαλύπτει το σφάλμα: ανεβάστε τη δεύτερη συνεδρία PPP ενώ η πρώτη είναι ακόμη συνδεδεμένη, μετά επανασυνδέστε την πρώτη και παρατηρήστε ποια διεπαφή αναφέρει το άγκιστρο. Μια επιτυχημένη εκτέλεση με μία συνεδρία δεν αποδεικνύει τίποτα για την εκχώρηση ονομάτων. Επαναλάβετε με το VPN σταματημένο για να επιβεβαιώσετε ότι η αποσυναρμολόγηση δεν αφήνει παλιά διαδρομή.

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

Σχετικά άρθρα