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