friemler
Goto Top

Technische Hintergründe Internet Connection Sharing

Ich experimentiere gerade ein wenig mit Netzwerken, Protokollen und Routing herum. Im Zuge dessen habe ich ein Testnetzwerk aufgebaut und es auf zwei verschiedene Arten zum Laufen gebracht. Ich möchte nun gerne etwas zu den Hintergründen und Unterschieden wissen.

[EDIT] Hallo Netzwerkspezialisten ich vergaß, Asche auf mein Haupt face-wink ,[/EDIT]

ich habe folgendes Netzwerk mit virtuellen Maschinen basierend auf VMWare aufgebaut. Bei der Konfiguration der Netzwerkkarten habe ich unter VMWare den Bridged Mode gewählt. Alle Netzwerkkarten haben eine statische IP-Konfiguration.

96ed31288715d8007fc7143ae8f0f830

Alle VMs sind mit Windows XP Prof. SP3 bestückt. Bei ROUTER1, SVR1 und SVR2 ist Routing aktiviert (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter = 1) und der Dienst "Routing und RAS" (RemoteAccess) wird automatisch gestartet. In ROUTER1 sind zwei statische Routen in die Netze von CL1 und CL2 konfiguriert. Somit haben die Clients Internetzugriff und können sich auch gegenseitig pingen.

Da die (externe) Netzwerkkarte von ROUTER1, die in der Grafik zur Internetwolke führt, an einem B-Netz hängt, die zweite Karte und alle anderen VMs jedoch eine 28-Bit-Netzwerkmaske haben (ROUTER1 intern, SVR1 extern und SVR2 extern ein Subnetz, SVR1 intern und CL1 ein Subnetz und SVR2 intern und CL2 ein Subnetz), musste ROUTER1 als NAT-Router konfiguriert werden. Ich habe dazu zwei Lösungsansätze gefunden:

  1. Internet Connection Sharing (die dann der externen NIC von ROUTER1 automatisch zugewiesene statische IP-Adresse ließ sich ändern)
  2. Das folgende Script:

net stop SharedAccess
sc config SharedAccess start= disabled
netsh routing ip nat install
netsh routing ip nat add interface "LAN-Verbindung" full  
netsh routing ip nat add interface "LAN-Verbindung 2" private  
netsh routing ip dnsproxy install
sc config RemoteAccess start= auto
net start RemoteAccess

Beides funktioniert. Allerdings sieht das für mich so aus, als ob die technischen Hintergründe komplett verschieden sind. Im Script wird ja als erster Schritt genau der Dienst beendet (und sein Starttyp für nachfolgende Reboots auf DISABLED gestellt), der für Internet Connection Sharing zuständig ist (zumindest meines Wissens nach).

Nebenbei: Durch die Installation des DNS-Proxys kann man auf SVR1, SVR2, CL1 und CL2 die interne Adresse von ROUTER1 als Adresse des DNS-Servers konfigurieren.

Meine Frage ist nun, was genau die Unterschiede zwischen den beiden Verfahren sind. Da wären vor allem die technischen Hintergründe von ICS interessant. Man ließt sehr oft, das NAT und ICS gleichgesetzt werden, das kann meiner Meinung nach aber nicht richtig sein.

Außerdem ist der Tenor der Aussagen zu ICS kritisch bis ablehnend. Welche Nachteile hat ICS?

Wer kann mir zu der Thematik etwas sagen?

Gruß
Friemler

Content-Key: 182154

Url: https://administrator.de/contentid/182154

Printed on: April 25, 2024 at 02:04 o'clock

Member: mrtux
mrtux Mar 18, 2012 at 13:59:29 (UTC)
Goto Top
Hi !

Ich habe ICS eigentlich schon als NAT verstanden aber ehrlich gesagt, habe ich mich immer so weit es ging davor gedrückt es einzusetzen und bevor ich mich jetzt blamiere, überlasse ich das Feld besser aqui oder dog. Ich bin überzeugt, die können das definitiv besser erklären.... face-wink

mrtux
Member: Dani
Dani Mar 18, 2012 at 18:34:06 (UTC)
Goto Top
Moin,
ICS ist meiner Ansicht nach nicht gleich NAT. ICS stellt NAT, DHCP und DNS-Dienst zur Verfügung.
Somit würde ich behaupten, dass das Script das Gleiche macht, wie als du ICS über die Gui konfigurierst.


Grüße,
Dani
Member: aqui
aqui Mar 19, 2012, updated at Oct 18, 2012 at 16:50:23 (UTC)
Goto Top
Das ist Unsinn was du im letzten Satz sagst das du NAT machen musst auf dem Router !
Wie kommst du dadrauf oder kennst du deine eigene Adressierung nicht ??
Die ist ja zweifelsohne absolut richtig.
Die internen Netze und die externen unterscheiden sich zudem auch noch im 2ten Byte einmal 168 und einmal 178.
Du hast also eine saubere IP Adressierung und NAT ist keineswegs Pflicht sondern man kann auch sauber transparent Routen ?!
Wie kommst du also zu der Aussage das man NAT auf dem Router konfigurieren muss ??
ICS ist in der Tat nichts anderes als PAT (Port AddressTranslation) nit mit Microsoft Syntax...
Es gibt allerdings einen gewaltigen Haken bei der MS Implementation, denn die schreibt dir zwangsweise vor welche IP Netzadressen du jeweils in den lokalen Netzen verwenden musst ! Guckst du hier:
Routing von 2 und mehr IP Netzen mit Windows, Linux und Router
Eine Gängelung die aber nur MS spezifisch ist. Andere Hersteller haben sowas logischerweise nicht ! Eine freie Adressierung wie du sie also hast ist mit MS ICS nicht mehr möglich. Wie gesagt das ist aber einzig und allein ein Microsoft Problem. Der Rest der IP Welt kennt sowas nicht und lässt dir freie Hand bei der Adressierung !
Lediglich das ist der kleine aber feine Unterschied nur bei Microsoft ICS/PAT/NAT oder wie auch immer man das nennen will.
Member: Friemler
Friemler Mar 19, 2012 at 19:19:48 (UTC)
Goto Top
Hi @all,

danke für Eure Antworten.

@aqui:
Zu "Warum muss NAT auf dem Router konfiguriert werden?"
Zuerst hatte ich NAT nicht benutzt, die Clients hatten aber keinen Internetzugriff. Durch ein ping google.de von den Servern aus kam zwar laut der Ausgabe von ping eine Namensauflösung zustande (ich hatte bei SVR1 und SVR2 zu diesem Zeitpunkt als DNS-Server 192.178.1.5 eingestellt), aber keine Antwort vom Google-Server. Als ich mir (auf dem späteren NAT-Router) mit Wireshark die Pakete angesehen habe, die ins 192.178er-Netz (das externe B-Netz) geschickt wurden, habe ich gesehen, dass die Absender-IP-Adresse der Pakete unverändert 192.168.10.x lautete. Das Gateway des (späteren NAT-)Routers im 192.178er-Netz (ein "richtiger" Router, auf den ich keinen Zugriff habe um statische Routen zu definieren) hat die Antwortpakete wegen Nicht-Zustellbarkeit verworfen. Nachdem ich NAT auf dem Router aktiviert hatte, wurden die Absender-IP-Adressen auf die externe IP-Adresse des NAT-Routers geändert (192.178.5.16) und es funktionierte alles wie gewünscht. Wenn ich mich bei der Ursache für das Nicht-Funktionieren irre, korrigiere mich bitte. Ich bin weit davon entfernt ein Netzwerk-Profi zu sein, möchte aber dazulernen.

Ließe sich durch eine andere IP-Konfiguration die Verwendung von NAT vermeiden? Oder was meinst Du mit transparentem Routing?

Zu "MS schreibt dir zwangsweise vor welche IP Netzadressen du jeweils in den lokalen Netzen verwenden musst"
Ich habe Deinen Link zum Thema gelesen. Ich habe, wie schon im EP geschrieben, die automatisch zugewiesene IP-Adresse 192.168.0.1 einfach wieder auf 192.178.5.16 geändert. Das hat zwar funktioniert, war aber laut Deinem verlinkten Tutorial reine Glückssache, da der von ICS aktivierte DHCP-Server nicht auf dem von mir verwendeten IP-Adressraum arbeitet. Somit hast Du mir schonmal einen gravierenden Nachteil von ICS verraten. Vielen Dank. Die Lösung, die das Script bietet, schien mir schon intuitiv die sauberere Variante zu sein.

Wird denn auch, wie Dani schrieb, von ICS ein DNS-Server aktiviert?

Gruß
Friemler
Member: aqui
aqui Mar 22, 2012, updated at Oct 18, 2012 at 16:50:25 (UTC)
Goto Top
Transparentes Routing ist eben "normales" Routing ohne NAT. Klar wenn der Internet Router keine statischen Routen zu deinen Netzen hat oder du sie nicht konfigurieren kannst weil du keinen Zugriff hast dann hast du logischerweise keine Chance das entsprechend so einzurichten.
Dein einziger Ausweg ist dann eben einen NAT Umgebung wie es auch hier im Tutorial genau beschrieben ist bei Billigroutern die keine statischen Routen supporten:
Routing von 2 und mehr IP Netzen mit Windows, Linux und Router
Gleiches gilt ja für dich !!
Dann hast du keinerlei Chance und NAT ist der einzige Ausweg für dich.... In der Beziehung bist du dadrauf dann verhaftet !
Microsoft ICS (oder NAT) hat nur den gravierenden Nachteil das MS immer fest die IP Netzwerk Adresse für das zu NATende IP netzwerk fest vorgibt !!
Du hast keinerlei Chance das zu ändern. Wenn du es änderst funktioniert das gesamte NAT/ICS nicht mehr bei MS.
Damit bist du zwangsweise in diese Adressierung gezwungen wie du ja auch gesehen hast.
Sinnvoll ist es das dann immer mit externen Routern zu machen oder mit einem Router der auch virtualisiert ist wie z.B. die Monowall im generic-vm Image:
http://m0n0.ch/wall/downloads.php
Damit bist du dann völlig frei in deiner NAT IP Adressierung und kannst die IPs verwenden die du willst und eben nicht MS dir aufzwingt face-wink