Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Συνεχίζοντας την ιστορία για το ZeroTier, από τη θεωρία που περιγράφεται στο άρθρο "Έξυπνος διακόπτης Ethernet για τον πλανήτη Γη», προχωρώ στην πρακτική στην οποία:

  • Ας δημιουργήσουμε και διαμορφώσουμε έναν ιδιωτικό ελεγκτή δικτύου
  • Ας δημιουργήσουμε ένα εικονικό δίκτυο
  • Ας διαμορφώσουμε και ας συνδέσουμε κόμβους σε αυτό
  • Ας ελέγξουμε τη συνδεσιμότητα δικτύου μεταξύ τους
  • Ας αποκλείσουμε την πρόσβαση στο GUI του ελεγκτή δικτύου από έξω

Сетевой контролер

Όπως αναφέρθηκε προηγουμένως, για τη δημιουργία εικονικών δικτύων, τη διαχείριση τους, καθώς και τη σύνδεση κόμβων, ο χρήστης χρειάζεται έναν ελεγκτή δικτύου, μια γραφική διεπαφή (GUI) για την οποία υπάρχει σε δύο μορφές:

Επιλογές γραφικού περιβάλλοντος ZeroTier

  • Ένα από τον προγραμματιστή ZeroTier, διαθέσιμο ως δημόσια λύση cloud SaaS με τέσσερα προγράμματα συνδρομής, συμπεριλαμβανομένων δωρεάν, αλλά περιορισμένου αριθμού διαχειριζόμενων συσκευών και επιπέδου υποστήριξης
  • Η δεύτερη προέρχεται από έναν ανεξάρτητο προγραμματιστή, κάπως απλοποιημένη σε λειτουργικότητα, αλλά διαθέσιμη ως ιδιωτική λύση ανοιχτού κώδικα για χρήση on-premise ή σε πόρους cloud.

Στην πρακτική μου, χρησιμοποίησα και τα δύο με αποτέλεσμα τελικά να καταλήξω στο δεύτερο. Ο λόγος για αυτό ήταν οι προειδοποιήσεις του προγραμματιστή.

«Οι ελεγκτές δικτύου χρησιμεύουν ως αρχές πιστοποίησης για τα εικονικά δίκτυα ZeroTier. Τα αρχεία που περιέχουν μυστικά κλειδιά ελεγκτή πρέπει να φυλάσσονται προσεκτικά και να αρχειοθετούνται με ασφάλεια. Ο συμβιβασμός τους επιτρέπει σε μη εξουσιοδοτημένους εισβολείς να δημιουργήσουν δόλιες διαμορφώσεις δικτύου και η απώλειά τους οδηγεί στην απώλεια της ικανότητας ελέγχου και διαχείρισης του δικτύου, καθιστώντας το ουσιαστικά άχρηστο."

Σύνδεσμος με την τεκμηρίωση

Και επίσης, σημάδια της δικής σας παράνοιας κυβερνοασφάλειας :) 

  • Ακόμα κι αν έρθει το Cheburnet, πρέπει να έχω πρόσβαση στον ελεγκτή δικτύου μου.
  • Μόνο εγώ πρέπει να χρησιμοποιήσω τον ελεγκτή δικτύου. Εάν είναι απαραίτητο, παρέχοντας πρόσβαση στους εξουσιοδοτημένους αντιπροσώπους σας·
  • Θα πρέπει να είναι δυνατός ο περιορισμός της πρόσβασης στον ελεγκτή δικτύου από το εξωτερικό.

Σε αυτό το άρθρο, δεν βλέπω πολύ νόημα να ασχοληθώ ξεχωριστά με τον τρόπο ανάπτυξης ενός ελεγκτή δικτύου και του GUI για αυτόν σε φυσικούς ή εικονικούς πόρους εσωτερικής εγκατάστασης. Και υπάρχουν επίσης 3 λόγοι για αυτό: 

  • θα υπάρξουν περισσότερες επιστολές από τις προγραμματισμένες
  • για αυτό ήδη είπε στον προγραμματιστή GUI GitHab
  • το θέμα του άρθρου αφορά κάτι άλλο

Επομένως, επιλέγοντας το μονοπάτι της ελάχιστης αντίστασης, θα χρησιμοποιήσω σε αυτήν την ιστορία έναν ελεγκτή δικτύου με GUI βασισμένο σε VDS, που δημιουργήθηκε από από το πρότυπο, που αναπτύχθηκε ευγενικά από τους συναδέλφους μου από το RuVDS.

Αρχική εγκατάσταση

Μετά τη δημιουργία ενός διακομιστή από το καθορισμένο πρότυπο, ο χρήστης αποκτά πρόσβαση στον ελεγκτή Web-GUI μέσω ενός προγράμματος περιήγησης με πρόσβαση στο https:// :3443

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Από προεπιλογή, ο διακομιστής περιέχει ήδη ένα προ-δημιουργημένο αυτο-υπογεγραμμένο πιστοποιητικό TLS/SSL. Αυτό είναι αρκετό για μένα, αφού εμποδίζω την πρόσβαση σε αυτό από έξω. Για όσους επιθυμούν να χρησιμοποιήσουν άλλους τύπους πιστοποιητικών, υπάρχει Οδηγίες Εγκατάστασης στον προγραμματιστή GUI GitHab.

Όταν ο χρήστης συνδεθεί για πρώτη φορά Είσοδος με προεπιλεγμένη σύνδεση και κωδικό πρόσβασης - διαχειριστής и κωδικό πρόσβασης:

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Προτείνει την αλλαγή του προεπιλεγμένου κωδικού πρόσβασης σε έναν προσαρμοσμένο

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Το κάνω λίγο διαφορετικά - δεν αλλάζω τον κωδικό πρόσβασης ενός υπάρχοντος χρήστη, αλλά δημιουργώ έναν νέο - Δημιουργία χρήστη.

Ορίζω το όνομα του νέου χρήστη - Επωνυμία Φαρμακείου:
Έβαλα νέο κωδικό πρόσβασης - Εισάγετε νέο κωδικό
Επιβεβαιώνω τον νέο κωδικό πρόσβασης - Εισαγάγετε ξανά τον κωδικό πρόσβασης:

Οι χαρακτήρες που εισάγετε είναι διάκριση πεζών-κεφαλαίων - προσοχή!

Πλαίσιο ελέγχου για επιβεβαίωση αλλαγής κωδικού πρόσβασης κατά την επόμενη σύνδεση - Αλλαγή κωδικού πρόσβασης στην επόμενη είσοδο: Δεν γιορτάζω. 

Για να επιβεβαιώσετε τα δεδομένα που έχετε εισάγει, πατήστε Ορίστε κωδικό:

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Τότε: Επανασυνδέομαι - Αποσύνδεση / Είσοδος, ήδη υπό τα διαπιστευτήρια του νέου χρήστη:

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Στη συνέχεια, πηγαίνω στην καρτέλα χρήστες - Χρήστες και διαγράψτε τον χρήστη διαχειριστήςκάνοντας κλικ στο εικονίδιο του κάδου απορριμμάτων που βρίσκεται στα αριστερά του ονόματός του.

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Στο μέλλον, μπορείτε να αλλάξετε τον κωδικό πρόσβασης του χρήστη κάνοντας κλικ είτε στο όνομά του είτε στον καθορισμένο κωδικό πρόσβασης.

Δημιουργία εικονικού δικτύου

Για να δημιουργήσετε ένα εικονικό δίκτυο, ο χρήστης πρέπει να μεταβεί στην καρτέλα Προσθήκη δικτύου. Από σημείο Χρήστες αυτό μπορεί να γίνει μέσω της σελίδας Αρχική — την κύρια σελίδα του Web-GUI, η οποία εμφανίζει τη διεύθυνση ZeroTier αυτού του ελεγκτή δικτύου και περιέχει έναν σύνδεσμο προς τη σελίδα για τη λίστα των δικτύων που δημιουργούνται μέσω αυτού.

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Στη σελίδα Προσθήκη δικτύου ο χρήστης εκχωρεί ένα όνομα στο δίκτυο που δημιουργήθηκε πρόσφατα.

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Κατά την εφαρμογή των δεδομένων εισόδου − Δημιουργία δικτύου ο χρήστης μεταφέρεται σε μια σελίδα με μια λίστα δικτύων, η οποία περιέχει: 

Ονομα δικτύου — το όνομα του δικτύου σε μορφή συνδέσμου, όταν κάνετε κλικ σε αυτό μπορείτε να το αλλάξετε 
Αναγνωριστικό δικτύου — αναγνωριστικό δικτύου
λεπτομέρεια — σύνδεσμος σε σελίδα με λεπτομερείς παραμέτρους δικτύου
εύκολη εγκατάσταση — σύνδεσμος προς τη σελίδα για εύκολη ρύθμιση
μέλη — σύνδεσμος προς τη σελίδα διαχείρισης κόμβου

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Για περαιτέρω ρυθμίσεις ακολουθήστε τον σύνδεσμο εύκολη εγκατάσταση. Στη σελίδα που ανοίγει, ο χρήστης καθορίζει μια σειρά από διευθύνσεις IPv4 για το δίκτυο που δημιουργείται. Αυτό μπορεί να γίνει αυτόματα πατώντας ένα κουμπί Δημιουργία διεύθυνσης δικτύου ή χειροκίνητα εισάγοντας τη μάσκα δικτύου στο κατάλληλο πεδίο CIDR.

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Όταν επιβεβαιώσετε την επιτυχή εισαγωγή δεδομένων, πρέπει να επιστρέψετε στη σελίδα με τη λίστα των δικτύων χρησιμοποιώντας το κουμπί Πίσω. Σε αυτό το σημείο, η βασική εγκατάσταση δικτύου μπορεί να θεωρηθεί ολοκληρωμένη.

Σύνδεση κόμβων δικτύου

  1. Αρχικά, η υπηρεσία ZeroTier One πρέπει να εγκατασταθεί στον κόμβο που ο χρήστης θέλει να συνδεθεί στο δίκτυο.

    Τι είναι το ZeroTier One;ZeroTier One είναι μια υπηρεσία που εκτελείται σε φορητούς υπολογιστές, επιτραπέζιους υπολογιστές, διακομιστές, εικονικές μηχανές και κοντέινερ που παρέχει συνδέσεις σε ένα εικονικό δίκτυο μέσω μιας θύρας εικονικού δικτύου, παρόμοια με έναν πελάτη VPN. 

    Μόλις εγκατασταθεί και ξεκινήσει η υπηρεσία, μπορείτε να συνδεθείτε σε εικονικά δίκτυα χρησιμοποιώντας τις 16-ψήφιες διευθύνσεις τους. Κάθε δίκτυο εμφανίζεται ως μια εικονική θύρα δικτύου στο σύστημα, η οποία συμπεριφέρεται ακριβώς όπως μια κανονική θύρα Ethernet.
    Μπορούν να βρεθούν σύνδεσμοι προς διανομές, καθώς και εντολές εγκατάστασης στη σελίδα του κατασκευαστή.

    Μπορείτε να διαχειριστείτε την εγκατεστημένη υπηρεσία μέσω ενός τερματικού γραμμής εντολών (CLI) με δικαιώματα διαχειριστή/ρίζας. Σε Windows/MacOS χρησιμοποιώντας επίσης γραφική διεπαφή. Σε Android/iOS μόνο με χρήση GUI.

  2. Έλεγχος της επιτυχίας της εγκατάστασης της υπηρεσίας:

    CLI:

    zerotier-cli status

    Το αποτέλεσμα: 

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Το ίδιο το γεγονός ότι η εφαρμογή εκτελείται και η παρουσία σε αυτήν μιας γραμμής με αναγνωριστικό κόμβου με τη διεύθυνση κόμβου.

  3. Σύνδεση κόμβου στο δίκτυο:

    CLI:

    zerotier-cli join <Network ID>

    Το αποτέλεσμα: 

    200 join OK

    GUI:

    Windows: κάντε δεξί κλικ στο εικονίδιο ZeroTier One στο δίσκο συστήματος και επιλέγοντας το στοιχείο - Εγγραφείτε στο Δίκτυο.

    Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
    MacOS: Εκκινήστε την εφαρμογή ZeroTier One στο μενού της γραμμής, εάν δεν έχει ήδη ξεκινήσει. Κάντε κλικ στο εικονίδιο ⏁ και επιλέξτε Εγγραφείτε στο Δίκτυο.

    Android/iOS: + (συν εικόνα) στην εφαρμογή

    Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
    Στο πεδίο που εμφανίζεται, εισαγάγετε τον ελεγκτή δικτύου που καθορίζεται στο GUI Αναγνωριστικό δικτύουκαι πατήστε Εγγραφή/Προσθήκη δικτύου.

  4. Εκχώρηση διεύθυνσης IP σε έναν κεντρικό υπολογιστή
    Τώρα επιστρέφουμε στον ελεγκτή δικτύου και στη σελίδα με μια λίστα δικτύων ακολουθήστε τον σύνδεσμο μέλη. Εάν δείτε μια εικόνα παρόμοια με αυτήν στην οθόνη, σημαίνει ότι ο ελεγκτής του δικτύου σας έχει λάβει αίτημα επιβεβαίωσης της σύνδεσης στο δίκτυο από τον συνδεδεμένο κόμβο.

    Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
    Σε αυτή τη σελίδα αφήνουμε τα πάντα όπως είναι προς το παρόν και ακολουθούμε τον σύνδεσμο Εκχώρηση IP μεταβείτε στη σελίδα για την εκχώρηση διεύθυνσης IP στον κόμβο:

    Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
    Αφού ορίσετε τη διεύθυνση, κάντε κλικ στο κουμπί Πίσω επιστρέψτε στη σελίδα της λίστας των συνδεδεμένων κόμβων και ορίστε το όνομα - Ονομα μέλους και επιλέξτε το πλαίσιο ελέγχου για να εξουσιοδοτήσετε τον κόμβο στο δίκτυο - Εξουσιοδοτημένο. Παρεμπιπτόντως, αυτό το πλαίσιο ελέγχου είναι ένα πολύ βολικό πράγμα για την αποσύνδεση/σύνδεση από το κεντρικό δίκτυο στο μέλλον.

    Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
    Αποθηκεύστε τις αλλαγές χρησιμοποιώντας το κουμπί Φρεσκάρω.

  5. Έλεγχος της κατάστασης σύνδεσης του κόμβου στο δίκτυο:
    Για να ελέγξετε την κατάσταση σύνδεσης στον ίδιο τον κόμβο, εκτελέστε:
    CLI:

    zerotier-cli listnetworks

    Το αποτέλεσμα:

    200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    Η κατάσταση δικτύου πρέπει να είναι εντάξει

    Για να συνδέσετε τους υπόλοιπους κόμβους, επαναλάβετε τις λειτουργίες 1-5 για καθέναν από αυτούς.

Έλεγχος συνδεσιμότητας κόμβων δικτύου

Αυτό το κάνω εκτελώντας την εντολή ping στη συσκευή που είναι συνδεδεμένη στο δίκτυο που διαχειρίζομαι αυτήν τη στιγμή.

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο
Στο στιγμιότυπο οθόνης του ελεγκτή Web-GUI μπορείτε να δείτε τρεις κόμβους συνδεδεμένους στο δίκτυο:

  1. ZTNCUI - 10.10.10.1 - Ο ελεγκτής δικτύου μου με GUI - VDS σε ένα από τα RuVDS DC. Για κανονική εργασία δεν χρειάζεται να το προσθέσω στο δίκτυο, αλλά το έκανα επειδή θέλω να αποκλείσω την πρόσβαση στη διεπαφή ιστού από έξω. Περισσότερα για αυτό αργότερα. 
  2. MyComp - 10.10.10.2 - Ο υπολογιστής της εργασίας μου είναι φυσικός υπολογιστής
  3. Δημιουργία αντιγράφων ασφαλείας - 10.10.10.3 — VDS σε άλλο DC.

Επομένως, από τον υπολογιστή εργασίας μου ελέγχω τη διαθεσιμότητα άλλων κόμβων με τις εντολές:

ping 10.10.10.1

Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64

Ping statistics for 10.10.10.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 14ms, Average = 6ms

ping 10.10.10.3

Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64

Ping statistics for 10.10.10.3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 15ms, Average = 7ms

Ο χρήστης έχει το δικαίωμα να χρησιμοποιεί άλλα εργαλεία για τον έλεγχο της διαθεσιμότητας κόμβων στο δίκτυο, τόσο ενσωματωμένοι στο λειτουργικό σύστημα όσο και όπως NMAP, Advanced IP Scanner κ.λπ.

Αποκρύπτουμε την πρόσβαση στο GUI του ελεγκτή δικτύου από έξω.

Γενικά, μπορώ να μειώσω την πιθανότητα μη εξουσιοδοτημένης πρόσβασης στο VDS στο οποίο βρίσκεται ο ελεγκτής δικτύου μου χρησιμοποιώντας ένα τείχος προστασίας στον προσωπικό μου λογαριασμό RuVDS. Αυτό το θέμα είναι πιο πιθανό για ένα ξεχωριστό άρθρο. Επομένως, εδώ θα δείξω πώς να παρέχετε πρόσβαση στον ελεγκτή GUI μόνο από το δίκτυο που δημιούργησα σε αυτό το άρθρο.

Για να το κάνετε αυτό, πρέπει να συνδεθείτε μέσω SSH στο VDS στο οποίο βρίσκεται ο ελεγκτής και να ανοίξετε το αρχείο διαμόρφωσης χρησιμοποιώντας την εντολή:

nano /opt/key-networks/ztncui/.env

Στο ανοιχτό αρχείο, μετά τη γραμμή “HTTPS_PORT=3443” που περιέχει τη διεύθυνση της θύρας στην οποία ανοίγει το GUI, πρέπει να προσθέσετε μια επιπλέον γραμμή με τη διεύθυνση στην οποία θα ανοίξει το GUI - στην περίπτωσή μου είναι HTTPS_HOST=10.10.10.1 .XNUMX. 

Στη συνέχεια θα αποθηκεύσω το αρχείο

Сtrl+C
Y
Enter 

και εκτελέστε την εντολή:

systemctl restart ztncui

Και αυτό είναι όλο, τώρα το GUI του ελεγκτή δικτύου μου είναι διαθέσιμο μόνο για τους κόμβους δικτύου 10.10.10.0.24.

Αντί για ένα συμπέρασμα 

Εδώ θέλω να ολοκληρώσω το πρώτο μέρος του πρακτικού οδηγού για τη δημιουργία εικονικών δικτύων με βάση το ZeroTier. Ανυπομονώ για τα σχόλιά σας. 

Εν τω μεταξύ, για να περάσει η ώρα μέχρι τη δημοσίευση του επόμενου μέρους, στο οποίο θα σας πω πώς να συνδυάσετε ένα εικονικό δίκτυο με ένα φυσικό, πώς να οργανώσετε μια λειτουργία «road warrior» και κάτι άλλο, σας προτείνω να δοκιμάσετε οργανώνοντας το δικό σας εικονικό δίκτυο χρησιμοποιώντας έναν ιδιωτικό ελεγκτή δικτύου με GUI που βασίζεται σε VDS από την αγορά Σε απευθείας σύνδεση RUVDS. Επιπλέον, όλοι οι νέοι πελάτες έχουν δωρεάν δοκιμαστική περίοδο 3 ημερών!

PS Ναί! Παραλιγο να το ξεχασω! Μπορείτε να αφαιρέσετε έναν κόμβο από το δίκτυο χρησιμοποιώντας μια εντολή στο CLI αυτού του κόμβου.

zerotier-cli leave <Network ID>

200 leave OK

ή την εντολή Delete στο GUI του πελάτη στον κόμβο.

-> Εισαγωγή. Θεωρητικό μέρος. Έξυπνος διακόπτης Ethernet για τον πλανήτη Γη
-> Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1
-> Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 2

Με την υποστήριξη του ZeroTier. Ένας πρακτικός οδηγός για τη δημιουργία εικονικών δικτύων. Μέρος 1ο

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο