Network Namespace
Βασικές Πληροφορίες
Ένα namespace δικτύου είναι μια δυνατότητα του πυρήνα του Linux που παρέχει απομόνωση του δικτύου, επιτρέποντας σε κάθε namespace δικτύου να έχει τη δική του ανεξάρτητη διαμόρφωση δικτύου, διεπαφές, διευθύνσεις IP, πίνακες δρομολόγησης και κανόνες της προστασίας της πρόσβασης. Αυτή η απομόνωση είναι χρήσιμη σε διάφορα σενάρια, όπως η ενσωμάτωση σε εμπορευματοκιβώτια, όπου κάθε εμπορευματοκιβώτιο θα πρέπει να έχει τη δική του διαμόρφωση δικτύου, ανεξάρτητα από άλλα εμπορευματοκιβώτια και το σύστημα του κεντρικού υπολογιστή.
Πώς λειτουργεί:
Όταν δημιουργείται ένα νέο namespace δικτύου, ξεκινά με ένα πλήρως απομονωμένο στοίβα δικτύου, χωρίς διεπαφές δικτύου εκτός από τη διεπαφή loopback (lo). Αυτό σημαίνει ότι οι διεργασίες που εκτελούνται στο νέο namespace δικτύου δεν μπορούν να επικοινωνήσουν με διεργασίες σε άλλα namespaces ή το σύστημα του κεντρικού υπολογιστή από προεπιλογή.
Μπορούν να δημιουργηθούν και να μετακινηθούν εικονικές διεπαφές δικτύου, όπως ζευγάρια veth, μεταξύ των namespaces δικτύου. Αυτό επιτρέπει τη δημιουργία συνδεσιμότητας δικτύου μεταξύ των namespaces ή μεταξύ ενός namespace και του συστήματος του κεντρικού υπολογιστή. Για παράδειγμα, ένα άκρο ενός ζευγαριού veth μπορεί να τοποθετηθεί στο namespace δικτύου ενός εμπορευματοκιβωτίου, και το άλλο άκρο μπορεί να συνδεθεί με ένα γέφυρα ή μια άλλη διεπαφή δικτύου στο namespace του κεντρικού υπολογιστή, παρέχοντας συνδεσιμότητα δικτύου στο εμπορευματοκιβώτιο.
Οι διεπαφές δικτύου εντός ενός namespace μπορούν να έχουν τις δικές τους διευθύνσεις IP, πίνακες δρομολόγησης και κανόνες προστασίας, ανεξάρτητα από άλλα namespaces. Αυτό επιτρέπει σε διεργασίες σε διάφορα namespaces να έχουν διαφορετικές διαμορφώσεις δικτύου και να λειτουργούν σαν να εκτελούνται σε ξεχωριστά δικτυωμένα συστήματα.
Οι διεργασίες μπορούν να μετακινηθούν μεταξύ των namespaces χρησιμοποιώντας την κλήση συστήματος
setns()
, ή να δημιουργήσουν νέα namespaces χρησιμοποιώντας τις κλήσεις συστήματοςunshare()
ήclone()
με τη σημαίαCLONE_NEWNET
. Όταν μια διεργασία μετακινείται σε ένα νέο namespace ή δημιουργεί ένα νέο, θα αρχίσει να χρησιμοποιεί τη διαμόρφωση δικτύου και τις διεπαφές που σχετίζονται με αυτό το namespace.
Εργαστήριο:
Δημιουργία διαφορετικών Namespaces
Εντολική γραμμή
Με την προσάρτηση μιας νέας περίπτωσης του συστήματος αρχείων /proc
χρησιμοποιώντας την παράμετρο --mount-proc
, εξασφαλίζετε ότι ο νέος χώρος ονομάτων περιέχει μια ακριβή και απομονωμένη προβολή των πληροφοριών διεργασιών που είναι συγκεκριμένες για αυτόν τον χώρο ονομάτων.
Last updated