FortiGate IPsec σε Linux: ποιος πελάτης συνδέεται πραγματικά
Ο πελάτης Linux του κατασκευαστή μιλάει μόνο SSL VPN. Ένα προφίλ mobile IPsec πρέπει να ξαναχτιστεί σε vpnc ή strongSwan, και τέσσερα πεδία πρέπει να ταιριάζουν με την πύλη.
Ο συνάδελφός σας στα Windows εισάγει ένα προφίλ οδηγού FortiGate και είναι σε σύνδεση σε ένα λεπτό. Εσείς εγκαθιστάτε το ίδιο πακέτο του κατασκευαστή στο Ubuntu, ψάχνετε για καρτέλα IPsec και βρίσκετε έναν πελάτη που ξέρει μόνο να ανοίγει μια SSL VPN πύλη. Το συμπέρασμα που ακολουθεί συνήθως είναι λάθος δύο φορές: η πύλη δεν σας απορρίπτει και η έκδοση για Linux δεν είναι χαλασμένη. Η Fortinet παρέχει αυτόν τον πελάτη μόνο με υποστήριξη SSL VPN, οπότε ένα προφίλ mobile IPsec δεν έχει πού να ζήσει και πρέπει να ξαναχτιστεί κάπου που μιλάει IKEv1.
Πρώτα, αποφασίστε ποιο πρωτόκολλο σας δόθηκε πραγματικά
Αυτή η ανακατασκευή είναι μηχανική μόλις πάψετε να θεωρείτε τον πελάτη του κατασκευαστή ως την εφαρμογή αναφοράς.
Οι συσκευές FortiGate δημοσιεύουν και SSL VPN και IPsec, και το email παράδοσης σπάνια λέει ποιο σας παραχωρήθηκε. Ένα URL πύλης μαζί με σελίδα σύνδεσης σε στυλ προγράμματος περιήγησης σημαίνει SSL VPN, και στο Linux η απάντηση εκεί είναι το openfortivpn, όχι η αντιστοίχιση πεδίων παρακάτω. Ένα αναγνωριστικό ομάδας μαζί με προ-κοινόχρηστο κλειδί σημαίνει mobile IPsec, που είναι αυτό που χειρίζονται το vpnc και το strongSwan.
Το να το κάνετε λάθος είναι ο πιο συχνός λόγος που μια απόπειρα σε Linux πεθαίνει πριν ολοκληρωθεί η πρώτη φάση: ο πελάτης προσφέρει IKEv1 σε πύλη HTTPS ή το αντίστροφο. Ζητήστε από τον διαχειριστή το όνομα του πρωτοκόλλου γραπτώς πριν εγκαταστήσετε οτιδήποτε.
Τέσσερα διαπιστευτήρια ταξιδεύουν σε τέσσερα διαφορετικά πεδία
Η λέξη password εμφανίζεται δύο φορές στις περισσότερες παραδόσεις και σημαίνει δύο διαφορετικά πράγματα. Το προ-κοινόχρηστο κλειδί πιστοποιεί τον ίδιο τον peer και είναι ένα μυστικό μηχανής που ο διαχειριστής διαβάζει από τη ρύθμιση της πύλης. Ο κωδικός του λογαριασμού σας είναι ξεχωριστό διαπιστευτήριο που αποδεικνύει ποιος άνθρωπος βρίσκεται πίσω από αυτόν τον peer.
Οι άλλες δύο τιμές χάνονται πιο εύκολα. Το αναγνωριστικό ομάδας είναι η συμβολοσειρά που έγραψε ο οδηγός στο αντικείμενο ομάδας IPsec, και το 0 είναι νόμιμη τιμή και όχι κενό πεδίο. Η πρόταση καλύπτει κρυπτογράφηση, κατακερματισμό και ομάδα Diffie-Hellman για κάθε φάση, συν τη ρύθμιση PFS, και κάθε στοιχείο της πρέπει να συμφωνεί με την πύλη. Όταν μια σύνδεση αποτυγχάνει στη φάση 1, σχεδόν πάντα ένα από αυτά τα τέσσερα φταίει, οπότε γράψτε τα χωριστά αντί να τα ρίξετε σε ένα παράθυρο διαλόγου.
Τι πρέπει να περιέχει κάθε πεδίο του vpnc
Εγκαταστήστε τον πελάτη μαζί με το περιβάλλον επεξεργασίας και μετά δημιουργήστε μια σύνδεση VPNC:
sudo apt install vpnc network-manager-vpnc network-manager-vpnc-gnome
Ορίστε την πύλη στη δημόσια διεύθυνση του FortiGate και το όνομα ομάδας ακριβώς στο αναγνωριστικό από την πύλη, συμπεριλαμβανομένου ενός γυμνού μηδενός. Το Group password παίρνει το προ-κοινόχρηστο κλειδί, ενώ το όνομα χρήστη και ο κωδικός παίρνουν τον λογαριασμό σας, με τυχόν token προσαρτημένο όπως περιμένει η πύλη. Στον σύνθετο διάλογο, επιλέξτε την ομάδα Diffie-Hellman που ονομάζει η πρόταση, ταιριάξτε το PFS στην ίδια ομάδα, ενεργοποιήστε το NAT traversal όταν ο πελάτης βρίσκεται πίσω από οικιακό δρομολογητή και αφήστε την ανίχνευση νεκρού peer στο ίδιο βήμα με την πύλη.
Το όνομα ομάδας είναι το πεδίο που παραλείπεται, γιατί φαίνεται προαιρετικό και η προεπιλογή μηδέν μοιάζει με θέση κράτησης. Στείλτε το κενό και ο πελάτης μεταδίδει διαφορετικό αναγνωριστικό από αυτό που επικυρώνει η πύλη. Αν το προφίλ εξακολουθεί να αποτυγχάνει, συγκρίνετε τις σύνθετες τιμές με τον πελάτη Windows που λειτουργεί και όχι με μια δημοσίευση φόρουμ για άλλη τοποθεσία.
Το ίδιο προφίλ γραμμένο για το strongSwan
Το strongSwan είναι το καλύτερο μακροπρόθεσμο δοχείο για αυτές τις τιμές, αφού η ρύθμιση είναι ένα αρχείο κειμένου που μπορείτε να ελέγξετε και να κρατήσετε:
conn office-fw
keyexchange=ikev1
aggressive=yes
left=%any
leftauth=psk
leftauth2=xauth
xauth_identity=YOUR_USER
right=GATEWAY_ADDRESS
rightauth=psk
rightsubnet=OFFICE_SUBNET
ike=aes128-sha1-modp1536!
esp=aes128-sha1-modp1536!Διαβάστε τις γραμμές της πρότασης πριν από το μπλοκ, γιατί το θαυμαστικό στο τέλος αλλάζει το νόημά τους: καρφιτσώνει αυτή τη μία πρόταση και αφαιρεί τις εναλλακτικές που ο πελάτης θα πρόσφερε αλλιώς. Μια πύλη ρυθμισμένη για ένα ζεύγος μετασχηματισμών θα απορρίψει πελάτη που ανοίγει με λίστα, οπότε το καρφίτσωμα είναι αυτό που μετατρέπει τη διαπραγμάτευση σε αντιστοίχιση. Πάρτε τα ακριβή ονόματα αλγορίθμων από το προφίλ της πύλης που λειτουργεί και αντικαταστήστε τις θέσεις κράτησης με τις δικές σας τιμές.
Οι δύο γραμμές πιστοποίησης δεν είναι περιττές. Το PSK αποδεικνύει τον peer, το μπλοκ XAuth αποδεικνύει τον χρήστη, και αν αφαιρέσετε οποιοδήποτε από τα δύο μένει μια φάση που η πύλη δεν θα ολοκληρώσει.
Διαβάστε την αποτυχία πριν αλλάξετε άλλο πεδίο
Δουλέψτε ανάποδα από το σύμπτωμα αντί να ξανατυχαιοποιήσετε τον διάλογο. Ένα IKE SA που ανεβαίνει χωρίς εκχωρημένη διεύθυνση σημαίνει ότι η ανταλλαγή πιστοποίησης χρήστη απέτυχε ή δεν έτρεξε ποτέ, οπότε ελέγξτε τον λογαριασμό και τον χειρισμό του token. Μια φάση 1 που δεν ολοκληρώνεται ποτέ δείχνει στην πρόταση, στο αναγνωριστικό ομάδας ή στον επιθετικό τρόπο, και καθένα από αυτά συγκρίνεται με την πύλη, όχι μόνο με τον πελάτη Windows.
Μια σήραγγα που στήνεται και μετά πεθαίνει κάθε λίγα λεπτά είναι διαφωνία ανίχνευσης νεκρού peer μεταξύ των δύο άκρων· ταιριάξτε το χρονόμετρο της πύλης αντί να απενεργοποιήσετε τα keepalive παντού. Μια εδραιωμένη σήραγγα όπου οι hosts του γραφείου μένουν απρόσιτοι συνήθως σημαίνει ότι το υποδίκτυο που ωθήθηκε δεν έφτασε ποτέ στον τοπικό πίνακα δρομολόγησης, κάτι που ένας πελάτης τρίτου μέρους μπορεί να μην κάνει μόνος του.
Επιστρέψτε τις τιμές που λειτουργούν στον ιδιοκτήτη της πύλης όταν τελειώσετε: πρωτόκολλο, αναγνωριστικό ομάδας, προ-κοινόχρηστο κλειδί, πρόταση, PFS και την απόφαση DPD. Το επόμενο μηχάνημα Linux τότε παίρνει λεπτά αντί για ένα βράδυ, και κανείς δεν χρειάζεται να ανακαλύψει ξανά ότι το όνομα ομάδας ήταν μηδέν.