Το ifconfig-noexec δεν σώζει τη συνεδρία SSH σας: τι κάνει
Καταστέλλει τη δική του ρύθμιση διεύθυνσης διασύνδεσης του OpenVPN. Δεν δεσμεύει διαδρομή απάντησης για SSH, δεν απενεργοποιεί κάθε αλλαγή διαδρομής και δεν παρέχει τη διεύθυνση που λείπει.
Κάπου σε ένα νήμα φόρουμ, το ifconfig-noexec προσφέρεται ως η διόρθωση που κρατά ζωντανή μια συνεδρία SSH όταν σηκώνεται ένα τούνελ. Το σκεπτικό ακούγεται πειστικό μέχρι να ελέγξετε τι αγγίζει η επιλογή. Εμποδίζει το OpenVPN να ρυθμίσει τη διεύθυνση της διασύνδεσης του τούνελ και δίνει αυτές τις τιμές σε σενάρια αντί γι' αυτό· δεν λέει τίποτα για το πού πηγαίνουν οι απαντήσεις στη σύνδεση διαχείρισής σας. Το να πιστεύετε το αντίθετο παράγει ένα τούνελ χωρίς χρησιμοποιήσιμη διεύθυνση και μια συνεδρία SSH που πεθαίνει ούτως ή άλλως.
Τι αναθέτει πραγματικά η επιλογή
Από προεπιλογή, ο πελάτης σηκώνει τη συσκευή τούνελ και εκχωρεί την τοπική και την απομακρυσμένη διεύθυνση που του έδωσε ο διακομιστής. Με το ifconfig-noexec ενεργό, αυτό το βήμα παρακάμπτεται και οι διαπραγματευμένες τιμές εξάγονται στο περιβάλλον σεναρίου ώστε κάτι άλλο να τις εφαρμόσει.
Η κυριότητα μετατοπίζεται. Τίποτα δεν επινοείται στη θέση της.
Άρα το ερώτημα στο οποίο απαντά η επιλογή είναι ποιος ρυθμίζει τη διασύνδεση, και το ερώτημα στο οποίο δεν απαντά είναι πώς βρίσκουν τα πακέτα τον δρόμο πίσω σε εσάς. Κρατήστε τα ξεχωριστά, αλλιώς θα περάσετε ένα βράδυ επεξεργάζοντας διαδρομές για να αντισταθμίσετε μια διασύνδεση χωρίς διεύθυνση.
Τρεις παρόμοιες επιλογές με διαφορετικές δουλειές
Η οικογένεια μπερδεύεται εύκολα, γιατί τα ονόματα διαφέρουν κατά μία λέξη και τα συμπτώματα επικαλύπτονται. Διαβάστε τι καταστέλλει η καθεμία πριν επιλέξετε οποιαδήποτε.
| Επιλογή | Τι σταματά να συμβαίνει |
|---|---|
ifconfig-noexec | Η δική του ρύθμιση διεύθυνσης του τούνελ από το OpenVPN· οι τιμές πηγαίνουν αντί γι' αυτό σε σενάρια |
route-noexec | Αυτόματη προσθήκη και αφαίρεση διαδρομών· οι λεπτομέρειες της διαδρομής πηγαίνουν σε σενάριο |
route-nopull | Οι διαδρομές που σπρώχνει ο διακομιστής και σχετικές επιλογές όπως το DNS απορρίπτονται |
Αυτές είναι εναλλακτικές για κατανόηση χωριστά, όχι σύνολο για κόλλημα μαζί. Η καταστολή της ρύθμισης διεύθυνσης δεν καταστέλλει αλλαγές διαδρομών, κανόνες τείχους προστασίας ή τις σπρωγμένες επιλογές που μεταφέρουν DNS. Ένα ανατεθειμένο σενάριο είναι επίσης ελεύθερο να αλλάξει διαδρομές, και αυτό είναι μια απόφαση που παραδίδετε αντί να αποφεύγετε.
Αν ένας πελάτης προμηθευτή τυλίγει τη μηχανή, χρησιμοποιήστε την υποστηριζόμενη ενσωμάτωσή του αντί να ρίχνετε μια οδηγία χαμηλού επιπέδου σε ένα προφίλ και να ελπίζετε ότι το περιτύλιγμα θα τη σεβαστεί. Τα περιτυλίγματα συχνά αναπαράγουν το προφίλ κατά τη σύνδεση, οπότε μια χειροκίνητη αλλαγή εξαφανίζεται χωρίς σφάλμα. Ελέγξτε πού κρατά ο πελάτης τις ρυθμίσεις του πριν περάσετε ένα βράδυ με το αρχείο. Αυτό ισχύει για κάθε γραμμή του πίνακα, όχι μόνο για εκείνη για την οποία ήρθατε.
Η συνεδρία SSH που θέλατε να προστατέψετε
Μια σύνδεση SSH έχει διεύθυνση πηγής, διεύθυνση προορισμού και διαδρομή απάντησης. Σε έναν διακομιστή που μόλις εγκατέστησε προεπιλογή πλήρους τούνελ, η απάντηση στη δημόσια διεύθυνσή σας ταιριάζει με το τούνελ και η πύλη VPN την απορρίπτει.
Τίποτα στη ρύθμιση διεύθυνσης της διασύνδεσης του τούνελ δεν το αλλάζει αυτό.
Αυτό που το διορθώνει είναι μια πιο ειδική διαδρομή για τη διεύθυνση διαχείρισής σας μέσω της πύλης πριν από το τούνελ, ή ένας κανόνας πολιτικής που κατευθύνει αυτή την κίνηση, συν τις ρυθμίσεις φιλτραρίσματος που εφαρμόζει ο κεντρικός υπολογιστής σας. Τα δύο προβλήματα εμφανίζονται μερικές φορές μαζί, και έτσι το ένα θεωρείται θεραπεία του άλλου. Δοκιμάστε τα ξεχωριστά: σηκώστε το τούνελ χωρίς την επιλογή, κοιτάξτε τη διεύθυνση της διασύνδεσης και τη διαδρομή απάντησης και μετά αποφασίστε ποιο από τα δύο είναι πραγματικά χαλασμένο.
Τι πρέπει να αναλάβει ένα ανατεθειμένο σενάριο
Αν θέλετε πραγματικά ένας άλλος ιδιοκτήτης να ρυθμίσει τη διασύνδεση, απαριθμήστε τη δουλειά: εφαρμόστε την τοπική και την απομακρυσμένη διεύθυνση, σηκώστε τη συσκευή, επαναφέρετε ή αφαιρέστε τη διευθυνσιοδότηση κατά τη διάλυση και κάντε το ίδιο ξανά μετά από επανασύνδεση. Οι τιμές από μία επιτυχημένη συνεδρία δεν πρέπει να είναι σκληρά κωδικοποιημένες, γιατί ο διακομιστής μπορεί να δώσει διαφορετικό ζεύγος την επόμενη φορά.
Οι μεταβλητές περιβάλλοντος που εξάγει ο πελάτης είναι η μόνη υποστηριζόμενη είσοδος για αυτή τη δουλειά.
env | grep -E '^ifconfig_|^route_'Μέσα σε ένα σενάριο route-up αυτές οι μεταβλητές είναι διαθέσιμες· από μια εργασία cron ή ένα χειροκίνητο κέλυφος δεν είναι. Επιβεβαιώστε ποιο άγκιστρο κύκλου ζωής χρησιμοποιεί η έκδοσή σας και επιβεβαιώστε ότι το άγκιστρο εκτελείται με αρκετά προνόμια για να αλλάξει τη διασύνδεση, αφού ο πελάτης μπορεί να έχει ήδη πέσει σε μη προνομιούχο χρήστη.
Δοκιμάστε ολόκληρο τον κύκλο ζωής, όχι μία συνεδρία
Σηκώστε το τούνελ, ελέγξτε τη διεύθυνση στη συσκευή, μετά επανασυνδεθείτε και ελέγξτε την ξανά. Μια ρύθμιση που λειτουργεί μία φορά και αποτυγχάνει στη δεύτερη προσπάθεια συνήθως σημαίνει ότι το ανατεθειμένο βήμα εκτελείται μόνο στην πρώτη σύνδεση.
Έπειτα δοκιμάστε και τα δύο κριτήρια αποδοχής μαζί: μια νέα σύνδεση SSH μέσω της προβλεπόμενης διαδρομής διαχείρισης λειτουργεί, και μια επιτρεπόμενη εφαρμογή χρησιμοποιεί το τούνελ σωστά.
Μια παλιά συνεδρία SSH που τυχαίνει να επιβιώνει ενώ το τούνελ δεν έχει διεύθυνση δεν είναι επιτυχία, και είναι ακριβώς η κατάσταση που παράγει αυτή η επιλογή όταν κανείς δεν αναλαμβάνει τη δουλειά. Ελέγξτε πρώτα τη διεύθυνση της διασύνδεσης, μετά τη διαδρομή απάντησης διαχείρισης και μετά την εφαρμογή. Αν δύο από τα τρία είναι λάθος, η επιλογή μετακίνησε δουλειά χωρίς να της δώσει ιδιοκτήτη.