Ένας πελάτης Windows IKEv2 συνδέεται και το αίτημα RADIUS φτάνει με μια διεύθυνση εκεί όπου θα έπρεπε να είναι το όνομα του λογαριασμού. Τίποτα δεν έχει αποτύχει ακόμη, και αυτό ακριβώς μπερδεύει: η πύλη αναφέρει την ταυτότητα που παρουσίασε ο πελάτης στο επίπεδο IKE. Το όνομα χρήστη που θέλει το backend σας μπορεί να προέρχεται από ξεχωριστή ανταλλαγή EAP που δεν έχει γίνει ακόμη. Αποφασίστε ποιος το ζητά πριν αλλάξετε τον λογαριασμό.

Δύο ταυτότητες ταξιδεύουν σε μία σύνδεση

Δύο ονόματα μπορούν να εμφανιστούν σε μία σύνδεση. Η ταυτότητα IKE αναγνωρίζει τον ομότιμο κατά τη ρύθμιση της σήραγγας και το πρόσθετο eap-radius την αντιγράφει αρχικά στο RADIUS User-Name. Η ταυτότητα EAP είναι διαφορετική τιμή, που χρησιμοποιείται για την πιστοποίηση χρήστη, και μπορεί να μην σταλεί ποτέ αν κανείς δεν τη ζητήσει.

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

Ζητήστε από την πύλη να αιτηθεί ταυτότητα EAP

Μια υποστηριζόμενη διάταξη αφήνει την πύλη να ζητήσει την ταυτότητα EAP πριν παραδώσει την πιστοποίηση στο RADIUS. Στην ενότητα απομακρυσμένης πιστοποίησης της σύνδεσης, ορίστε τη μέθοδο σε eap-radius και ζητήστε ρητά την ταυτότητα EAP. Το παρακάτω απόσπασμα ανήκει μέσα σε υπάρχον μπλοκ σύνδεσης, όχι σε δικό του αρχείο. Επιβεβαιώστε τη σύνδεση και το backend διαμόρφωσης πριν αντιγράψετε σύνταξη από άλλη εγκατάσταση.

remote {
    auth = eap-radius
    eap_id = %any
}

Με αυτό, το backend λαμβάνει την ταυτότητα που παρέχει ο πελάτης στην ανταλλαγή EAP αντί για τη διεύθυνση IKE. Τίποτα άλλο στη σύνδεση δεν αλλάζει.

Ή αφήστε το RADIUS να ξεκινήσει την ανταλλαγή EAP

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

charon {
    plugins {
        eap-radius {
            eap_start = yes
        }
    }
}

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

Ακολουθήστε μία απόπειρα και στα δύο αρχεία

Συσχετίστε μία μόνο απόπειρα και στα δύο αρχεία καταγραφής. Παρατηρήστε την ταυτότητα IKE, μετά αν γίνεται ανταλλαγή EAP-Identity, και μετά ποιο όνομα λαμβάνει το βήμα πιστοποίησης. Ένα backend που απορρίπτει τη διεύθυνση πριν από την ανταλλαγή EAP μπορεί να σταματήσει τη διαδικασία πριν φανεί ποτέ η ταυτότητα που θέλετε.

journalctl -u strongswan -f

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

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

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