Ένα NIC ή δύο; Πώς να αποφασίσετε τη διάταξη διεπαφών ενός διακομιστή VPN
Ένας μόνο προσαρμογέας μπορεί να μεταφέρει την κρυπτογραφημένη σύνδεση και την κίνηση της σήραγγας. Επιλέξτε ένα ή δύο NIC με βάση την ανάγκη δρομολόγησης, όχι έναν κανόνα υλικού.
Ένας φυσικός προσαρμογέας αρκεί για πολλούς διακομιστές VPN, και δεν είναι ούτε καθολική σχεδίαση. Η κρυπτογραφημένη σύνδεση φτάνει σε αυτόν τον προσαρμογέα, η διεργασία VPN την αποκρυπτογραφεί και η εσωτερική κίνηση εξέρχεται μέσω εικονικής διεπαφής πριν φτάσει σε τοπική υπηρεσία ή σε δρομολογημένο LAN. Το αν αυτό λειτουργεί εξαρτάται από τρεις συνθήκες: πού βρίσκεται ο προορισμός, αν το LAN έχει διαδρομή επιστροφής προς τη δεξαμενή πελατών και αν ένα κοινόχρηστο φυσικό κανάλι σας δίνει την απομόνωση που ισχυρίζεστε. Απαντήστε σε αυτά τα τρία και το πλήθος των προσαρμογέων θα ακολουθήσει.
Οι τρεις συνθήκες που το κρίνουν
Η πρώτη συνθήκη είναι ο προορισμός. Μια υπηρεσία στον ίδιο τον κεντρικό υπολογιστή VPN προσεγγίζεται μόνο μέσω της διεπαφής σήραγγας, ενώ ένας κεντρικός υπολογιστής στο LAN απαιτεί προώθηση και διαδρομή επιστροφής. Η δεύτερη συνθήκη είναι αυτή η διαδρομή επιστροφής, γιατί η συσκευή του LAN πρέπει να ξέρει πώς να φτάσει στη δεξαμενή πελατών, είτε με διαδρομή είτε με μετάφραση στον διακομιστή.
Η τρίτη συνθήκη είναι ο διαχωρισμός. Ένας προσαρμογέας σημαίνει ότι κάθε πακέτο, κρυπτογραφημένο ή όχι, μοιράζεται ένα κανάλι και συνήθως μια αλυσίδα πολιτικών, οπότε ένας ισχυρισμός απομόνωσης που βασίζεται σε ξεχωριστό υλικό δεν ικανοποιείται από μία διεπαφή. Αυτό είναι γεγονός για τη διαδρομή, όχι για το πώς έχει ρυθμιστεί το λειτουργικό σύστημα. Μπορείτε ακόμη να φιλτράρετε την κίνηση της σήραγγας, αλλά δεν μπορείτε να επικαλεστείτε ένα όριο που δεν έχετε.
Καμία από τις τρεις δεν αφορά το πλήθος των θυρών στο πλαίσιο. Αφορούν τη δρομολόγηση, την κυριότητα διευθύνσεων και το πόσο εξαρτάται η σχεδίαση από τον φυσικό διαχωρισμό.
Δύο προσαρμογείς παραμένουν νόμιμη επιλογή όταν φυσικές ζώνες, ξεχωριστά uplink, ρυθμαπόδοση ή διαδρομή ανάκτησης εκτός ζώνης το δικαιολογούν. Αυτές είναι συγκεκριμένες απαιτήσεις και αξίζει να διατυπωθούν πριν παραγγείλει κανείς υλικό.
Όταν η υπηρεσία τρέχει στον κεντρικό υπολογιστή VPN
Η απλούστερη περίπτωση δεν χρειάζεται καθόλου προώθηση. Ο δαίμονας λαμβάνει τα πακέτα του πελάτη στη διεπαφή σήραγγας και τα παραδίδει σε τοπικό socket, και η απάντηση επιστρέφει από την ίδια διεπαφή. Η διεύθυνση της δεξαμενής πελατών είναι πραγματική τοπική διεύθυνση από την πλευρά του κεντρικού υπολογιστή.
Δύο πράγματα πρέπει πάντως να είναι σωστά: η υπηρεσία πρέπει να ακούει σε διεύθυνση που η σήραγγα μπορεί να φτάσει, και το τείχος προστασίας του κεντρικού υπολογιστή πρέπει να δέχεται κίνηση που φτάνει στη διεπαφή σήραγγας. Και τα δύο φαίνονται στις εντολές παρακάτω.
ss -lntup | grep -E "5432|8080"
ip -brief addr show
ip route get 10.8.0.6 from 10.8.0.1Το να δεσμεύσετε μια υπηρεσία μόνο στη δημόσια διεύθυνση, ή να φιλτράρετε κατά λάθος τη διεπαφή σήραγγας, παράγει σύνδεση που φτάνει στον κεντρικό υπολογιστή και μετά πεθαίνει. Αυτό μοιάζει με βλάβη VPN και συνήθως είναι απόφαση socket ή τείχους προστασίας.
Όταν ο προορισμός βρίσκεται στο LAN
Εδώ η σχεδίαση ενός προσαρμογέα κερδίζει τη φήμη της δύσκολης. Ο διακομιστής πρέπει να προωθεί τα πακέτα του πελάτη προς το LAN, και η συσκευή του LAN πρέπει να στέλνει απαντήσεις πίσω στη δεξαμενή πελατών. Είτε μεταφέρετε αυτή τη δεξαμενή ως διαδρομή στο LAN, είτε μεταφράζετε τη διεύθυνση προέλευσης στον διακομιστή ώστε οι απαντήσεις να επιστρέφουν στον ίδιο τον διακομιστή.
Και οι δύο απαντήσεις είναι νόμιμες και αποτυγχάνουν διαφορετικά. Μια διαδρομή επιστροφής κρατά την αρχική διεύθυνση του πελάτη ορατή στον προορισμό, κάτι καλό για τα αρχεία καταγραφής και κακό για κανόνες τείχους προστασίας που υποθέτουν διευθύνσεις LAN. Η μετάφραση κρατά το LAN απλό και κρύβει την ταυτότητα του πελάτη από τον προορισμό.
sysctl net.ipv4.ip_forward
nft list ruleset | grep -A4 'chain forward'
ip route show table main | grep 10.8.0Μια ασύμμετρη διαδρομή είναι το κλασικό σύμπτωμα: το αίτημα του πελάτη φτάνει, η απάντηση φεύγει από άλλο δρομολογητή και η σύνδεση λήγει χωρίς σφάλμα σε κανένα άκρο. Καταγράψτε και στις δύο πλευρές πριν συμπεράνετε οτιδήποτε για τη σήραγγα.
Γιατί ένα alias δεν δημιουργεί δεύτερη ζώνη
Η προσθήκη δεύτερης διεύθυνσης στον ίδιο προσαρμογέα, ή η δημιουργία εικονικής διεπαφής για να μιμηθεί δεύτερη θύρα, αλλάζει ελάχιστα. Τα πακέτα εξακολουθούν να βγαίνουν από το ίδιο φυσικό κανάλι, την ίδια θύρα μεταγωγέα και συνήθως την ίδια αλυσίδα τείχους προστασίας, άρα δεν υπάρχει νέο όριο μεταξύ τους. Είναι ευκολία ρύθμισης, όχι κατάτμηση. Το να το αντιμετωπίζετε ως όριο ζώνης είναι ο τρόπος με τον οποίο ένας ισχυρισμός απομόνωσης επιβιώνει μόνο στα χαρτιά.
Μια ξεχωριστή ζώνη χρειάζεται πραγματικό διαχωρισμό στη διαδρομή, και αυτή είναι η απαίτηση που ικανοποιεί ένας δεύτερος προσαρμογέας. Αν ένας κανόνας εξαρτάται από το να μη μοιράζεται ποτέ η κίνηση προς το VPN ένα πεδίο εκπομπής με την κίνηση προς το LAN, ένα καλώδιο δεν μπορεί να δώσει αυτή την ιδιότητα, όποια διεύθυνση κι αν έχει ο κεντρικός υπολογιστής.
Όπου ένα προϊόν τεκμηριώνει τοπολογία πολλαπλών διεπαφών για συγκεκριμένη λειτουργία, ακολουθήστε την τεκμηρίωση εκείνου του προϊόντος αντί να επινοήσετε λύση. Οι κατασκευαστές αλλάζουν επίσης τις υποστηριζόμενες τοπολογίες μεταξύ εκδόσεων, ένας ακόμη λόγος να διαβάζετε τον τρέχοντα οδηγό και όχι ένα παλιό στιγμιότυπο οδηγού.
Ελέγξτε τη διάταξη ως προς την κίνηση που επιτρέπετε
Καταγράψτε τις κλάσεις κίνησης που αναμένεται να μεταφέρει ο διακομιστής: πελάτης προς κεντρικό υπολογιστή, πελάτης προς LAN, κεντρικός υπολογιστής προς LAN και η κρυπτογραφημένη εξωτερική σύνδεση. Κάθε κλάση έχει πηγή, προορισμό και διεπαφή, και η διάταξη πρέπει να ικανοποιεί και τις τέσσερις ταυτόχρονα. Μια σχεδίαση που καλύπτει τις τρεις είναι συνήθως αυτή που παράγει δελτία.
Στη συνέχεια επιβεβαιώστε τις πραγματικές διεπαφές και την πραγματική καταγραφή, όχι το διάγραμμα στο έγγραφο σχεδίασης. Οι εντολές παρακάτω εκτυπώνουν και τις δύο όψεις.
ip -brief addr
ip route
tcpdump -ni any udp port 51820 -c 5
tcpdump -ni tun0 -c 5Αν η εξωτερική καταγραφή δείχνει την κρυπτογραφημένη κίνηση και η εσωτερική καταγραφή δείχνει την αποκρυπτογραφημένη κίνηση στη διεπαφή σήραγγας ενώ ο φυσικός προσαρμογέας μεταφέρει και τις δύο, ένα NIC κάνει τη δουλειά. Αν η εσωτερική καταγραφή είναι κενή, το πρόβλημα είναι στη σήραγγα ή στους κανόνες προώθησης, όχι στο πλήθος των προσαρμογέων. Αποφασίστε την τοπολογία από αυτές τις δύο καταγραφές και τον πίνακα δρομολόγησης, και η επόμενη αλλαγή θα έχει κάτι να μετρηθεί απέναντί του.