Archive for the ‘IPv6’ Category

Arp für IPv6 bzw. wie kann ich zu einer IPv6-Adresse die zugehörige IPv4-Adresse unter Windows ermitteln?

20 März 2017

Wenn man unter aktuellen Windowsversionen z. B. Get-SmbOpenFile verwendet, um z. B. sehen zu können, welcher Benutzer auf welchem Rechner gerade welche Dateien geöffnet hat, so bekommt man dort einen ClientComputername angegeben. Leider wird dieser ClientComputername oft als IPv6-Adresse und nicht als IPv4-Adresse angegeben. Im Grunde ist es ja korrekt alles über IPv6 zu machen aber wir Menschen tun uns halt schwer mit den IPv6-Adressen.

Wie kann man nun aber zu einer IPv6-Adresse die zugehörige IPv4-Adresse im lokalen Netz ermitteln? Ein Aufruf von ARP.EXE zeigt gähnende Leere, denn es zeigt nur IPv4-Adressen an. Einen Parameter –6 oder ARP6.EXE gibt es nicht.

Nun könnte man NETSH.EXE das alte Universaltool rauskramen und mittels

netsh int ipv6 show neigh

die MAC-Adressen zu den MAC-Adressen von der ARP.EXE-Ausgabe in Beziehung setzen. Aber das artet schnell in Arbeit aus.

Hier hilft wie immer Powershell, denn dort gibt es das Get-NetNeighbor-Cmdlet und damit kommt man bei richtiger Anwendung ganz schnell zum Ziel:

PS> Get-NetNeighbor| Group-Object linklayeraddress | where count -eq 2 | select -ExpandProperty group

ifIndex IPAddress                 LinkLayerAddress 
——- ———                 —————- 
3       fe80::41dc:1d58:7d3b:c57b EC-A8-6B-D1-F5-46
3       192.168.100.72            EC-A8-6B-D1-F5-46
3       fe80::1e74:dff:feac:c8d0  1C-74-0D-AC-C8-D0
3       192.168.100.1             1C-74-0D-AC-C8-D0

Hier sieht man schön, dass die passenden IP-Adressen immer durch die MAC-Adresse beieinander gruppiert sind und so schön von der einen auf die andere geschlossen werden kann.

Da wir uns schon wieder bei Powershell befinden, ist es sicher sinnvoll daraus gleich eine Funktion zu machen, welche in Skripten verwendet werden kann.

Function Convert-IPAddress {
[CmdletBinding()]
Param(
  [IPAddress]$IPAdresse
)

$n=Get-NetNeighbor

# Alle IP-Adressen mit MAC-Adressen ermitteln:
$nip = $n|where linklayeraddress -ne ""| sort linklayeraddress

# MAC-Adresse zur gesuchten IP-Adresse ermitteln: 
$nMAC = $nip | where ipaddress -eq $IPAdresse.IPAddressToString
# alle IP-Adressen zur ermittelten MAC holen:
$rip = $nip | where linklayeraddress -eq $nmac.LinkLayerAddress

$rip = $rip| where ipaddress -ne $IPAdresse.IPAddressToString

If ([System.Net.Sockets.AddressFamily]::InterNetworkV6 -eq $IPAdresse.AddressFamily) {
  # von IPv6 nach IPv4, also nur IPv4 zurückgeben
  ($rip | where {([IPAddress]$_.IPAddress).AddressFamily -eq [System.Net.Sockets.AddressFamily]::InterNetwork}).IPAddress
} else {
  If ([System.Net.Sockets.AddressFamily]::InterNetwork -eq $IPAdresse.AddressFamily) {
   # von IPv4 nach IPv6, also nur IPv6 zurückgeben
   ($rip | where {([IPAddress]$_.IPAddress).AddressFamily -eq [System.Net.Sockets.AddressFamily]::InterNetworkV6}).IPAddress
  } 
}
}

Damit kann man nun ganz einfach die IP-Adresse konvertieren:

PS> Convert-IPAddress fe80::1e74:dff:feac:c8d0
192.168.100.1
PS> Convert-IPAddress 192.168.100.1
fe80::1e74:dff:feac:c8d0

Gibt man eine Adresse an, zu der es keine Entsprechung gibt, bekommt man einfach $Null zurück.

Advertisements

Warum schaltet sich dieser verdammte DHCP-Dienst am Windows Server ständig ab? Was hat das mit IPv6 zu tun?

5 Dezember 2016

Irgendwie stand ich gerade auf dem Schlauch und hab mich mit einem Problem länger als nötig beschäftigt um am Ende festzustellen, die Lösung ist logisch und ganz einfach. Es ging los, dass bei einem Kunden der Speedport gegen eine Fritzbox ausgetauscht werden sollte.

Zu Beginn war alles ganz einfach, Internetverbindung war schnell da. Aber dann gab es Probleme im Netz mit den Client-Rechnern nach einem Neustart. Dazu muss man wissen, dass bei der Fritzbox der IPv4-DHCP ausgeschaltet wurde. Egal wie oft man nun am Windows Server den DHCP-Server neu gestartet hat, er funktionierte immer kurz und war dann wieder ausgeschaltet. Sowas kennt man wenn ein zweiter DHCP-Server im Netz ist. Also nochmal auf der Fritzbox versichert, dass der Ipv4-DHCP ausgeschaltet war. Am Ende war nur noch der Server mit dem Client mit der Fritzbox verbunden. Klappte aber immer noch nicht!

Wo schaut man nach, wenn man solche Probleme hat? Richtig, in der Ereignisanzeige. Also kurz nach den DHCP-Server Logs geschaut:

Get-WinEvent -ListLog *dhcp*|select logname

LogName
——-
Microsoft-Windows-Dhcp-Client/Admin
Microsoft-Windows-Dhcp-Client/Operational
Microsoft-Windows-Dhcp-Server/FilterNotifications
Microsoft-Windows-Dhcp-Server/Operational
Microsoft-Windows-DhcpNap/Admin
Microsoft-Windows-DhcpNap/Operational
Microsoft-Windows-Dhcpv6-Client/Admin
Microsoft-Windows-Dhcpv6-Client/Operational

Ah alles klar:

Get-WinEvent -LogName Microsoft-Windows-Dhcp-Server/Operational -MaxEvents 10

TimeCreated                   ProviderName                                             Id Message
———–                   ————                                             — ——-
17.12.2015 12:52:43           Microsoft-Windows-DHCP-Server                           106 Die Rese
17.12.2015 12:52:43           Microsoft-Windows-DHCP-Server                           107 Die Rese
17.12.2015 12:49:25           Microsoft-Windows-DHCP-Server                           106 Die Rese
17.12.2015 12:48:23           Microsoft-Windows-DHCP-Server                           107 Die Rese
25.11.2015 09:12:51           Microsoft-Windows-DHCP-Server                           106 Die Rese
25.11.2015 09:12:24           Microsoft-Windows-DHCP-Server                           107 Die Rese
21.05.2014 14:25:11           Microsoft-Windows-DHCP-Server                           106 Die Rese

Wie 2015? Ich hab aktuell Problem und nicht 2015! Hä? Was geht hier. Auf jeden Fall ist es wie immer man sucht überall aber nicht an der richtigen Stelle!!!!

Irgendwann dachte ich, dass kann nicht sein und klar es war so. Denn man sollte ja auch wegen DHCP-Server Meldungen nicht bei Microsoft-Windows-DHCP-Server schauen sondern unter SYSTEM!!!! Ich könnte so kotzen…

Also mittels

Get-WinEvent -LogName system -MaxEvents 20

TimeCreated                   ProviderName                                             Id Message
———–                   ————                                             — ——-
05.12.2016 14:52:32           Service Control Manager                                7040 Der Starttyp des Diensts "…
05.12.2016 14:50:02           Microsoft-Windows-GroupPolicy                          1500 Die Gruppenrichtlinieneins…
05.12.2016 14:50:01           Microsoft-Windows-GroupPolicy                          1500 Die Gruppenrichtlinieneins…
05.12.2016 14:49:56           Service Control Manager                                7036 Dienst "Windows Modules In…
05.12.2016 14:49:25           Microsoft-Windows-DHCP-Server                          1043 Es wurde festgestellt, das…
05.12.2016 14:49:05           Service Control Manager                                7036 Dienst "DHCP-Server" befin…
05.12.2016 14:49:01           Microsoft-Windows-DHCP-Server                          1056 Der DHCP-Dienst wird auf e…
05.12.2016 14:45:31           Service Control Manager                                7036 Dienst "DHCP-Server" befin…
05.12.2016 14:45:31           Microsoft-Windows-DHCP-Server                          1054 Der DHCP/BINL-Dienst auf d…
05.12.2016 14:45:31           Microsoft-Windows-DHCP-Server                          1053 Der DHCP/BINL-Dienst hat e…
05.12.2016 14:45:19           Service Control Manager                                7036 Dienst "DHCP-Server" befin…
05.12.2016 14:45:15           Microsoft-Windows-DHCP-Server                          1056 Der DHCP-Dienst wird auf e…
05.12.2016 14:45:03           Microsoft-Windows-GroupPolicy                          1500 Die Gruppenrichtlinieneins…

geschaut und hier tauchen dann auch die üblichen Verdächtigen DHCP/BINL-Meldungen auf! Wenn man nun genauer nachschaut, wird es auch offensichtlich:

Get-WinEvent -LogName system -MaxEvents 20| where {$_.id -eq 1053}| ft message -Wrap

Message
——-
Der DHCP/BINL-Dienst hat einen anderen Server mit der IP-Adresse fe80::3a10:d5ff:fe89:bb02 in diesem Netzwerk ermittelt
, der zu der folgenden Domäne gehört: .

Also wo liegt nun das Problem? Warum hab ich oben immer geschrieben, dass ich den IPv4DHCP ausgeschaltet habe? Na klar, weil die Fritzbox auch noch einen IPv6DHCP hat und dieser munter weiter aktiv war. Und da im Netz nunmal unabhängig von IPv4 und IPv6 nur ein DHCP aktiv sein war, hat sich der Windows DHCP-Server immer schneller verabschiedet!

Also Lösung: Entweder IPv6 ganz abschalten oder den IPv6DHCP abschalten! Besser ist natürlich die zweite Variante.

Mal abgesehen davon, dass ich hätte schneller drauf kommen können. ist mir erst durch diese Geschichte wieder aufgefallen, wie inkonsistent die DHCP-Dienst-Sache unter Windowsservern ist. Einfach nur traurig…

Reines IPv6 bei der Deutschen Telekom mittels TeraStream – das Netz der Zukunft

17 September 2016

Durch die aktuelle Beschäftigung mit IPv6 bin ich über eine interessante Geschichte bei der Telekom gestolpert. Bereits in 2011 hat die Telekom angefangen über ein reines IPv6 Netz nachzudenken, ohne IPv4. Das Projekt nennt sich TeraStream. Es wird zwar möglich sein IPv4 zu benutzen aber dies soll die Ausnahme und nicht die Regel sein.

Bereits 2012 wurde dazu in Kroatien und 2014 in Deutschland ein Testnetz hochgezogen. Durch den radikalen Ansatz fallen viele altgediente Protokolle weg. Im Zusammenhang mit TeraStream hört man auch öfter den Begriff NFV Network Function Virtualization. Das Netz ist in einem hohen Grad virtualisiert. Bis 2018 ist das Ziel, es im produktiven Telekomnetz einzusetzen.

Die Telekom hat 2011 in diesem Zusammenhang die Open Networking Foundation (ONF) mitbegründet. Mitglieder sind Facebook, Google, Microsoft, NTT, Verizon und andere. https://www.opennetworking.org/.

Hier ein Youtube Video von Axel Clauberg, wo TeraStream vorstellt: https://www.youtube.com/watch?v=Xhzctd9QXm8. Zum Einsatz kommt OpenStack, wobei es anscheinend auch Probleme gibt und OpenStack nicht in allen Bereichen eingesetzt werden kann.

Hier noch weitere Infos zu TeraStream: https://ripe67.ripe.net/presentations/131-ripe2-2.pdf, https://ripe67.ripe.net/presentations/251-ripe2-4.pdf und http://www.heise.de/netze/meldung/Schoen-entruempeltes-Netz-TeraStream-oder-das-Internet-2020-1980039.html.

Anscheinend ist es aber etwas ruhig, wenn man sich das TelekomLab anschaut: http://www.laboratories.telekom.com/public/english/Pages/results.aspx?k=terastream.

Da die nächsten Jahre IPv4 nicht totzukriegen ist, muss man sich auch damit beschäftigen: Lightweight 4over6 eine DS-Lite Architekturerweiterung. Diese ist notwendig, damit TeraStream IPv4 unterstützen kann! https://tools.ietf.org/html/rfc7596. Ein weiterer wichtiger Baustein ist Snabb (Switch) mit seiner Anwendung IwAFTR für die Unterstützung bei lw4o6, also Lightweight 4 over 6 hilft. Auch Snabb NFV wird von TeraStream verwendet. https://github.com/snabbco/snabb. Damit lw4o6 funktioniert muss DHCPv6 eingesetzt werden und die Geräte beim Kunden müssen damit umgehen können. Hier ein Dokument, welches einige Punkte dazu beschreibt: https://tools.ietf.org/html/draft-ietf-softwire-unified-cpe.

Im Auge behalten muss man auch Tail-f http://www.tail-f.com/ welches  Network Control System (NCS) liefert, einen wichtigen Part bei der TeraStream. Tail-f liefert Tailflow welches sich in OpenFlow integriert. Tail-f ist mittlerweile eine Cisco-Firma.

Im Context von TeraStream sind noch YANG und NETCONF zu nennen. NETCONF ist ein Protokoll um Netzwerke einrichten zu können und YANG ist ein Datenmodell für Netzwerke. https://en.wikipedia.org/wiki/NETCONF und https://en.wikipedia.org/wiki/YANG.

Personen und Namen bei TeraStream: Axel Clauberg, Peter Löthberg und Ian Farrer.

Öffentliche IP-Adresse bei LTE unter T-Mobile

16 September 2016

Wenn mal die Festnetz-Internetleitung ausfällt, dann kann man mit aktuellen Fritzboxen problemlos einen LTE-USB-Stick einstecken und die Einwahl über das LTE-Netz vollziehen. Soweit so gut. Man kann dadurch problemlos wieder ins Internet. Man hat zwar die Möglichkeit zu surfen aber ein Problem tritt auf, wenn man Serverdienste betreiben möchte, denn die T-Mobile vergibt nur Carrier Grade NAT (CGN) Adressen bei den Standardeinstellungen. Dadurch bekommt man zwar eine IPv4-Adresse wie z.B. 10.156.122.56 aber diese ist nur innerhalb des T-Mobile Netzes eindeutig. Dadurch kann man keine Serverdienste auf seinem Rechner betreiben, wie z. B. einen SMTP-Mailserver.

Zum Glück gibt es eine Lösung zum Problem. Man muss den APN was für Access Point Name steht abändern. Im Falle von T-Mobile ist dies:

T-Mobile öffentliche IP-Adresse APN

APN internet.t-d1.de
Benutzer t-mobile
Kennwort tm
Rufnummer (falls notwendig) *99#
Authentifizierungstyp PAP

Damit die Angaben eingetragen werden können muss man in der Regel den Eintrag “Anderer Provider” bei den Zugangsdaten auswählen.

Hier findet man noch viele andere Anregungen für weitere Provider: http://www.lte-anbieter.info/ratgeber/apn/uebersicht.php.

Wichtig, falls es nicht klappt: Es ist offenbar auch vom Tarif abhängig, ob man eine öffentliche IP-Adresse bekommen kann oder nicht!

Das interessante daran ist, dass man sich diesen Aufwand bei IPv6 sparen kann. Wer IPv6 aktiviert hat, bekommt von T-Mobile bereits beim Standard APN automatisch eine globale Unicast-Adresse zugeteilt. Damit ist das jeweilige Gerät bzw. Netz weltweit eindeutig erreichbar und für Server Dienste nutzbar! Man bekommt also eine private IPv4 und eine globale IPv6-Adresse in Kombination. D. h. die IPv4-Adresse lautete 10.156.122.56 und die IPv6-Adresse 2a01:598:90e2:1338:…

Globale Unicast Adressen bei IPv6 sind als 2000::/3 definiert, wobei für Europa (RIPE NCC) der Bereich 2a00::/12 vorgesehen ist, wovon wiederum 2a01:598::/29 für T-Mobile zugeordnet ist. https://stat.ripe.net/2a01%3A598%3A%3A%2F29#tabId=at-a-glance. Der Bereich /29 ist eine Menge Holz! Der Vollständigkeit halber hier noch der Einstieg zur Definition von 2000::/3 http://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml und die Definition der IPv6 Global Unicast Adress Bereiche: http://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.xhtml.

Um sich etwas besser vorstellen zu können, was sich hinter der Angabe von /29 verbirgt, der möchte diese Angabe betrachten:

/29
Start IP: 2a01:598:0:0:0:0:0:0
End IP: 2a01:59f:ffff:ffff:ffff:ffff:ffff:ffff
Addresses: 633825300114114700748351602688
Class: –
Netmask: 255.255.255.248.0.0.0.0.0.0.0.0.0.0.0.0.
Binary: 11111111 11111111 11111111 11111000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Diese Info kann man erhalten, wenn man unter https://www.ultratools.com/tools/ipv6Info die IPv6-Adresse einträgt.

Erklärungen und Erläuterungen zu DNS

2 März 2013

Ein wichtiges Thema, die Namensauflösung mittels DNS. Diese Seite bietet viele gute kurze Erklärungen zum Thema: http://support.simpledns.com/KB/browse.aspx.

Es dreht sich zwar vieles um deren Produkt “Simple DNS Plus”, allerdings werden viele allgemein wichtige Themen angesprochen, wie z. B. DynDNS, DNSSEC, SIP und richtige SPF Konfiguration bei E-Mailservern uvm.

Schneller Einstieg in Teredo

10 Mai 2011

http://dbastas.blogspot.com/2011/01/how-to-use-teredo-protocol-in-windows-7.html

Enthält einige interessante Hinweise:
http://yorickdowne.wordpress.com/2008/01/26/ipv6-at-home-part-1-overview-teredo/