VPN από τοποθεσία σε τοποθεσία ή απομακρυσμένη πρόσβαση: τι ενώνει το καθένα
Το ένα ενώνει πύλες, το άλλο ενώνει συσκευές. Συγκρίνετε τους επιλογείς κίνησης με τις διαδρομές, σχεδιάστε τη διευθυνσιοδότηση και μετά δοκιμάστε την προώθηση και την πολιτική από πραγματικό κεντρικό υπολογιστή.
Και τα δύο σχέδια ονομάζονται VPN και λύνουν διαφορετικά προβλήματα. Μια σήραγγα από τοποθεσία σε τοποθεσία ενώνει δύο πύλες, ώστε κάθε κεντρικός υπολογιστής πίσω τους να φτάνει τις επιτρεπόμενες διευθύνσεις στην άλλη πλευρά χωρίς να εγκαταστήσει τίποτα. Μια σήραγγα απομακρυσμένης πρόσβασης ενώνει μεμονωμένες συσκευές σε ένα δίκτυο, έναν πελάτη τη φορά. Η σύγκριση έχει σημασία γιατί τα περισσότερα λάθη ανάπτυξης προκύπτουν από τη διαμόρφωση του ενός σχεδίου περιμένοντας τη συμπεριφορά του άλλου, και το σύμπτωμα είναι συνήθως λήξη χρόνου σε μια υπηρεσία που η σήραγγα πράγματι έφτασε.
Δύο σχέδια, δύο σύνορα
| Site-to-site | Remote access | |
|---|---|---|
| Endpoints | two gateways | a gateway and each client |
| Who configures | network owners | each user or an MDM |
| Scope of reach | whatever the gateways route | whatever the client is granted |
| Broadcast discovery | not carried | not carried |
Κανένα από τα δύο σχέδια δεν επεκτείνει έναν τομέα εκπομπής LAN. Οι συσκευές στην άλλη πλευρά δεν εμφανίζονται σε τοπική λίστα ανακάλυψης, και το να το περιμένει κανείς είναι η πρώτη παραδοχή που πρέπει να εγκαταλείψει. Τα ιδιωτικά ονόματα DNS που δημοσιεύετε σκόπιμα είναι πιο προβλέψιμα από οποιοδήποτε πρωτόκολλο ανακάλυψης και επιβιώνουν από αλλαγή προμηθευτή.
Πάρτε το 10.10.0.0/24 στη μία τοποθεσία και το 10.20.0.0/24 στην άλλη. Η πύλη A χρειάζεται μια διαδρομή ή έναν επιλογέα κίνησης που στέλνει το πρόθεμα 10.20.0.0/24 στη σήραγγα, και η πύλη B χρειάζεται το κατοπτρικό της είδωλο. Στη συνέχεια οι κεντρικοί υπολογιστές και στις δύο πλευρές χρησιμοποιούν συνηθισμένη συνδεσιμότητα IP και δεν μαθαίνουν ποτέ ότι υπάρχει σήραγγα. Αυτή η αορατότητα είναι το χαρακτηριστικό, και γι’ αυτό οι αστοχίες μοιάζουν με συνηθισμένα σφάλματα δικτύου και όχι με σφάλματα σήραγγας.
Βασισμένο σε πολιτική και βασισμένο σε διαδρομή δεν είναι η ίδια σήραγγα
Σε ανάπτυξη IPsec βασισμένη σε πολιτική, οι διαπραγματευόμενοι επιλογείς κίνησης καθορίζουν ακριβώς ποια ζεύγη πηγής και προορισμού προστατεύονται. Αν εμφανιστεί ένα νέο υποδίκτυο πίσω από μια πύλη και κανένας επιλογέας δεν το καλύπτει, η σήραγγα παραμένει ενεργή και το νέο υποδίκτυο απλώς δεν μεταφέρεται. Σε σχέδιο βασισμένο σε διαδρομή, μια διεπαφή δέχεται την κίνηση και ο πίνακας δρομολόγησης αποφασίζει, κάτι που κάνει την προσθήκη ενός προθέματος αλλαγή δρομολόγησης και όχι επαναδιαπραγμάτευση της σήραγγας.
Το StrongSwan εκθέτει και τις δύο όψεις άμεσα, και το να τις διαβάζετε μαζί είναι ο τρόπος να καταλάβετε ποιο μοντέλο έχετε πράγματι αναπτύξει.
swanctl --list-sas
ip xfrm policy
ip -4 route show table all | grep -E '10\.(10|20)\.'
Μια λίστα επιλογέων που παραλείπει το πρόθεμα που σας ενδιαφέρει εξηγεί την αστοχία χωρίς καμία σύλληψη πακέτων, και μια διαδρομή που δείχνει στη λάθος διεπαφή εξηγεί την κατοπτρική αστοχία στην επιστροφή. Διαβάστε και τα δύο πριν επαναδιαπραγματευτείτε οτιδήποτε, γιατί μια ανανέωση κλειδιού δεν θα προσθέσει επιλογέα που δεν διαμορφώσατε ποτέ.
Σχεδιάστε τη διευθυνσιοδότηση πριν από τη σήραγγα
Τα επικαλυπτόμενα εύρη είναι το σχεδιαστικό λάθος που δεν διορθώνεται με διαμόρφωση. Αν και οι δύο τοποθεσίες χρησιμοποιούν 192.168.1.0/24, ένας κεντρικός υπολογιστής που χρειάζεται 192.168.1.50 έχει δύο υποψηφίους και κανέναν τρόπο να επιλέξει. Η σήραγγα θα επαληθευτεί, οι συσχετίσεις ασφαλείας θα εδραιωθούν, και η απόφαση δρομολόγησης θα είναι λανθασμένη ή αμφίσημη ανεξαρτήτως.
Επιλέξτε μία από τρεις έντιμες επιλογές: επαναριθμήστε τη μία τοποθεσία, μεταφράστε το επικαλυπτόμενο εύρος στην πύλη ώστε κάθε πλευρά να βλέπει διακριτό πρόθεμα, ή εγκαταλείψτε την άμεση δρομολόγηση για αυτούς τους κεντρικούς υπολογιστές και δημοσιεύστε την υπηρεσία με άλλον τρόπο. Καθεμία έχει κόστος, και η πρώτη είναι συνήθως η φθηνότερη σε ορίζοντα δύο ετών. Αποφασίστε πριν υπάρξει η σήραγγα, γιατί εκ των υστέρων η αλλαγή αγγίζει κάθε συσκευή που έχει την παλιά διεύθυνση.
Αντιμετωπίστε και το ζήτημα του MTU νωρίς. Μια σήραγγα μειώνει το ωφέλιμο φορτίο, και ένα σχέδιο που βασίζεται στον κατακερματισμό συμπεριφέρεται διαφορετικά από ένα που καθηλώνει το MSS στις πύλες.
Η προώθηση και η πολιτική βρίσκονται έξω από τη σήραγγα
Η πύλη πρέπει να είναι πρόθυμη να προωθεί πακέτα μεταξύ της διεπαφής σήραγγας και της διεπαφής LAN, και οι δύο κατευθύνσεις χρειάζονται πολιτική που επιτρέπει την υπηρεσία. Στο Linux αυτές είναι δύο ξεχωριστές ρυθμίσεις, συν τους κανόνες τείχους προστασίας που αποφασίζουν αν η προωθούμενη ροή επιτρέπεται καθόλου.
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -s 10.20.0.0/24 -d 10.10.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.10.0.0/24 -d 10.20.0.0/24 -j ACCEPT
Ο κεντρικός υπολογιστής που λαμβάνει προσθέτει ένα τρίτο επίπεδο: το δικό του τείχος προστασίας πρέπει ακόμη να δεχτεί έναν πελάτη από το απομακρυσμένο υποδίκτυο. Ένας διακομιστής αρχείων που επιτρέπει μόνο το τοπικό του /24 θα απορρίψει προωθούμενη κίνηση από το 10.20.0.7, όσο υγιής κι αν φαίνεται η σήραγγα, και αυτή η απόρριψη διαβάζεται εύκολα ως αστοχία δρομολόγησης.
Δοκιμάστε από κεντρικό υπολογιστή, όχι από την πύλη
Ένα ping που προέρχεται από την ίδια την πύλη μπορεί να ακολουθήσει διαφορετική διεύθυνση πηγής και διαφορετική πολιτική από την προωθούμενη κίνηση χρηστών. Αυτό το κάνει αδύναμη δοκιμή και, περιστασιακά, παραπλανητική: πετυχαίνει ενώ η εφαρμογή αποτυγχάνει, ή αποτυγχάνει ενώ η εφαρμογή λειτουργεί.
ip route get 10.10.0.5 from 10.20.0.7
ping -I 10.20.0.7 10.10.0.5
curl -sv --max-time 5 http://files.10-10.internal/ -o /dev/null
Χρησιμοποιήστε πραγματικό κεντρικό υπολογιστή, πραγματική διεύθυνση πηγής και το πραγματικό πρωτόκολλο που χρησιμοποιεί η εφαρμογή. Μετά διαβάστε την επιστροφή ξεχωριστά, γιατί μια λειτουργική προς τα εμπρός κατεύθυνση χωρίς διαδρομή επιστροφής παράγει λήξη χρόνου που μοιάζει ίδια με αποκλεισμένη υπηρεσία.
Επιλέξτε το σχέδιο με βάση την ερώτηση που απαντάτε: ενώνετε δίκτυα ή υποδέχεστε συσκευές; Όλα τα άλλα, συμπεριλαμβανομένου του προμηθευτή που διαμορφώνετε, προκύπτουν από αυτή την απάντηση.