Οδηγός υπερφόρτωσης μετάφρασης διευθύνσεων δικτύου (NAT).
Για τις δύο πρώτες δεκαετίες του Διαδικτύου, οι υπολογιστές σε ένα ιδιωτικό δίκτυο συνδέθηκαν στο Διαδίκτυο εκχωρώντας σε καθένα από αυτούς μια μοναδική δημόσια διεύθυνση IP και στη συνέχεια λέγοντας σε κάθε υπολογιστή στο ιδιωτικό δίκτυο την προεπιλεγμένη διεύθυνση IP της πύλης. Όλες οι διευθύνσεις IP που χρησιμοποιήθηκαν σε αυτήν τη ρύθμιση ήταν δημόσιες διευθύνσεις IP. Αυτή η κλασική ρύθμιση έχει τουλάχιστον δύο μεγάλα προβλήματα:
- Ευπάθεια ασφαλείας:Δεδομένου ότι οι διευθύνσεις IP είναι δημόσιες, ο καθένας μπορεί εύκολα να αποκτήσει πρόσβαση στο λεγόμενο ιδιωτικό δίκτυο.
- Εξάντληση διεύθυνσης IP:Καθώς το Διαδίκτυο μεγάλωνε και γινόταν πιο γρήγορα από ό,τι μπορούσε να φανταστεί κανείς, οι διευθύνσεις IP εξαντλούνταν πολύ γρήγορα.
Για να λυθούν αυτά τα προβλήματα, εισήχθη μια τεχνική γνωστή ως Μετάφραση Διευθύνσεων Δικτύου (NAT) μεταξύ άλλων. Η μετάφραση διευθύνσεων δικτύου επιτρέπει στους κεντρικούς υπολογιστές σε ένα τοπικό δίκτυο (LAN) να επικοινωνούν απρόσκοπτα με κεντρικούς υπολογιστές σε ένα εξωτερικό δίκτυο και αντίστροφα. Επιτρέπει τη χαρτογράφηση των διευθύνσεων IP από το ένα πεδίο διευθύνσεων στο άλλο. Με το NAT, πολλές ιδιωτικές συσκευές δικτύου μπορούν να μοιράζονται μια ενιαία δημόσια διεύθυνση IPv4 για να επικοινωνούν με άλλες συσκευές στο δημόσιο δίκτυο.

Η ανάγκη για μετάφραση διευθύνσεων IP προκύπτει όταν οι εσωτερικές ιδιωτικές διευθύνσεις IP ενός δικτύου δεν μπορούν να χρησιμοποιηθούν εκτός δικτύου, κυρίως επειδή έχουν εκχωρηθεί για ιδιωτική χρήση και επομένως ακατάλληλες για εξωτερική επικοινωνία. Ο πρωταρχικός στόχος για το NAT όπως η δρομολόγηση μεταξύ τομέων χωρίς κλάση (CIDR) και η μάσκα υποδικτύου μεταβλητού μήκους (VLSM) ήταν να επιβραδύνει την εξάντληση του διαθέσιμου χώρου διευθύνσεων IP επιτρέποντας σε πολλές ιδιωτικές διευθύνσεις IP να αντιπροσωπεύονται από μικρότερο αριθμό δημόσιων διευθύνσεων IP. . Το NAT είναι επίσης πολύ χρήσιμο σε περιπτώσεις όπου ένας οργανισμός αλλάζει σε έναν νέο πάροχο υπηρεσιών Διαδικτύου (ISP) και εξακολουθεί να θέλει να διατηρήσει το εσωτερικό του σχήμα διευθύνσεων ή όταν συγχωνεύονται δύο εταιρείες που έχουν ίδια σχήματα εσωτερικών διευθύνσεων. Ο παρακάτω πίνακας επισημαίνει τα πλεονεκτήματα και τα μειονεκτήματα της χρήσης NAT.
Πλεονεκτήματα | Μειονεκτήματα |
Διατηρεί τις δημόσιες διευθύνσεις IP IPv4 | Η μετάφραση διευθύνσεων IP εισάγει καθυστερήσεις στις διαδρομές εναλλαγής |
Αυξάνει την ευελιξία κατά τη σύνδεση στο διαδίκτυο | Ορισμένες εφαρμογές δεν θα λειτουργούν με NAT ενεργοποιημένο |
Καταργεί την επαναρίθμηση διευθύνσεων ως αλλάζει δίκτυο και μειώνει την εμφάνιση επικάλυψης διευθύνσεων | Απώλεια ιχνηλασιμότητας IP από άκρο σε άκρο |
Βελτιώνει την ασφάλεια και βοηθά στη διατήρηση του απορρήτου του LAN | Υπονομεύει την αρχή από άκρο σε άκρο του σχεδιασμού του Διαδικτύου και ως εκ τούτου δημιουργεί πρόβλημα για διαδικτυακές εφαρμογές που έχουν σχεδιαστεί με βάση την αρχή αυτή. |
Τύποι υλοποίησης ΝΑΤ
Το NAT μπορεί να εφαρμοστεί με τέσσερις διαφορετικούς τρόπους:
Στατικό ΝΑΤ : Αυτός ο τύπος υλοποίησης NAT έχει σχεδιαστεί για να επιτρέπει την αντιστοίχιση ενός προς έναν εσωτερικών ιδιωτικών διευθύνσεων IP σε εξωτερικές δημόσιες διευθύνσεις IP. Με άλλα λόγια, κατά τη διέλευση από έναν δρομολογητή, η εσωτερική διεύθυνση IP του υπολογιστή αλλάζει από 192.168.4.2 σε 197.210.84.100 και αντίστροφα. Ωστόσο, έχετε κατά νου ότι το στατικό NAT απαιτεί να έχετε μία δημόσια διεύθυνση IP για κάθε κεντρικό υπολογιστή στο δίκτυό σας.

Δυναμικό NAT : Αυτός ο τύπος υλοποίησης NAT έχει σχεδιαστεί για να αντιστοιχίσει μια εσωτερική ιδιωτική διεύθυνση IP σε μια εξωτερική δημόσια διεύθυνση IP από μια ομάδα δημόσιων διευθύνσεων IP. Δεν χρειάζεται να διαμορφώσετε στατικά τον δρομολογητή σας για να αντιστοιχίσει μια εσωτερική διεύθυνση σε μια εξωτερική διεύθυνση όπως θα κάνατε, χρησιμοποιώντας στατικό NAT. Ωστόσο, το δυναμικό NAT απαιτεί να έχετε αρκετές δημόσιες διευθύνσεις IP για κάθε κεντρικό υπολογιστή που θέλει να επικοινωνήσει με τον έξω κόσμο. Διαφορετικά, ο αριθμός των κεντρικών υπολογιστών που μπορούν να επικοινωνούν ταυτόχρονα με τον έξω κόσμο θα περιοριστεί από τον αριθμό των διαθέσιμων δημόσιων διευθύνσεων IP.

Port Forwarding : Η προώθηση θύρας είναι μια υλοποίηση του NAT που προωθεί ένα αίτημα επικοινωνίας από έναν συνδυασμό διεύθυνσης και αριθμού θύρας σε έναν άλλο ενώ τα πακέτα διασχίζουν μια πύλη δικτύου, όπως ένας δρομολογητής ή ένα τείχος προστασίας. Αυτή η τεχνική χρησιμοποιείται πιο συχνά για να καταστήσει τις υπηρεσίες εφαρμογών που εκτελούνται σε έναν κεντρικό υπολογιστή σε ένα ιδιωτικό δίκτυο διαθέσιμες σε κεντρικούς υπολογιστές σε ένα δημόσιο δίκτυο όπως το Διαδίκτυο. Ακριβώς όπως μια συσκευή χρειάζεται IP για να αναγνωριστεί σε ένα δίκτυο, έτσι και οι υπηρεσίες που εκτελούνται στη συσκευή, όπως το SMTP ή το FTP, πρέπει επίσης να αναγνωριστούν για να ενεργοποιηθεί η εξωτερική επικοινωνία. Οι αριθμοί θυρών βοηθούν στον εντοπισμό αυτών των υπηρεσιών και η προώθηση θυρών είναι η τεχνική που καθιστά την υπηρεσία διαθέσιμη σε κεντρικούς υπολογιστές σε ένα δημόσιο δίκτυο. Κάθε φορά που μια υπηρεσία χρειάζεται να επικοινωνήσει, ο αριθμός θύρας βοηθά στον εντοπισμό του σωστού προορισμού/πηγής στη συσκευή και βοηθά στην κατάλληλη μεταφορά δεδομένων

NAT Υπερφόρτωση : Το NAT Overloading, γνωστό και ως Port Address Translation (PAT) έχει σχεδιαστεί για να αντιστοιχίζει πολλαπλές ιδιωτικές διευθύνσεις IP σε μια ενιαία δημόσια διεύθυνση IP (πολλά προς ένα) χρησιμοποιώντας διαφορετικές θύρες. Με άλλα λόγια, μια ενιαία δημόσια διεύθυνση IP μπορεί να χρησιμοποιηθεί για πολλές εσωτερικές ιδιωτικές διευθύνσεις IP, εξ ου και ο όρος υπερφόρτωση. Είναι ενδιαφέρον ότι αυτή είναι η πιο κυρίαρχη και είναι η προεπιλεγμένη μορφή υλοποίησης NAT στα σημερινά δίκτυα. Γιατί αυτό είναι τόσο κυρίαρχο; Λοιπόν, η απάντηση είναι απλή: Είναι επειδή χρησιμοποιώντας υπερφόρτωση NAT, θα έχετε χιλιάδες χρήστες να συνδέονται στο διαδίκτυο χρησιμοποιώντας μόνο μία πραγματική δημόσια διεύθυνση IP. Η υπερφόρτωση NAT είναι ένας από τους κύριους λόγους για τους οποίους ο χώρος διευθύνσεων IPv4 έχει διαρκέσει τόσο πολύ. Θα εξηγήσουμε λεπτομερώς πώς λειτουργεί η υπερφόρτωση NAT και πώς μπορείτε να τη διαμορφώσετε στον δρομολογητή Cisco.

Πώς λειτουργεί η υπερφόρτωση NAT
Η υπερφόρτωση NAT επιτρέπει σε πολλές συσκευές σε ένα LAN να χρησιμοποιούν την ίδια δημόσια διεύθυνση IP για να επικοινωνούν με τον έξω κόσμο ταυτόχρονα. Τυπικά, τα πακέτα που περνούν από το ιδιωτικό δίκτυο (LAN) στο δημόσιο δίκτυο (internet) θα τροποποιήσουν τη διεύθυνση IP προέλευσης, ενώ τα πακέτα που περνούν από το δημόσιο δίκτυο πίσω στο ιδιωτικό δίκτυο θα τροποποιήσουν τη διεύθυνση προορισμού τους.
Δεδομένου ότι οι ιδιωτικές διευθύνσεις IP δεν μπορούν να δρομολογηθούν στο Διαδίκτυο, ο μόνος τρόπος με τον οποίο οι συσκευές-πελάτες σε ένα LAN μπορούν να επικοινωνήσουν με τον έξω κόσμο είναι να τις κατευθύνουν σε έναν δρομολογητή με δημόσια διεύθυνση IP και να επιτρέψουν στον δρομολογητή να μεσολαβήσει μεταξύ αυτών και του δημόσιου δικτύου. Στην υπερφόρτωση NAT, ο δρομολογητής επιτυγχάνει αυτή τη διαμεσολάβηση ανταλλάσσοντας τις ιδιωτικές διευθύνσεις IP και τους αριθμούς θυρών των συσκευών-πελάτη με τη δική του δημόσια διεύθυνση IP και τον διαθέσιμο αριθμό θύρας. Αυτή η τεχνική λειτουργεί κυρίως αξιοποιώντας τους αριθμούς θυρών TCP και UDP. Καθώς η κίνηση περνά από το LAN στο Διαδίκτυο, η διεύθυνση πηγής σε κάθε πακέτο μεταφράζεται αυτόματα από μια ιδιωτική διεύθυνση σε μια δημόσια διεύθυνση. Αυτό εμφανίζεται στους διακομιστές στο διαδίκτυο ως η κύρια πηγή του πακέτου δεδομένων. Ο δρομολογητής παρακολουθεί τη διεύθυνση προορισμού και τον αριθμό θύρας για κάθε ενεργή σύνδεση με βάση τις καταχωρήσεις στον πίνακα NAT. Όταν ο δρομολογητής λαμβάνει μια απόκριση, χρησιμοποιεί τα δεδομένα παρακολούθησης σύνδεσης που κατέγραψε στον πίνακα NAT κατά τη φάση εξερχόμενων, για να καθορίσει την ιδιωτική διεύθυνση IP στο LAN στο οποίο θα προωθηθεί η απόκριση. Ακολουθεί μια απεικόνιση για περαιτέρω διευκρίνιση:
Φανταστείτε ένα LAN με το αναγνωριστικό δικτύου 192.168.4.0/26 και το χρησιμοποιήσιμο εύρος κεντρικού υπολογιστή 192.168.4.1–192.168.4.63 και έναν προεπιλεγμένο δρομολογητή πύλης που έχει εκχωρηθεί με την ιδιωτική διεύθυνση IP 192.168.4.1 και τη δημόσια διεύθυνση IP 1.08.01. Τώρα, εάν ένας υπολογιστής στο LAN θέλει να επικοινωνήσει με τον έξω κόσμο, ακολουθεί τι συμβαίνει:

Ας υποθέσουμε ότι ένας υπολογιστής με την εσωτερική διεύθυνση IP 192.168.4.2 και τον αριθμό θύρας 1030 θέλει να πραγματοποιήσει λήψη ορισμένων δεδομένων από έναν διακομιστή Διαδικτύου με τη δημόσια IP 98.137.246.6 στη θύρα 443. Ο υπολογιστής προωθεί αυτό το αίτημα λήψης στο δρομολογητή με τις ακόλουθες πληροφορίες: Η συσκευή πελάτη 192.168.4.2 θέλει να δημιουργήσει μια σύνδεση στη θύρα 1030 με τον διακομιστή Διαδικτύου 98.137.246.6 στη θύρα 443. Για να επεξεργαστεί αυτό το αίτημα, ο δρομολογητής πρέπει να αντικαταστήσει τη διεύθυνση IP προέλευσης και τον αριθμό θύρας της συσκευής LAN με τη δική του IP διεύθυνση και τον αντίστοιχο ή διαθέσιμο αριθμό θύρας. Έτσι, το 192.168.4.2:1030 μεταφράζεται σε 197.210.84.100:2040 όπως φαίνεται στο Σχήμα 6.0 παραπάνω. Όλες οι σχετικές πληροφορίες αποθηκεύονται στον πίνακα NAT του δρομολογητή, όπως φαίνεται στο διάγραμμα
TCP | 192.168.4.2:1030 | 197.210.84.100:1030 | 98.137.246.6:443 |
Μόλις ο διακομιστής Διαδικτύου λάβει το αίτημα, ανταποκρίνεται με το ζητούμενο πακέτο δεδομένων το οποίο στη συνέχεια προωθείται στη συσκευή που ζητά μέσω του δρομολογητή με βάση τις πληροφορίες σύνδεσης στον πίνακα NAT. Εκτός από τις διευθύνσεις IP και τους αριθμούς θυρών, ο δρομολογητής καταγράφει επίσης το χρονικό όριο αδράνειας που σχετίζεται με κάθε σύνδεση στον πίνακα NAT. Κάθε φορά που λαμβάνεται νέα επισκεψιμότητα για έναν πελάτη, το χρονικό όριο λήξης επαναφέρεται. Όταν λήξει το χρονικό όριο, η καταχώρηση διαγράφεται από τον πίνακα NAT. Αυτό διασφαλίζει ότι ο πίνακας NAT διατηρείται σε λογικό μέγεθος και ότι οι θύρες δεν παραμένουν μόνιμα ανοιχτές κατά τη διάρκεια της αδράνειας και δεν γίνονται πύλη για επιθέσεις στον κυβερνοχώρο.
Πώς να ρυθμίσετε την υπερφόρτωση NAT σε έναν δρομολογητή Cisco
Για να διαμορφώσετε την υπερφόρτωση NAT σε έναν δρομολογητή Cisco, απαιτούνται τα ακόλουθα βήματα:
- Διαμορφώστε την εσωτερική διεπαφή του δρομολογητή χρησιμοποιώντας το ip nat μέσα εντολή
- Διαμορφώστε την εξωτερική διεπαφή του δρομολογητή χρησιμοποιώντας το ip nat έξω εντολή
- Διαμορφώστε λίστα πρόσβασης που περιλαμβάνει μια λίστα με τις εσωτερικές διευθύνσεις πηγής που απαιτεί μετάφραση
Ενεργοποιήστε την υπερφόρτωση NAT με το ip nat μέσα στη λίστα πηγών ACL_NUMBER υπερφόρτωση TYPE διεπαφής καθολική εντολή διαμόρφωσης
Καθορίστε την εσωτερική διεπαφή στο δρομολογητή | Router(config)#int fa0/0 |
Ρυθμίστε τις παραμέτρους του δρομολογητή με το NAT μέσα σε μια εντολή | Router(config-if)#ip nat μέσα |
Καθορίστε την εξωτερική διεπαφή στο δρομολογητή | Router(config-if)#int s0/1 |
Ρυθμίστε τις παραμέτρους του δρομολογητή με την εντολή έξω από το NAT | Router(config-if)#ip nat έξω |
Καθορίστε μια λίστα πρόσβασης που περιλαμβάνει όλες τις ιδιωτικές διευθύνσεις IP που θα θέλαμε να μεταφράσουμε | Router(config-if)#access-list 1 permit 192.168.0.0 0.255.255.255 |
Ενεργοποιήστε το NAT και ανατρέξτε στο παραπάνω ACL και στη διεπαφή της οποίας η διεύθυνση IP θα χρησιμοποιηθεί για μεταφράσεις | Router(config)#ip nat μέσα στη λίστα πηγών 1 διεπαφή s0/1 υπερφόρτωση |
Αφού ρυθμίσετε την υπερφόρτωση NAT στο δρομολογητή σας, πρέπει να μπορείτε να επαληθεύσετε τη διαμόρφωση. Για να επαληθεύσουμε τις μεταφράσεις NAT, μπορούμε να χρησιμοποιήσουμε τις ακόλουθες εντολές:
Εμφάνιση βασικών πληροφοριών μετάφρασης διεύθυνσης IP | Router#show ip nat translation |
Εμφάνιση της διεύθυνσης αποστολής, της μετάφρασης και της διεύθυνσης προορισμού στο καθένα γραμμή εντοπισμού σφαλμάτων | Router#debug ip nat |
Καθώς το Διαδίκτυο συνεχίζει να επεκτείνεται με εκθετικό ρυθμό, η υπερφόρτωση NAT έχει γίνει το de facto πρότυπο για συσκευές σε ιδιωτικό δίκτυο με διευθύνσεις IPv4 για πρόσβαση στο δημόσιο δίκτυο, επιβραδύνοντας παράλληλα την εξάντληση του χώρου διευθύνσεων IPv4. Αυτό κατάφερε να διατηρήσει τη διεύθυνση IPv4 τα τελευταία 30 χρόνια. Αλλά τον Νοέμβριο του 2019, Κέντρο Συντονισμού Δικτύου RIPE ανακοίνωσε ότι επίσημα εξαντλήθηκαν οι διευθύνσεις IPv4. Μια πιο μακροπρόθεσμη λύση για την ενδεχόμενη εξάντληση του χώρου διευθύνσεων IPv4 των 32 bit είναι το πρωτόκολλο IPv6 64 bit.
Ωστόσο, το NAT δεν χρησιμοποιείται συνήθως σε δίκτυα IPv6. Ο μεγάλος χώρος διευθύνσεων του IPv6 αποκλείει την ανάγκη διατήρησής του, καθώς σε κάθε συσκευή μπορεί ενδεχομένως να εκχωρηθεί μια μοναδική δημόσια διεύθυνση IP. Αντί για τις 4,3 δισεκατομμύρια διευθύνσεις IPv4, υπάρχουν τώρα δυνητικά 3,4 δισεκατομμύρια διευθύνσεις IPv6 διαθέσιμες για τη σύνδεση συσκευών στο διαδίκτυο. Αυτό ουσιαστικά καθιστά την εφαρμογή NAT στο IPv6 περιττή. Ωστόσο, το NAT μπορεί ακόμα να χρησιμοποιηθεί για την προστασία του απορρήτου των ιδιωτικών δικτύων IPv6 από δημόσια δίκτυα. Ωστόσο, προς το παρόν, όσο το IPv4 εξακολουθεί να χρησιμοποιείται, η υπερφόρτωση NAT θα συνεχίσει να επιτρέπει σε πολλές συσκευές σε ιδιωτικά δίκτυα να μοιράζονται μια ενιαία δημόσια διεύθυνση IPv4 για να επικοινωνούν με άλλες συσκευές στο δημόσιο δίκτυο.
Συχνές ερωτήσεις μετάφρασης διευθύνσεων δικτύου
Ποια συνάρτηση υπερφόρτωσης NAT ταιριάζει με την άδεια 10.1.1.0 0.0.0.255 της λίστας πρόσβασης εντολής 1;
Μια εντολή δρομολογητή που περιλαμβάνει την εντολή Access-list ρυθμίζει τη λίστα ελέγχου πρόσβασης (ACL για διευθύνσεις IP στο τοπικό δίκτυο. Η διεύθυνση 0.0.0.255 είναι μπαλαντέρ.
Τι χρησιμοποιεί η υπερφόρτωση NAT για την παρακολούθηση πολλών εσωτερικών κεντρικών υπολογιστών που χρησιμοποιούν έναν εντός καθολικής διεύθυνσης;
Η υπερφόρτωση NAT χρησιμοποιεί αριθμούς θύρας για την αναγνώριση κάθε τοπικού κεντρικού υπολογιστή. Αυτός είναι ο λόγος για τον οποίο η τεχνική ονομάζεται επίσης γνωστή και ως Μετάφραση Διεύθυνσης Λιμένος (PAT).
Πώς η υπερφόρτωση NAT παρέχει μετάφραση διευθύνσεων ένα προς πολλά;
Το σύστημα NAT εκχωρεί μια μοναδική θύρα TCP/UDP σε κάθε συνεδρία. Οι αριθμοί θύρας που χρησιμοποιεί το σύστημα πρέπει να είναι καθαροί από τους γνωστούς αριθμούς θύρας που θα μπορούσαν ήδη να βρίσκονται στην επικοινωνία με έναν εξωτερικό προορισμό.