NAT

Transcription

NAT
Scaling IP Addresses
CCNA 4 version 3.0
Wolfgang Riggert, FH Flensburg
auf der Grundlage von Rick Graziani, Cabrillo College
Vorbemerkung
Die englische Originalversion finden Sie unter :
http://www.cabrillo.cc.ca.us/~rgraziani/
Der username ist cisco und das Password perlman
•
•
•
Viele der Informationen ergänzen das Online-Curriculum
Die Zusatzinformation ist zur Verdeutlichung und weiteren Erklärung
der Themen eingefügt.
Die Originalversion ist um eigene Folien erweitert, um das Verständnis
zu fördern
Überblick
Mechanismen zur Entschärfung des Problems der IP
Adressknappheit
•
•
•
Private IP-Adressen
Network Address Translation und Port Address
Translation
Dynamic Host Configuration Protocol
Privater IPAdressbereich
Für jede IP-Adressklasse existiert ein gesonderter
Adressbereich, der nicht geroutet wird
NAT
•
Ein NAT-enabled Device arbeitet typischerweise an
der Grenze eines Stub-Netzes.
NAT - Idee
•
Austausch der Quell- und/oder Ziel-IP-Adresse im IP-Header
(definiert in RFC 1631)
•
Die Adressübersetzung findet nur vom inneren zum äußeren Interface
oder umgekehrt statt – niemals zwischen gleichen Interfacetypen
inneres
Netz
inneres
Interface
äußeres
Interface
NAT
äußeres
Netz
NAT Begriffe
•
•
•
•
Inside Local Addresses – Eine IP-Adresse für einen Host innerhalb
des internen Netzes. Üblicherweise handelt es sich hier um die
privaten IP-Adressen.
Inside Global Address – Eine offizielle durch einen Service Provider
zugeteilte IP-Adresse, die die internen Hosts nach außen
repräsentiert
Outside Local Address – Die IP-Adresse eines externen Hosts, die
im internen Netz bekannt ist
Outside Global Address – Die IP-Adresse eines externen Hosts, die
durch den Nutzer dieses Hosts zugewiesen wurde.
NAT Merkmale
•
•
Static NAT bildet 1:1 eine interne, lokale auf eine
externe, globale Adresse ab
Dynamic NAT bildet eine private IP-Adresse auf eine
offizielle IP-Adresse ab.
Grundkonzept NAT
Quelladresse
innerer Host
lokal
Zieladresse
äußerer Host
gesendetes Paket
vor NAT
Quelladresse
innerer Host
global
Zieladresse
äußerer Host
gesendetes Paket
nach NAT
10.6.1.20
Internet
Internet Host
Zieladresse
innerer Host
Quelladresse
äußerer Host
lokal
zurückgekehrtes Paket
nach NAT
Zieladresse
innerer Host
Quelladresse
äußerer Host
global
zurückgekehrtes Paket
vor NAT
NATÜbersetzungstabelle
Private
Adresse
Externe
Adresse
NAT-Port
10.0.0.5
128.10.19.20
14003
10.0.0.1
128.10.19.20
14010
10.0.2.6
207.200.75.200
14012
10.0.0.3
128.210.1.5
14007
NAT Verfahren
Quelladresse
10.6.1.20
Zieladresse
Internet Host
gesendetes Paket
vor NAT
Quelladresse
171.69.68.10
Zieladresse
Internet Host
gesendetes Paket
nach NAT
Internet
10.6.1.20
Internet Host
Zieladresse
10.6.1.20
Quelladresse
Internet Host
zurückgekehrtes Paket
nach NAT
Zieladresse
171.69.68.10
Quelladresse
Internet Host
zurückgekehrtes Paket
vor NAT
Anwendung 1
•
•
Problem: Firmenübernahmen erzeugen gleiche private Adressräume
Lösung: NAT liefert transparente, skalierbare und bidirektionale
Verbindungen zwischen den Abteilungen
Quelladresse
10.6.1.20
Corporate
Zieladresse
Einkauf
gesendetes Paket
vor NAT
Quelladresse
192.168.7.1
Zieladresse
Einkauf
gesendetes Paket
nach NAT
10.6.1.20
Zieladresse
Corporate
Quelladresse
172.21.58.10
zurückgekehrtes Paket
nach NAT
Zieladresse
Corporate
Quelladresse
10.6.1.51
zurückgekehrtes Paket
vor NAT
Einkauf
10.6.1.51
Anwendung 2
•
•
Problem: Wechsel des Internet Service Providers
Lösung: NAT vermeidet die Notwendigkeit der Vergabe neuer IPAdressen an die Endstationen
Quelladresse
10.6.1.20
Lokales
Netz
Zieladresse
Internet Host
gesendetes Paket
vor NAT
Quelladresse
192.168.7.1
Zieladresse
Internet Host
gesendetes Paket
nach NAT
Neuer ISP
Internet
10.6.1.20
Zieladresse
10.6.1.20
Quelladresse
Internet Host
zurückgekehrtes Paket
nach NAT
Zieladresse
192.168.7.1
Quelladresse
Internet Host
zurückgekehrtes Paket
vor NAT
Anwendung 3
•
•
Problem: Internes Netz soll nicht für externe Nutzer sichtbar
sein
Lösung: NAT verbirgt die interne Netzinfrastruktur und
verhindert Portscanning auf Subnetze
Lokales
Netz
10.6.1.20
Zieladresse
192.168.7.1
Quelladresse
Internet Host
Port Scanning Paket
vor NAT
Internet
Internet Host
lokale/innere Umsetzung
Quelladresse
10.6.1.20
Zieladresse
Internet Host
gesendetes Paket
vor NAT
Quelladresse
171.69.68.10
Zieladresse
Internet Host
gesendetes Paket
nach NAT
Internet
10.6.1.20
äußerer Host
• Für Pakete ins Internet wird dynamisch eine Adresse aus
einen NAT-Adresspool ausgewählt (z.B. 171.69.68.10)
• Der NAT-Adresseintrag wird auch zur Anpassung
zurückkehrender Pakete genutzt.
Port-Mapped Nat
•
•
•
Gängige NAT-Variante, die den gleichzeitigen Zugriff ermöglicht,
d.h. ein interner Rechner kann auf mehrere externe Rechner
zugreifen und umgekehrt können mehrere interne Rechner den
gleichen externen Rechner adressieren
Neben den Adressen werden TCP- oder UDP-Portnummern
übersetzt
Neben einem aus Quell- und Zieladresse bestehendem IPAdresspaar enthält die Übersetzungstabelle ein aus Quell- und
Zielport bestehendes Protokollportnummernpaar
PAT Merkmale
•
PAT nutzt eindeutige Portnummern der Quelle
der inside global IP address, um zwischen
mehreren Verbindungen zu unterscheiden.
PATÜbersetzungstabelle 1
Private
Adresse
Privater
Port
Externe
Adresse
Externer
Port
NAT-Port
Benutztes
Protokoll
10.0.0.5
21023
128.10.19.20
80
14003
TCP
10.0.0.1
386
128.10.19.20
80
14010
TCP
10.0.2.6
26600
207.200.75.200
21
14012
TCP
10.0.0.3
1274
128.210.1.5
80
14007
TCP
PATÜbersetzungstabelle 2
•
•
•
Zwei interne Hosts 10.0.0.5 und 10.0.0.1 greifen gleichzeitig über
Port 80 und den externen Rechner 128.10.19.20 zu – die
Unterscheidung findet durch die Quellports statt.
Um Konflikte zu vermeiden, vergibt NAT ein eindeutige
Portnummer für jede Kommunikation, die das Internet nutzt – hier
140xx.
TCP identifiziert jede Verbindung als 4er Tupel:
(10.0.0.5, 23023, 128.10.19.20, 80)
(10.0.0.1, 386, 128.10.19.20, 80)
Konzept PAT 1
Kommunikation zwischen einem internen und einem externen
Rechner
Internet
10.6.1.6
Quelladresse
10.6.1.6
Zieladresse
Host 2
Zieladresse
171.69.68.10
Quelladresse
Host 2
Quellport
1506
Zielport
Any Port
Zielport
1506
Quellport
Any Port
gesendetes Paket
vor PAT
zurückkehrendes Paket
nach PAT
Host 2
Konzept PAT 2
Quelladresse
10.6.1.6
Zieladresse
Host 1
Quelladresse
171.69.68.10
Zieladresse
Host 1
Quellport
2031
Zielport
Any Port
Quellport
2031
Zielport
Any Port
gesendetes Paket
vor PAT
Host 1
gesendetes Paket
nach PAT
Internet
10.6.1.6
Port 2031
Port 1506
Quelladresse
10.6.1.6
Zieladresse
Host 2
Quelladresse
171.69.68.10
Zieladresse
Host 2
Quellport
1506
Zielport
Any Port
Quellport
1506
Zielport
Any Port
gesendetes Paket
vor PAT
gesendetes Paket
nach PAT
Host 2
PAT Beispiel 1
Quelle: Bintec
PAT Beispiel 2
Für den Ablauf einer Anfrage eines Clients, ergeben sich folgende Phasen:
• Der Client 192.168.1.3 startet den Internet Explorer, welcher zunächst die
Homepage von Microsoft aus dem Internet laden möchte. Da er die IPAdresse von www.microsoft.com nicht kennt, wendet er sich zunächst an
seinen Nameserver, der in unserem Beispiel die Adresse 212.102.98.34
haben soll.
• Die Anfrage wird formuliert und ein IP-Paket mit einer UDP Anfrage auf
Port 53 für den DNS-Server versendet.
• Das Paket hat, wie jedes IP-Paket, eine Absender-IP-Adresse (192.168.1.3)
und eine Empfänger-IP-Adresse (212.102.98.34), außerdem einen AbsendePort (1025) und einen Empfäger-Port (53). Der Absende-Port stammt aus
dem Bereich der Client-Ports. Auf diesem Port wartet der Client im
weiteren Verlauf auf seine Antwort. Die Angaben zu den Ports stehen im
UDP-Header.
• Kurzgefaßt kann man die Adressierung des Pakets so formulieren:
192.168.1.3:1025 -> 212.102.98.34:53
PAT Beispiel 3
•
•
•
•
Jetzt muss der Client entscheiden, wohin mit dem Paket. Ein Blick in seine
Routingtabelle zeigt ihm: Keine Netzwerkroute vorhanden
Der Client sendet das Paket also an den Router (konkret im Ethernet: von
seiner MAC-Adresse an die der BRICK).
Das Paket kommt am Router an und prüft seine Routingtabelle, um zu
entscheiden, wohin mit dem Paket. Wiederum findet er neben seinem
eigenen Netz 192.168.1.0 keine weitere Netzwerkroute und entscheidet
sich daher für seinen "default" Eintrag in der Routingtabelle, welcher auf
den Provider verweist.
Da NAT für den Provider aktiviert ist, wird im folgenden die Absender-IPAdresse des Pakets gegen die offizielle IP-Adresse des ISDN-Interfaces
(212.23.4.65) ausgetauscht. Damit kann das Paket im Internet
transportiert werden, denn nun wird es von einer offiziellen IP
(212.23.4.65) zu einer anderen (212.102.98.34) transportiert. Kurz
formuliert: 212.23.4.65:1025 -> 212.102.98.34:53
PAT Beispiel 4
•
•
•
Das reicht aber noch nicht aus! Denn angenommen der Client 192.168.1.2
surft gleichzeitig los und nutzt ebenfalls seine Client-Port 1025 ergibt sich
folgendes Paket: 192.168.1.2:1025 -> 212.102.98.34:53
und nach der Ersetzung durch NAT auf dem Router:
212.23.4.65:1025 -> 212.102.98.34:53
Dadurch würde der Router zwei Antworten vom DNS erhalten die an die IPAdresse 212.23.4.65 mit dem Port 1025 gerichtet sind und wüsste nicht,
welchem Client im internen Netz welche Antwort zuzustellen ist. Die
Adressierung der Pakete ist identisch, sie können jedoch ganz
unterschiedliche Inhalte haben!
Daher wird auf dem Router nicht nur die Absende-IP-Adresse ausgetauscht,
sondern auch der Absende-Port. Der Router verwendet dafür Port-Adressen
aus dem "high-range" Bereich (über 32.767)
PAT Beispiel 5
•
•
Aus den DNS Anfrage 192.168.1.3:1025 -> 212.102.98.34:53
wird damit:
212.23.4.65:33385 -> 212.102.98.34:53
und aus der Anfrage 192.168.1.2:1025 -> 212.102.98.34:53
wird damit:
212.23.4.65:33386 -> 212.102.98.34:53
Die Anfragen kommen am DNS an, der die Antworten
nunmehr an die Absender zurücksendet:
212.102.98.34:53 ->
212.23.4.65:33385 und
•
212.102.98.34:53 ->
212.23.4.65:33386
Die Antwortpakete kommen an der BRICK an, die nun in
einer internen Tabelle nachschaut, welcher interne Client
auf welches Paket wartet
NAT vs. PAT
•
•
NAT, wenn die Zahl der IP-Adressen für
eine 1-zu-1 Übersetzung ausreicht
PAT, wenn die Zahl der IP-Adressen
begrenzt ist und eine 1:n Kommunikation
erlaubt wird
NAT Nutzen
•
•
•
Macht eine Neuzuweisung von IP-Adressen bei einem Wechsel des
Providers überflüssig
Nutzt Adressraum besser aus, da weniger offizielle IP-Adressen
benötigt werden, als Hosts im internen Netz existieren.
Verbessert die Netzwerksicherheit, da für Außenstehende die
Struktur des internen Netzes verborgen bleibt
NAT und PAT Konfiguration
NAT Konfiguration
PAT Konfiguration
NAT and PAT Verifikation
Troubleshooting NAT und
PAT
DHCP
•
DHCP liefert als Serverdienst eine IP-Adresse an Clients.
Diese Information wird nur für eine bestimmte Zeit
“geleast”.
BOOTP und DHCP
Unterschiede
•
•
•
DHCP “verleiht” eine IP-Adresse für ein Zeitintervall, d.h. der Server kann
die gleiche Adresse erneut an den Client vergeben oder auch einer anderen
Station zuweisen.
DHCP liefert einen Mechanismus um weitere Informationen wie
Konfigurationsparameter für IP weiterzugeben.
BOOTP unterstützt dagegen ein festes Mapping, d.h. eine unverrückbare
Adresszuweisung
DHCP Merkmale
•
DHCP erlaubt eine automatische, eine manuelle oder
eine dynamische Konfiguration
DHCP Ablauf
DHCP Verbindungsaufbau
DHCP Konfiguration
DHCP Konfiguration mit
Adressausschluss
DHCP Verifikation
DHCP Troubleshooting