ISATAP

ISATAP ist eine Tunneltechnik, die per Default die meisten Clients beherrschen, die für ein Firmennetzwerk aber sehr gefährlich sein, kann. Sollte es tatsächlich einmal einem System gelingen, ISATAP-Dienste anzubieten und per DNS den Clients bekannt zu machen und die Firewall IPV4 Typ 41 nicht blocken, dann haben Sie über ihr schön segmentiertes IPv4 Netzwerk ein globales IPv6 Netzwerk gespannt.

Meiner Erfahrung nach sollte ISATAP in Firmen nicht eingesetzt werden. Sorgen Sie besser für eine saubere IPv6 Infrastruktur oder setzen Sie Pakete zwischen den Welten gezielt um. Aber überspannen Sie nicht ihre sauber geplanten IPv4-Subnetze durch ein großes ISATAP-IPv6-Netz.

Funktionsweise

ISATAP ist eine von mehreren Tunneltechnologien, über die Endgeräte per IPv6 miteinander kommunizieren können, auch wenn zwischen ihnen nur ein IPv4 Transferweg zur Verfügung steht. Grundlage ist ein ISATAP Server, der IPv4-Verbindungen von verschiedenen Clients annimmt und als Router zwischen den Clients fungiert.

Dieser ISATAP-Dienst wird per DNS gefunden, d.h. jeder ISATAP-Client bekommt per IPv4 erst mal eine IPv4-Adresse und einen DNS-Domainnamen und DNS-Server. Er sucht dann einfach nach ISATAP.<dnsdomain>, um einen ISATAP-Server zu finden.

Ein Windows Client oder Server ist per Default erst mal kein ISATAP-Server aber sehr wohl ein ISATAP-Clients. Wenn Sie z.B. Windows 208R2 Direct Access oder UAG installieren, dann bieten diese einen ISATAP-Service an, der sich auch automatisch im DNS eintragen möchte.

Auch wenn DA bzw. UAG sich zum ISATAP-Router aufschwingen, sollten Sie genau überlegen, ob sie dies wollen.

  • ISATAP braucht einen ISATAP Server
    Das vorhandene Protokoll ist IPv4. Alle ISATAP Client senden ihre IPv6 Pakete quasi über IPv4 Protokoll 41 getunnelt an den ISATAP-Server, der die Pakete auspackt und an die anderen Clients sendet. Hier ist auch der Hebel um auf einer IPv4 Firewall die ISATAP-Funktion zu blockieren.
  • ISATAP ist ein eigens "Subnetz"/VLAN
    Alle ISATAP-Clients, unabhängig von ihrer geografischen Position in ihrem LAN/WAN sind logisch im gleichen IPv6-ISATAP-Subnetz. In einer Active Directory Umgebung umgehen Sie damit also auch alle Optimierungen von AD Sites&Services, Firewallregeln, DFS-Zuordnungen etc. Ohne Vorkehrungen legen Sie über ihr gesamtes IPv4-Netzwerkgebilde ein riesiges nicht segmentiertes IPv6 Subnetz. Was wohl ihre DCs und die Replikation dazu meint, wenn alle im gleichen "Subnetz" sind und auch die Clients alle DCs "vor Ort" vermuten.
  • ISATAP ist auf Client per Default Aktiv
    Nicht jede Umgebung hat Gruppenrichtlinien, um einen Client einzurichten. daher hat Microsoft die ISATAP Unterstützung und Erkennung auf Clients automatisch aktiviert. Findet der Client einen DNS Eintrag, dann versucht er die Verbindung. Übrigens ist ISATAP auch auf Servern aktiv.

Insofern ist ISATAP zwar nett, wenn es sinnvoll und gewollt eingesetzt wird aber bei den meisten Firmen ist es erst mal störend oder erhöht die Komplexität, kann Firewall-Rregeln umgehen und Daten bandbreitenintensiv über "falsche" Wege routen.

ISATAP auf dem Client

Hinzu kommt natürlich, dass der ein oder andere beim IPCONFIG neben der LAN-Karte, der WiFi-Karte, eventuell einer Bluetooth-Karte manchmal sogar mehrere ISATAP-Adapter findet. In der Regel pro echter Netzwerkkarte noch eine virtuelle Karte. ISATAP kann nicht arbeiten, wenn es per DNS keinen Eintrag findet aber sie können ISATAP auf auf dem PC abschalten.

netsh interface ipv6 isatap set state state=disabled

Wenn Sie die Änderung rückgängig machen wollen, dann geht das mit:

netsh interface ipv6 isatap set state state=enabled

ISATAP und DNS-Blocklist

Achtung:
Ein Windows 2008 DNS Server hat eine Globale DNS Query Block List, die eine Abfrage auf ISATAP eventuell verhindert.
DNS Server Global Query Block List
hhttp://download.microsoft.com/download/5/3/c/53cdc0bf-6609-4841-a7b9-cae98cc2e4a3/dns_server_global_%20query_block%20list.doc

Zum Glück blockiert ein Windows DNS-Server die Veröffentlichung von ISATAP. Zwar kann DA/UAG sich per dynamischen DNS eintragen, aber Anfragen werden vom DNS-Server für den Namen erst mal ignoriert.

Sie müssen also schon mit REGEDIT auf allen DC die Sperre lockern, wenn Sie ISATAP nutzen wollen.

Ich persönlich würde ISATAP in Firmen eher nicht einsetzen wollen. Es mag sein, das ein Internetprovider ihnen so vielleicht schon IPv6 anbietet, obwohl die Zugangsstruktur noch IPv4 ist, aber in Firmen sollten Sie sich eher mit dem korrekten Aufbau einer IPv6 RoutingUmgebung beschäftigen.

Performance

Da der Client den ISATAP-Server anspricht ist die Performance von diesem Server und der Netzwerkstruktur abhängig. Stellen Sie sich vor eine Firma installiert in der Zentrale einen DA-Server der auch ISATAP-Router ist. Nun gibt es einen Client in einer Niederlassung und einen Dateiserver in der gleichen Niederlassung, die beide ISATAP machen. Die beiden Systeme könnten also per IPv4 direkt "lokal" miteinander sprechen. Sie sind aber dank ISATAP auch per IPv6 "direkt" verbunden. Dumm nur dass die Pakete bei der Nutzung von IPv6 natürlich über den ISATAP-Server gehen. Und der ist nur über WAN erreichbar, was die Clients aber nicht wissen. Ungeschickt oder ?

Einsatzbereich

Das erlaubt eine Koexistenz auch wenn das interne Netzwerk noch kein IPV6 durchgängig kann. Allerdings ist ISATAP kein Hilfsmittel, um IPV4-Systeme intern zu erreichen. Der Endpunkt muss immer IPV6 sein. Und da ISATAP von einem gerouteten IPV4-Subnetz ausgeht, ist es nicht für die externe Verbindung mit Clients geeignet.

Wenn Sie ISATAP auf Firewalls blocken wollen, dann können Sie auf der Firewall einfach IP-Protocol 41 blockieren. Damit stoppen Sie aber nicht nur ISATAP sondern auch 6to4 als Tunneltechnologie.
Wer keine Protokollfilter nutzen kann, kann natürlich den angeblichen ISATAP-Server per IPv4-Routing unerreichbar machen.

Weniger hilfreich ist es ISATAP auf dem Client abzuschalten. Das geht natürlich per Gruppenrichtlinie oder per NetSH.

REM Abschalten von ISATAP auf einem Client
netsh int isatap set state disabled

REM Default wieder setzen
netsh int isatap set state default

Aber das ist eher was für einen Test oder in ganz kleinen Umgebungen mit passender Dokumentation.

Weitere Links