strongSwan vips: ζητώντας μια εικονική διεύθυνση από το IKEv2
Το vips ζητά μια εσωτερική διεύθυνση IKEv2· η πύλη αποφασίζει τι θα παραχωρήσει. Ρυθμίστε το αίτημα, φορτώστε το και μετά επαληθεύστε τι ανέθεσε πραγματικά ο αποκρινόμενος.
Ο πελάτης IKEv2 σας μπορεί να ζητήσει από την πύλη μια εσωτερική διεύθυνση, και η πύλη αποφασίζει τι θα επιστρέψει. Στο strongSwan, αυτό το αίτημα είναι η ρύθμιση vips και παραμένει αίτημα ακόμα και όταν γράψετε μέσα της μια συγκεκριμένη διεύθυνση. Ο οδηγός παρακάτω ρυθμίζει το αίτημα, το φορτώνει και διαβάζει τι επέστρεψε, επειδή αυτά τα τρία βήματα αποτυγχάνουν με τρεις διαφορετικούς τρόπους. Κανένα από αυτά δεν συντομεύεται όσο δυνατά κι αν πληκτρολογήσετε.
Τι ζητά το vips και τι δεν μπορεί να υποσχεθεί
Το vips ανήκει μέσα σε έναν ορισμό σύνδεσης και ζητά από τον αποκρινόμενο μια εικονική διεύθυνση. Ο οδηγός του strongSwan για τις εικονικές διευθύνσεις δηλώνει ρητά ότι η απάντηση μπορεί να είναι άλλη διεύθυνση ή και τίποτα, και αυτή είναι η φράση που προσπερνούν οι άνθρωποι όταν γράφουν μια τιμή και περιμένουν να εμφανιστεί. Το αίτημα αξίζει ακόμα να γίνει, γιατί αυτό που επαληθεύετε είναι η απάντηση. Αντιμετωπίστε τη ρύθμιση ως εντολή να ρωτήσετε, όχι ως διαμόρφωση του αποτελέσματος.
Το να ζητήσετε 0.0.0.0 ζητά οποιαδήποτε διαθέσιμη εικονική διεύθυνση IPv4, κάτι που συνήθως είναι σωστό όταν η ακριβής τιμή δεν έχει σημασία. Το να ζητήσετε μια συγκεκριμένη διεύθυνση είναι υπόδειξη προς την πύλη, όχι απαίτηση προς αυτήν.
Το απόσπασμα swanctl και πού ανήκει
Η ρύθμιση βρίσκεται μέσα στο μπλοκ σύνδεσης, όχι σε δικό της αρχείο και όχι σε προφίλ λειτουργικού συστήματος. Αυτό το απομονωμένο απόσπασμα δείχνει τη μορφή:
connections {
net {
local_addrs = 192.0.2.10
remote_addrs = 203.0.113.5
vips = 10.77.0.31
children {
net { local_ts = dynamic remote_ts = 10.77.0.0/24 }
}
}
}
Φορτώστε το με το αρχείο που κατέχει τη σύνδεση, μετά ξεκινήστε τη σύνδεση και διαβάστε το αποτέλεσμα. Ένα απόσπασμα που επικολλάται σε λάθος ενότητα παράγει σφάλμα ανάλυσης ή, χειρότερα, μια σύνδεση που φορτώνεται χωρίς το αίτημα που νομίζατε ότι κάνατε. Εκτελέστε τις τρεις εντολές με τη σειρά και κρατήστε την έξοδο.
swanctl --load-all --file /etc/swanctl/swanctl.conf
swanctl --initiate --child net
swanctl --list-sas
Το local_ts επιλέγει κίνηση, δεν δημιουργεί διεύθυνση
Το local_ts ονομάζει το σύνολο κίνησης που προστατεύει το θυγατρικό SA· δεν βάζει διεύθυνση σε μια διεπαφή. Μόλις διαπραγματευτεί μια εικονική IP, το strongSwan σταματά να χρησιμοποιεί τον προεπιλεγμένο δυναμικό επιλογέα του και χρησιμοποιεί αντί αυτού τη διεύθυνση που παραχωρήθηκε. Αν καρφώσετε τον επιλογέα σε μια κατά γράμμα διεύθυνση, ισχυρίζεστε κάτι που η πύλη μπορεί να μην παραχώρησε, και γι' αυτό η αποτυχία εμφανίζεται ως SA που λειτουργεί με κίνηση να πηγαίνει πουθενά. Ο επιλογέας περιγράφει κίνηση, ενώ η ανάθεση έρχεται από την άλλη ανταλλαγή.
Ο άλλος τρόπος να αποκτήσετε μια σταθερή εσωτερική διεύθυνση είναι να την κατέχετε τοπικά. Βάλτε τη διεύθυνση σε μια διεπαφή πριν σηκωθεί η σήραγγα, κατευθύνετε τον επιλογέα σε αυτό που υπάρχει ήδη και τακτοποιήστε τον ομότιμο και τη διαδρομή γύρω από αυτό.
Τίποτα δεν διαπραγματεύεται σε αυτόν τον σχεδιασμό, άρα τίποτα δεν μπορεί να ανατεθεί ξανά, και αυτό είναι το αντάλλαγμα: ντετερμινισμός έναντι του να κάνετε εσείς τη διευθυνσιοδότηση. Είναι διαφορετικός μηχανισμός, όχι παραλλαγή του vips, γι' αυτό δεν πρέπει να αναμειγνύονται σε μία σύνδεση. Ένας καρφωμένος επιλογέας δίπλα σε μια διαπραγματευμένη διεύθυνση είναι μια σύνδεση που λειτουργεί μέχρι η πύλη να δώσει κάτι άλλο.
Επαληθεύστε τι ανέθεσε πραγματικά ο αποκρινόμενος
Διαβάστε τη λίστα SA για τη διεύθυνση που παραχώρησε η πύλη και μετά επιβεβαιώστε ότι η διεύθυνση υπάρχει στη διεπαφή. Αν τα δύο διαφωνούν, η σήραγγα είναι πάνω και η κίνηση δεν πηγαίνει εκεί που νομίζετε. Μια παραχωρημένη διεύθυνση που δεν φτάνει ποτέ στη διεπαφή είναι η πιο μπερδεμένη αποτυχία σε αυτή την ακολουθία, γιατί κάθε μισό φαίνεται σωστό από μόνο του.
Κρατήστε τέσσερις διευθύνσεις χωριστά στις σημειώσεις σας: την εσωτερική διεύθυνση που ζητήθηκε, αυτή που παραχωρήθηκε, τη διεύθυνση LAN του μηχανήματος και την δημόσια έξοδο που αναφέρει ένας ιστότοπος. Ανήκουν σε διαφορετικά επίπεδα και εμφανίζονται σε διαφορετικά σημεία. Ένας οδηγός που καταγράφει και τις τέσσερις είναι ένας που μπορεί να ακολουθήσει κάποιος άλλος χωρίς να ρωτήσει ποια διεύθυνση εννοούσατε. Διαβάστε τις ξανά μετά από κάθε επαναφόρτωση, γιατί η παραχωρημένη τιμή είναι η μόνη που περιγράφει τη ζωντανή σήραγγα.
Κρατήστε τον στατικό σχεδιασμό ξεχωριστά
Αν χρειάζεστε μια σταθερή εσωτερική διεύθυνση, κανονίστε την κράτηση στην πύλη και αφήστε το αίτημα του πελάτη να παραμείνει αίτημα. Η ανάμειξη ενός καρφωμένου επιλογέα με μια διαπραγματευμένη διεύθυνση δίνει μια σύνδεση που λειτουργεί μέχρι η πύλη να αναθέσει κάτι διαφορετικό. Γράψτε τον κανόνα κράτησης δίπλα στη σύνδεση, γιατί αυτό είναι το μέρος που ένας συνάδελφος δεν μπορεί να συμπεράνει από το αρχείο ρυθμίσεων. Τότε ένας νέος πελάτης κληρονομεί τον κανόνα αντί να τον ανακαλύπτει ξανά.
Στον ενσωματωμένο πελάτη Mac κανένα από αυτά τα ονόματα επιλογών δεν υπάρχει. Χρησιμοποιήστε όποια ανάθεση ή κράτηση προσφέρει η πύλη και το προφίλ που δημοσιεύει ο πάροχος, και αντιμετωπίστε οποιαδήποτε τιμή στην πλευρά του πελάτη ως υπόδειξη μέχρι να διαβάσετε ξανά την ανάθεση. Η επαναφορά σημαίνει αφαίρεση της γραμμής vips και επαναφόρτωση, που σας επιστρέφει σε ό,τι αναθέτει η πύλη από προεπιλογή.